Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / tests / bug-528055.il
1 .assembly extern mscorlib
2 {
3   .ver 2:0:0:0
4   .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
5 }
6 .assembly 'simple_assembly'
7 {
8   .hash algorithm 0x00008004
9   .ver  0:0:0:0
10 }
11
12 .module simple_assembly.exe
13
14 .class sealed public auto ansi beforefieldinit Generic`1<T> 
15 {
16         .method public hidebysig  specialname rtspecialname instance default void '.ctor' ()
17         {
18                 .maxstack 8
19                 ldarg.0 
20                 call instance void object::'.ctor'()
21                 ret 
22         }
23
24         .field public !T a
25         .field public int32 a
26 }
27
28
29 .class sealed public auto ansi beforefieldinit Regular 
30 {
31         .method public hidebysig  specialname rtspecialname instance default void '.ctor' ()
32         {
33                 .maxstack 8
34                 ldarg.0 
35                 call instance void object::'.ctor'()
36                 ret 
37         }
38
39         .field public float32 a
40         .field public int32 a
41 }
42
43 .class public auto ansi beforefieldinit Program
44 {
45         .method public static int32 Main () cil managed 
46         {
47                 .entrypoint
48                 .maxstack 8
49                 .locals init (class Generic`1<float32> V_0, class Regular       V_1)    
50
51                 newobj instance void class Generic`1<float32>::'.ctor'()
52                 stloc.0 
53                 ldloc.0 
54                 ldc.r4 2.
55                 stfld !0 class Generic`1<float32>::a
56                 ldloc.0 
57                 ldc.i4.s 0x0a
58                 stfld int32 class Generic`1<float32>::a
59                 ldloc.0 
60                 ldfld !0 class Generic`1<float32>::a
61                 ldc.r4 2.
62                 beq TEST_2
63
64                 ldc.i4.1 
65                 ret
66 TEST_2:
67                 ldloc.0 
68                 ldfld int32 class Generic`1<float32>::a
69                 ldc.i4.s 0x0a
70                 beq TEST_3
71
72                 ldc.i4.2 
73                 ret
74 TEST_3:
75                 newobj instance void class Regular::'.ctor'()
76                 stloc.1 
77                 ldloc.1 
78                 ldc.r4 2.
79                 stfld float32 Regular::a
80                 ldloc.1 
81                 ldc.i4.s 0x0a
82                 stfld int32 Regular::a
83                 ldloc.1 
84                 ldfld float32 Regular::a
85                 ldc.r4 2.
86                 beq TEST_4
87
88                 ldc.i4.3 
89                 ret
90 TEST_4:
91                 ldloc.1
92                 ldfld int32 Regular::a
93                 ldc.i4.s 0x0a
94                 beq GOOD
95
96                 ldc.i4.4 
97                 ret 
98 GOOD:
99                 ldc.i4.0 
100                 ret     
101         }
102 }
103