Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-579.cs
1 // Compiler options: -warnaserror
2
3 public class TestCase
4 {
5         public static int Main ()
6         {
7                 if (Test1 () != 0)
8                         return 1;
9
10                 if (Test2 () != 0)
11                         return 2;
12
13                 return 0;
14         }
15
16         static int Test1 ()
17         {
18                 int i = 0;
19                 {
20                         goto A;
21                         A:
22                                 i += 3;
23                 }
24                 {
25                         goto A;
26                         A:
27                                 i *= 4;
28                 }
29                 
30                 if (i != 12)
31                         return 1;
32                         
33                 return 0;
34         }
35
36         static int Test2 ()
37         {
38                 int i = 0;
39
40                 while (true) {
41                         {
42                                 goto A;
43                                 A:
44                                         i += 3;
45                                 break;
46                         }
47                 }
48
49                 if (i != 3)
50                         return 1;
51
52                 return 0;
53         }
54
55         static int Test3 ()
56         {
57                 int i = 0;
58
59                 do {
60                         {
61                                 goto A;
62                                 A:
63                                         i += 3;
64                                 goto X;
65                                 X:
66                                 break;
67                         }
68 #pragma warning disable 162, 429
69                 } while (i > 0);
70 #pragma warning restore 162, 429
71                 
72                 if (i != 3)
73                         return 1;
74
75                 return 0;
76         }
77 }