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[] = "SEH0049.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 Counter += 100; 21 break; 22 case 1: 23 try { 24 try { 25 if ((Index1 & 0x1) == 1) { 26 /* set counter to 1 */ 27 Counter += 1; 28 } 29 } 30 finally { 31 /* set counter to 3 */ 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 get here due to break */ 42 Counter += 4; 43 } 44 finally { 45 /* set counter to 8 */ 46 Counter += 5; 47 } 48 endtry 49 /* never get hre due to break */ 50 Counter += 6; 51 } 52 53 if (Counter != 8) { 54 printf("TEST 49 FAILED. Counter = %d\n\r", Counter); 55 return -1; 56 } 57 58 return 0; 59 } 60