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[] = "SEH0048.c";
9 
10 int main() {
11   ULONG Index1;
12   ULONG Index2 = 1;
13   LONG Counter;
14 
15   Counter = 0;
16   Index1 = 1;
17 
18   switch (Index2) {
19   case 0:
20     /* never gets here, Index2 is 2 */
21     Counter += 100;
22     break;
23   case 1:
24     try {
25       if ((Index1 & 0x1) == 1) {
26         /* set counter to 1 */
27         Counter += 1;
28       }
29     }
30     finally {
31       /* ste counter to 3 and rbeak out of switch */
32       Counter += 2;
33 #if defined(_MSC_VER) && !defined(__clang__)
34       break;
35 #endif
36     }
37     endtry
38 #ifndef _MSC_VER
39     break;
40 #endif
41     /* never gets here due to break */
42     Counter += 4;
43   }
44 
45   if (Counter != 3) {
46     printf("TEST 48 FAILED. Counter = %d\n\r", Counter);
47     return -1;
48   }
49 
50   return 0;
51 }
52