X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMono.Debugger.Soft%2FTest%2Fdtest-app.cs;h=e72069f0cab17d186e6e5fa9f8fe655e2a7d26ae;hb=5ad1099341581dee94f77b32db728918e90fa64f;hp=d525b684bf159174732db8ee23edcee288e7b6bd;hpb=0b3c3126ea203240ba9864ab9082c44935f32f4f;p=mono.git diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs b/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs index d525b684bf1..e72069f0cab 100644 --- a/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs +++ b/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs @@ -359,6 +359,9 @@ public class Tests : TestsBase, ITest2 ss7 (); ss_nested (); ss_regress_654694 (); + ss_step_through (); + ss_recursive (1); + ss_fp_clobber (); } [MethodImplAttribute (MethodImplOptions.NoInlining)] @@ -452,6 +455,52 @@ public class Tests : TestsBase, ITest2 public static void ss_nested_3 () { } + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void ss_step_through () { + step_through_1 (); + StepThroughClass.step_through_2 (); + step_through_3 (); + } + + [DebuggerStepThrough] + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void step_through_1 () { + } + + [DebuggerStepThrough] + class StepThroughClass { + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void step_through_2 () { + } + } + + [DebuggerStepThrough] + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void step_through_3 () { + } + + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void ss_recursive (int n) { + if (n == 10) + return; + ss_recursive (n + 1); + } + + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void ss_fp_clobber () { + double v = ss_fp_clobber_1 (5.0); + ss_fp_clobber_2 (v); + } + + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static double ss_fp_clobber_1 (double d) { + return d + 2.0; + } + + [MethodImplAttribute (MethodImplOptions.NoInlining)] + public static void ss_fp_clobber_2 (double d) { + } + [MethodImplAttribute (MethodImplOptions.NoInlining)] public static bool is_even (int i) { return i % 2 == 0; @@ -564,8 +613,9 @@ public class Tests : TestsBase, ITest2 [MethodImplAttribute (MethodImplOptions.NoInlining)] public static void locals () { string s = null; + var astruct = new AStruct () { i = 42 }; locals1 (null); - locals2 (null, 5, "ABC", ref s); + locals2 (null, 5, "ABC", ref s, ref astruct); locals3 (); locals6 (); locals7 (22); @@ -591,7 +641,7 @@ public class Tests : TestsBase, ITest2 #if NET_4_5 [StateMachine (typeof (int))] #endif - public static void locals2 (string[] args, int arg, T t, ref string rs) { + public static void locals2 (string[] args, int arg, T t, ref string rs, ref AStruct astruct) { long i = 42; string s = "AB"; @@ -600,6 +650,7 @@ public class Tests : TestsBase, ITest2 i ++; if (t != null) i ++; + astruct = new AStruct (); } rs = "A"; } @@ -869,6 +920,15 @@ public class Tests : TestsBase, ITest2 throw new OverflowException (); } catch (Exception) { } + // no subclasses + try { + throw new OverflowException (); + } catch (Exception) { + } + try { + throw new Exception (); + } catch (Exception) { + } object o = null; try {