return isnan (f) ? 1 : 0;
}
- struct FooStruct {
+ static int first_is_zero (int v1, int v2) {
+ if (v1 != 0)
+ return -1;
+ return v2;
+ }
+ static int test_1_handle_dup_stloc () {
+ int index = 0;
+ int val = first_is_zero (index, ++index);
+ if (val != 1)
+ return 2;
+ return 1;
+ }
- public FooStruct (long l) {
- }
+ static long return_5low () {
+ return 5;
+ }
+
+ static long return_5high () {
+ return 0x500000000;
}
- static int test_0_calls_opcode_emulation () {
- // Test that emulated opcodes do not clobber arguments already in
- // out registers
- checked {
- long val = 10000;
- new FooStruct (val * 10000);
- }
+ public static int test_3_long_ret () {
+ long val = return_5low ();
+ return (int) (val - 2);
+ }
+
+ public static int test_1_long_ret2 () {
+ long val = return_5high ();
+ if (val > 0xffffffff)
+ return 1;
+ return 0;
+ }
+
+ static void doit (double value, out long m) {
+ m = (long) value;
+ }
+
+ public static int test_0_ftol_clobber () {
+ long m;
+ doit (1.3, out m);
+ if (m != 1)
+ return 2;
return 0;
}