ReactOS  0.4.15-dev-5112-g22d8c0f
seh0016.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 
8 char test[] = "SEH0016.c";
9 
11  RaiseException(Status, 0, /*no flags*/ 0, 0);
12  return;
13 }
14 
15 int main() {
16  LONG Counter;
17 
18  Counter = 0;
19 
20  try {
21  try {
22  try {
23  /* set counter = 1 and raise exception */
24  Counter += 1;
26  }
27  except(1) {
28  /* set counter = 2 */
29  Counter += 1;
30  goto t11; /* can't jump into the body of a try/finally */
31  }
32  endtry
33  }
34  finally {
35  /* set counter = 3 */
36  Counter += 1;
37  }
38  endtry
39 
40  t11:
41  ;
42  }
43  finally {
44  /* set counter = 4 */
45  Counter += 1;
46  }
47  endtry
48 
49  if (Counter != 4) {
50  printf("TEST 16 FAILED. Counter = %d\n\r", Counter);
51  return -1;
52  }
53 
54  return 0;
55 }
#define endtry
Definition: seh.h:24
void rtlRaiseExceptin(DWORD Status)
Definition: seh0016.c:10
#define EXCEPTION_INT_OVERFLOW
Definition: winbase.h:321
long LONG
Definition: pedump.c:60
Status
Definition: gdiplustypes.h:24
#define printf
Definition: freeldr.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
char test[]
Definition: seh0016.c:8
#define except(x)
Definition: btrfs_drv.h:136
int main()
Definition: seh0016.c:15
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:700
static LARGE_INTEGER Counter
Definition: clock.c:43