X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fexceptions.cs;h=1e3ded9587a7d63ff7bdf25ad5024fc446fe7cb4;hb=56247cecbdce6dc3a14228541bbb7515634f099b;hp=c7b10b3a4c1517217b7c56e798bf9379bced451c;hpb=1b6292607cf62656e9e5d4f0f16cdbb57c08bc0b;p=mono.git diff --git a/mono/mini/exceptions.cs b/mono/mini/exceptions.cs index c7b10b3a4c1..1e3ded9587a 100644 --- a/mono/mini/exceptions.cs +++ b/mono/mini/exceptions.cs @@ -1427,6 +1427,7 @@ class Tests return 0; } + [Category ("!WASM")] // reported as https://github.com/kripken/emscripten/issues/5603 public static int test_0_simple_double_casts () { double d = 0xffffffff; @@ -1462,7 +1463,6 @@ class Tests return 0; } - [Category ("NaClDisable")] public static int test_0_div_zero () { int d = 1; int q = 0; @@ -1633,7 +1633,6 @@ class Tests return 0; } - [Category ("NaClDisable")] public static int test_0_long_div_zero () { long d = 1; long q = 0; @@ -2318,7 +2317,6 @@ class Tests Console.WriteLine (); } - [Category ("!INTERPRETER")] [Category ("!BITCODE")] public static int test_0_rethrow_stacktrace () { // Check that rethrowing an exception preserves the original stack trace @@ -2872,6 +2870,7 @@ class Tests } } + [Category ("!BITCODE")] public static int test_1_basic_filter_catch () { try { MyException e = new MyException (""); @@ -2883,6 +2882,7 @@ class Tests return 0; } + [Category ("!BITCODE")] public static int test_1234_complicated_filter_catch () { string res = "init"; try { @@ -2912,6 +2912,27 @@ class Tests // Console.WriteLine ("res2: " + res); return "outerFinally_fwos_fromFilter_2ndcatch_innerFinally_init" == res ? 1234 : 0; } + + public struct FooStruct + { + public long Part1 { get; } + public long Part2 { get; } + + public byte Part3 { get; } + } + + [MethodImpl( MethodImplOptions.NoInlining )] + private static bool ExceptionFilter( byte x, FooStruct item ) => true; + + [Category ("!BITCODE")] + public static int test_0_filter_caller_area () { + try { + throw new Exception(); + } + catch (Exception) when (ExceptionFilter (default(byte), default (FooStruct))) { + } + return 0; + } } #if !__MOBILE__