1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for
3 // full license information.
4 
5 #include <windows.h>
6 #include "seh.h"
7 
8 char test[] = "seh0054.c";
9 
10 LONG Echo(LONG Value) { return Value; }
11 
12 int main() {
13   LONG Counter;
14 
15   Counter = 0;
16 
17   try {
18     try {
19       if (Echo(Counter) == Counter) {
20         Counter += 3;
21         leave;
22 
23       } else {
24         Counter += 100;
25       }
26     }
27     finally {
28       if (abnormal_termination() == FALSE) {
29         Counter += 5;
30       }
31     }
32     endtry
33 
34     if (Echo(Counter) == Counter) {
35       Counter += 3;
36       leave;
37 
38     } else {
39       Counter += 100;
40     }
41   }
42   finally {
43     if (abnormal_termination() == FALSE) {
44       Counter += 5;
45     }
46   }
47   endtry
48 
49   if (Counter != 16) {
50     printf("TEST 54 FAILED, Counter = %d\n", Counter);
51     return -1;
52   }
53 
54   return 0;
55 }
56