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