ReactOS 0.4.16-dev-334-g4d9f67c
seh0042.c
Go to the documentation of this file.
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
8char test[] = "SEH0042.c";
9
10int main() {
11 ULONG Index1;
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}
#define printf
Definition: freeldr.h:97
long LONG
Definition: pedump.c:60
char test[]
Definition: seh0042.c:8
int main()
Definition: seh0042.c:10
#define endtry
Definition: seh.h:24
static LARGE_INTEGER Counter
Definition: clock.c:43
uint32_t ULONG
Definition: typedefs.h:59