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[] = "SEH0042.c"; 9 main()10int main() { 11 ULONG Index1; 12 LONG Counter; 13 14 Counter = 0; 15 16 for (Index1 = 0; Index1 < 10; Index1 += 1) { 17 try { 18 try { 19 if ((Index1 & 0x1) == 1) { 20 /* 21 * never gets here, break in finally 22 * when Index1 is 0 23 */ 24 Counter += 1; 25 } 26 } 27 finally { 28 /* set counter = 2 */ 29 Counter += 2; 30 #if defined(_MSC_VER) && !defined(__clang__) 31 break; 32 #endif 33 } 34 endtry 35 #ifndef _MSC_VER 36 break; 37 #endif 38 /* never gets here */ 39 Counter += 4; 40 } 41 finally { 42 /* adds 5 to counter while unwinding from "break" */ 43 Counter += 5; 44 } 45 endtry 46 Counter += 6; 47 } 48 49 if (Counter != 7) { 50 printf("TEST 42 FAILED. Counter = %d\n\r", Counter); 51 return -1; 52 } 53 54 return 0; 55 } 56