[mcs] Add codegen for null operator on result of awaited instance expression of prope...
[mono.git] / mcs / tests / gtest-289.cs
index c32b3babc0163abf1d4181f957882ffd4b343056..96304364b52f75621a5500ebbe5d31f0905b1805 100644 (file)
@@ -1,62 +1,66 @@
-// Compiler options: -optimize+\r
-\r
-using System;\r
-using System.Reflection;\r
-\r
-enum E\r
-{\r
-}\r
-\r
-delegate void D();\r
-\r
-class C {\r
-       public C () {}\r
-\r
-       int i = default (int);\r
-       double d = default (double);\r
-       char c = default (char);\r
-       bool b = default (bool);\r
-       decimal dec2 = default (decimal);\r
-       object o = default (object);\r
-       ValueType BoolVal = default (ValueType);\r
-       E e = default (E);\r
-               \r
-       int[] a_i = default(int[]);\r
-       object[] a_o = default(object[]);\r
-       ValueType[] a_v = default(ValueType[]);\r
-\r
-       event D Ev1 = default(D);\r
-}\r
-\r
-class Consts\r
-{\r
-       const int i = default (int);\r
-       const double d = default (double);\r
-       const char c = default (char);\r
-       const bool b = default (bool);\r
-       const decimal dec2 = default (decimal);\r
-       const object o = default (object);\r
-       const ValueType BoolVal = default (ValueType);\r
-       const E e = default (E);\r
-               \r
-       const int[] a_i = default(int[]);\r
-       const object[] a_o = default(object[]);\r
-       const ValueType[] a_v = default(ValueType[]);\r
-}\r
-\r
-class Test\r
-{\r
-       static int Main ()\r
-       {\r
-               ConstructorInfo mi = typeof(C).GetConstructors ()[0];\r
-        MethodBody mb = mi.GetMethodBody();\r
-               \r
-               if (mb.GetILAsByteArray ().Length != 7) {\r
-                       Console.WriteLine("Optimization failed");\r
-                       return 3;\r
-               }\r
-                       \r
-               Console.WriteLine ("OK");\r
-               return 0;\r
-       }\r
+// Compiler options: -optimize+
+
+using System;
+using System.Reflection;
+
+enum E
+{
+}
+
+delegate void D();
+
+class C {
+       public C () {}
+
+       int i = default (int);
+       double d = default (double);
+       char c = default (char);
+       bool b = default (bool);
+       decimal dec2 = default (decimal);
+       object o = default (object);
+       ValueType BoolVal = default (ValueType);
+       E e = default (E);
+               
+       int[] a_i = default(int[]);
+       object[] a_o = default(object[]);
+       ValueType[] a_v = default(ValueType[]);
+
+       event D Ev1 = default(D);
+}
+
+class Consts
+{
+       const int i = default (int);
+       const double d = default (double);
+       const char c = default (char);
+       const bool b = default (bool);
+       const decimal dec2 = default (decimal);
+       const object o = default (object);
+       const ValueType BoolVal = default (ValueType);
+       const E e = default (E);
+               
+       const int[] a_i = default(int[]);
+       const object[] a_o = default(object[]);
+       const ValueType[] a_v = default(ValueType[]);
+}
+
+class Test
+{
+       public static int Main ()
+       {
+               ConstructorInfo mi = typeof(C).GetConstructors ()[0];
+        MethodBody mb = mi.GetMethodBody();
+               
+               if (mb.GetILAsByteArray ().Length != 7) {
+                       Console.WriteLine("Optimization failed");
+                       return 3;
+               }
+
+               bool b = default (DateTime?) == default (DateTime?);
+               if (!b)
+                       return 19;
+               
+               Console.WriteLine ("OK");
+               return 0;
+       }
 }
\ No newline at end of file