ReactOS  0.4.15-dev-1632-g4e289ce
vcatch.cpp File Reference
#include <stdio.h>
#include <malloc.h>
Include dependency graph for vcatch.cpp:

Go to the source code of this file.

Functions

 __declspec (align(64)) struct X
 
void t (char *c)
 
bool f ()
 
int main ()
 

Function Documentation

◆ __declspec()

__declspec ( align(64)  )

Definition at line 11 of file vcatch.cpp.

12 {
13  X() : x(3) { }
14  ~X() { }
15  volatile int x;
16 };
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define X(b, s)

◆ f()

bool f ( )

Definition at line 24 of file vcatch.cpp.

25 {
26  char * buf = (char *) _alloca(10);
27  X x;
28  volatile bool caught = false;
29 
30  try
31  {
32  t(buf);
33  }
34  catch(int)
35  {
36  caught = true;
37  x.x = 2;
38  }
39 
40  return caught;
41 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
void t(char *c)
Definition: vcatch.cpp:18

Referenced by main().

◆ main()

int main ( void  )

Definition at line 43 of file vcatch.cpp.

44 {
45  bool result = false;
46 
47  __try {
48  result = f();
49  }
50  __except(1)
51  {
52  printf("ERROR - Unexpectedly caught an exception\n");
53  }
54 
55  printf(result ? "passed\n" : "failed\n");
56  return result ? 0 : -1;
57 }
GLuint64EXT * result
Definition: glext.h:11304
bool f()
Definition: vcatch.cpp:24
#define printf
Definition: config.h:203

◆ t()

void t ( char c)

Definition at line 18 of file vcatch.cpp.

19 {
20  c[4] = 'a';
21  throw 123;
22 }
const GLubyte * c
Definition: glext.h:8905

Referenced by f().