ReactOS  0.4.15-dev-2738-gbe65a85
ehframes.cpp File Reference
#include <stdio.h>
#include <malloc.h>
Include dependency graph for ehframes.cpp:

Go to the source code of this file.

Classes

struct  SmallObj
 
struct  BigObj
 

Macros

#define ALIGN   64
 

Functions

int TestFunc (int,...)
 
int Simple (int arg)
 
int Try (int arg)
 
int GSCookie (int arg)
 
int TryAndGSCookie (int arg)
 
int Align (int arg)
 
int TryAndAlign (int arg)
 
int GSCookieAndAlign (int arg)
 
int TryAndGSCookieAndAlign (int arg)
 
int Alloca (int arg)
 
int TryAndAlloca (int arg)
 
int GSCookieAndAlloca (int arg)
 
int TryAndGSCookieAndAlloca (int arg)
 
int AlignAndAlloca (int arg)
 
int TryAndAlignAndAlloca (int arg)
 
int GSCookieAndAlignAndAlloca (int arg)
 
int TryAndGSCookieAndAlignAndAlloca (int arg)
 
int BigLocals (int arg)
 
int TryAndBigLocals (int arg)
 
int GSCookieAndBigLocals (int arg)
 
int TryAndGSCookieAndBigLocals (int arg)
 
int AlignAndBigLocals (int arg)
 
int TryAndAlignAndBigLocals (int arg)
 
int GSCookieAndAlignAndBigLocals (int arg)
 
int TryAndGSCookieAndAlignAndBigLocals (int arg)
 
int AllocaAndBigLocals (int arg)
 
int TryAndAllocaAndBigLocals (int arg)
 
int GSCookieAndAllocaAndBigLocals (int arg)
 
int TryAndGSCookieAndAllocaAndBigLocals (int arg)
 
int AlignAndAllocaAndBigLocals (int arg)
 
int TryAndAlignAndAllocaAndBigLocals (int arg)
 
int GSCookieAndAlignAndAllocaAndBigLocals (int arg)
 
int TryAndGSCookieAndAlignAndAllocaAndBigLocals (int arg)
 
 __declspec (noinline) int TestFunc(int
 
void RunTests ()
 
int main ()
 

Variables

int failures
 
int global
 
bool TestFuncThrows
 

Macro Definition Documentation

◆ ALIGN

#define ALIGN   64

Definition at line 15 of file ehframes.cpp.

Function Documentation

◆ __declspec()

◆ Align()

int Align ( int  arg)

Definition at line 89 of file ehframes.cpp.

90 {
92  int res = 0;
93  __declspec(align(ALIGN)) double d[4];
94  SmallObj f;
95  return TestFunc(1, d, &f, &res, &arg);
96 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by ExAllocateCacheAwareRundownProtection(), ExInitializeRundownProtectionCacheAware(), FlatBuf_Arg_CopyMemory(), FlatBuf_Arg_Reserve(), FlatBuf_Arg_WriteString(), PnpDecodeIoPort(), PnpDecodeMemory16(), PnpDecodeMemory32(), RunTests(), and WsBufferAllocate().

◆ AlignAndAlloca()

int AlignAndAlloca ( int  arg)

Definition at line 181 of file ehframes.cpp.

182 {
184  int res = 0;
185  __declspec(align(ALIGN)) double d[4];
186  SmallObj f;
187  return TestFunc(1, d, _alloca(global), &f, &res, &arg);
188 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ AlignAndAllocaAndBigLocals()

int AlignAndAllocaAndBigLocals ( int  arg)

Definition at line 367 of file ehframes.cpp.

368 {
370  int res = 0;
371  __declspec(align(ALIGN)) double d[4];
372  BigObj f1;
373  return TestFunc(1, d, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
374 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ AlignAndBigLocals()

int AlignAndBigLocals ( int  arg)

Definition at line 275 of file ehframes.cpp.

276 {
278  int res = 0;
279  __declspec(align(ALIGN)) double d[4];
280  BigObj f1;
281  return TestFunc(1, d, &f1, &res, &res, &res, &res, &res, &arg);
282 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ Alloca()

int Alloca ( int  arg)

Definition at line 137 of file ehframes.cpp.

138 {
140  int res = 0;
141  SmallObj f;
142  return TestFunc(1, _alloca(global), &f, &res, &arg);
143 }
int global
Definition: ehframes.cpp:22
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ AllocaAndBigLocals()

int AllocaAndBigLocals ( int  arg)

Definition at line 323 of file ehframes.cpp.

324 {
326  int res = 0;
327  BigObj f1;
328  return TestFunc(1, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
329 }
int global
Definition: ehframes.cpp:22
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ BigLocals()

int BigLocals ( int  arg)

Definition at line 231 of file ehframes.cpp.

232 {
234  int res = 0;
235  BigObj f1;
236  return TestFunc(1, &f1, &res, &res, &res, &res, &res, &arg);
237 }
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ GSCookie()

int GSCookie ( int  arg)

Definition at line 66 of file ehframes.cpp.

67 {
69  int res = 0;
70  char buf[16];
71  SmallObj f;
72  return TestFunc(1, buf, &f, &res, &arg);
73 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ GSCookieAndAlign()

int GSCookieAndAlign ( int  arg)

Definition at line 112 of file ehframes.cpp.

113 {
115  int res = 0;
116  char buf[16];
117  __declspec(align(ALIGN)) double d[4];
118  SmallObj f;
119  return TestFunc(1, buf, d, &f, &res, &arg);
120 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ GSCookieAndAlignAndAlloca()

int GSCookieAndAlignAndAlloca ( int  arg)

Definition at line 204 of file ehframes.cpp.

205 {
207  int res = 0;
208  char buf[16];
209  __declspec(align(ALIGN)) double d[4];
210  SmallObj f;
211  return TestFunc(1, buf, d, _alloca(global), &f, &res, &arg);
212 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ GSCookieAndAlignAndAllocaAndBigLocals()

int GSCookieAndAlignAndAllocaAndBigLocals ( int  arg)

Definition at line 390 of file ehframes.cpp.

391 {
393  int res = 0;
394  char buf[16];
395  __declspec(align(ALIGN)) double d[4];
396  BigObj f1;
397  return TestFunc(1, buf, d, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
398 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ GSCookieAndAlignAndBigLocals()

int GSCookieAndAlignAndBigLocals ( int  arg)

Definition at line 298 of file ehframes.cpp.

299 {
301  int res = 0;
302  char buf[16];
303  __declspec(align(ALIGN)) double d[4];
304  BigObj f1;
305  return TestFunc(1, buf, d, &f1, &res, &res, &res, &res, &res, &arg);
306 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ GSCookieAndAlloca()

int GSCookieAndAlloca ( int  arg)

Definition at line 158 of file ehframes.cpp.

159 {
161  int res = 0;
162  char buf[16];
163  SmallObj f;
164  return TestFunc(1, buf, _alloca(global), &f, &res, &arg);
165 }
int global
Definition: ehframes.cpp:22
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ GSCookieAndAllocaAndBigLocals()

int GSCookieAndAllocaAndBigLocals ( int  arg)

Definition at line 344 of file ehframes.cpp.

345 {
347  int res = 0;
348  char buf[16];
349  BigObj f1;
350  return TestFunc(1, buf, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
351 }
int global
Definition: ehframes.cpp:22
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ GSCookieAndBigLocals()

int GSCookieAndBigLocals ( int  arg)

Definition at line 252 of file ehframes.cpp.

253 {
255  int res = 0;
256  char buf[16];
257  BigObj f1;
258  return TestFunc(1, buf, &f1, &res, &res, &res, &res, &res, &arg);
259 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ main()

int main ( void  )

Definition at line 529 of file ehframes.cpp.

530 {
531  __try
532  {
533  RunTests();
534  }
535  __except (1)
536  {
537  puts("ERROR - Unexpectedly caught an exception");
538  ++failures;
539  }
540 
541  if (failures)
542  {
543  printf("Test failed with %d failure%s\n",
544  failures, failures == 1 ? "" : "s");
545  }
546  else
547  {
548  puts("Test passed");
549  }
550 
551  return failures;
552 }
void RunTests()
Definition: ehframes.cpp:427
int puts(const char *string)
Definition: crtsupp.c:23
int failures
Definition: ehframes.cpp:20
#define printf
Definition: config.h:203

◆ RunTests()

void RunTests ( )

Definition at line 427 of file ehframes.cpp.

428 {
429  puts("Test pass 1 - no throws");
430 
431  try
432  {
433  Simple(1);
434  Try(1);
435  GSCookie(1);
436  TryAndGSCookie(1);
437  Align(1);
438  TryAndAlign(1);
439  GSCookieAndAlign(1);
441  Alloca(1);
442  TryAndAlloca(1);
445  AlignAndAlloca(1);
449  BigLocals(1);
450  TryAndBigLocals(1);
465  }
466  catch (...)
467  {
468  puts("ERROR - throw not expected");
469  ++failures;
470  }
471 
472  puts("Test pass 2 - throws");
473 
474  for (int i = 0; i < 32; ++i)
475  {
476  TestFuncThrows = true;
477  bool caught = false;
478  try
479  {
480  switch (i)
481  {
482  case 0: Simple(1); break;
483  case 1: Try(1); break;
484  case 2: GSCookie(1); break;
485  case 3: TryAndGSCookie(1); break;
486  case 4: Align(1); break;
487  case 5: TryAndAlign(1); break;
488  case 6: GSCookieAndAlign(1); break;
489  case 7: TryAndGSCookieAndAlign(1); break;
490  case 8: Alloca(1); break;
491  case 9: TryAndAlloca(1); break;
492  case 10: GSCookieAndAlloca(1); break;
493  case 11: TryAndGSCookieAndAlloca(1); break;
494  case 12: AlignAndAlloca(1); break;
495  case 13: TryAndAlignAndAlloca(1); break;
496  case 14: GSCookieAndAlignAndAlloca(1); break;
497  case 15: TryAndGSCookieAndAlignAndAlloca(1); break;
498  case 16: BigLocals(1); break;
499  case 17: TryAndBigLocals(1); break;
500  case 18: GSCookieAndBigLocals(1); break;
501  case 19: TryAndGSCookieAndBigLocals(1); break;
502  case 20: AlignAndBigLocals(1); break;
503  case 21: TryAndAlignAndBigLocals(1); break;
504  case 22: GSCookieAndAlignAndBigLocals(1); break;
505  case 23: TryAndGSCookieAndAlignAndBigLocals(1); break;
506  case 24: AllocaAndBigLocals(1); break;
507  case 25: TryAndAllocaAndBigLocals(1); break;
508  case 26: GSCookieAndAllocaAndBigLocals(1); break;
509  case 27: TryAndGSCookieAndAllocaAndBigLocals(1); break;
510  case 28: AlignAndAllocaAndBigLocals(1); break;
511  case 29: TryAndAlignAndAllocaAndBigLocals(1); break;
512  case 30: GSCookieAndAlignAndAllocaAndBigLocals(1); break;
514  }
515  }
516  catch (int)
517  {
518  caught = true;
519  }
520 
521  if (!caught)
522  {
523  puts("ERROR - did not catch expected thrown object");
524  ++failures;
525  }
526  }
527 }
int GSCookie(int arg)
Definition: ehframes.cpp:66
int Try(int arg)
Definition: ehframes.cpp:53
int GSCookieAndAlloca(int arg)
Definition: ehframes.cpp:158
int TryAndGSCookieAndAlignAndAlloca(int arg)
Definition: ehframes.cpp:214
int Align(int arg)
Definition: ehframes.cpp:89
int TryAndAlignAndAlloca(int arg)
Definition: ehframes.cpp:190
int BigLocals(int arg)
Definition: ehframes.cpp:231
int TryAndGSCookieAndAlloca(int arg)
Definition: ehframes.cpp:167
int TryAndGSCookieAndAlignAndBigLocals(int arg)
Definition: ehframes.cpp:308
int GSCookieAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:344
int AlignAndBigLocals(int arg)
Definition: ehframes.cpp:275
int TryAndGSCookie(int arg)
Definition: ehframes.cpp:75
int GSCookieAndAlignAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:390
int TryAndGSCookieAndAlign(int arg)
Definition: ehframes.cpp:122
int TryAndGSCookieAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:353
int Simple(int arg)
Definition: ehframes.cpp:45
int GSCookieAndAlign(int arg)
Definition: ehframes.cpp:112
int AlignAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:367
int TryAndAlloca(int arg)
Definition: ehframes.cpp:145
bool TestFuncThrows
Definition: ehframes.cpp:23
int AlignAndAlloca(int arg)
Definition: ehframes.cpp:181
int puts(const char *string)
Definition: crtsupp.c:23
int TryAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:331
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
int GSCookieAndAlignAndBigLocals(int arg)
Definition: ehframes.cpp:298
int GSCookieAndBigLocals(int arg)
Definition: ehframes.cpp:252
int GSCookieAndAlignAndAlloca(int arg)
Definition: ehframes.cpp:204
int TryAndGSCookieAndAlignAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:400
int TryAndAlignAndAllocaAndBigLocals(int arg)
Definition: ehframes.cpp:376
int failures
Definition: ehframes.cpp:20
int AllocaAndBigLocals(int arg)
Definition: ehframes.cpp:323
int TryAndGSCookieAndBigLocals(int arg)
Definition: ehframes.cpp:261
int TryAndAlignAndBigLocals(int arg)
Definition: ehframes.cpp:284
int Alloca(int arg)
Definition: ehframes.cpp:137
int TryAndBigLocals(int arg)
Definition: ehframes.cpp:239
int TryAndAlign(int arg)
Definition: ehframes.cpp:98

Referenced by main().

◆ Simple()

int Simple ( int  arg)

Definition at line 45 of file ehframes.cpp.

46 {
48  int res = 0;
49  SmallObj f;
50  return TestFunc(1, &f, &res, &arg);
51 }
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TestFunc()

◆ Try()

int Try ( int  arg)

Definition at line 53 of file ehframes.cpp.

54 {
56  int res = 0;
57  SmallObj f;
58  try {
59  res = TestFunc(1, &f, &res, &arg);
60  } catch (double) {
61  res = TestFunc(2, &f, &res, &arg);
62  }
63  return res;
64 }
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by DisplayStatus(), RunTests(), and StartThread().

◆ TryAndAlign()

int TryAndAlign ( int  arg)

Definition at line 98 of file ehframes.cpp.

99 {
101  int res = 0;
102  __declspec(align(ALIGN)) double d[4];
103  SmallObj f;
104  try {
105  res = TestFunc(1, d, &f, &res, &arg);
106  } catch (double) {
107  res = TestFunc(2, d, &f, &res, &arg);
108  }
109  return res;
110 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndAlignAndAlloca()

int TryAndAlignAndAlloca ( int  arg)

Definition at line 190 of file ehframes.cpp.

191 {
193  int res = 0;
194  __declspec(align(ALIGN)) double d[4];
195  SmallObj f;
196  try {
197  res = TestFunc(1, d, _alloca(global), &f, &res, &arg);
198  } catch (double) {
199  res = TestFunc(2, d, &f, &res, &arg);
200  }
201  return res;
202 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndAlignAndAllocaAndBigLocals()

int TryAndAlignAndAllocaAndBigLocals ( int  arg)

Definition at line 376 of file ehframes.cpp.

377 {
379  int res = 0;
380  __declspec(align(ALIGN)) double d[4];
381  BigObj f1;
382  try {
383  res = TestFunc(1, d, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
384  } catch (double) {
385  res = TestFunc(2, d, &f1, &res, &res, &res, &res, &res, &arg);
386  }
387  return res;
388 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndAlignAndBigLocals()

int TryAndAlignAndBigLocals ( int  arg)

Definition at line 284 of file ehframes.cpp.

285 {
287  int res = 0;
288  __declspec(align(ALIGN)) double d[4];
289  BigObj f1;
290  try {
291  res = TestFunc(1, d, &f1, &res, &res, &res, &res, &res, &arg);
292  } catch (double) {
293  res = TestFunc(2, d, &f1, &res, &res, &res, &res, &res, &arg);
294  }
295  return res;
296 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndAlloca()

int TryAndAlloca ( int  arg)

Definition at line 145 of file ehframes.cpp.

146 {
148  int res = 0;
149  SmallObj f;
150  try {
151  res = TestFunc(1, _alloca(global), &f, &res, &arg);
152  } catch (double) {
153  res = TestFunc(2, &f, &res, &arg);
154  }
155  return res;
156 }
int global
Definition: ehframes.cpp:22
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndAllocaAndBigLocals()

int TryAndAllocaAndBigLocals ( int  arg)

Definition at line 331 of file ehframes.cpp.

332 {
334  int res = 0;
335  BigObj f1;
336  try {
337  res = TestFunc(1, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
338  } catch (double) {
339  res = TestFunc(2, &f1, &res, &res, &res, &res, &res, &arg);
340  }
341  return res;
342 }
int global
Definition: ehframes.cpp:22
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndBigLocals()

int TryAndBigLocals ( int  arg)

Definition at line 239 of file ehframes.cpp.

240 {
242  int res = 0;
243  BigObj f1;
244  try {
245  res = TestFunc(1, &f1, &res, &res, &res, &res, &res, &arg);
246  } catch (double) {
247  res = TestFunc(2, &f1, &res, &res, &res, &res, &res, &arg);
248  }
249  return res;
250 }
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndGSCookie()

int TryAndGSCookie ( int  arg)

Definition at line 75 of file ehframes.cpp.

76 {
78  int res = 0;
79  char buf[16];
80  SmallObj f;
81  try {
82  res = TestFunc(1, &buf, &f, &res, &arg);
83  } catch (double) {
84  res = TestFunc(2, &buf, &f, &res, &arg);
85  }
86  return res;
87 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndGSCookieAndAlign()

int TryAndGSCookieAndAlign ( int  arg)

Definition at line 122 of file ehframes.cpp.

123 {
125  int res = 0;
126  char buf[16];
127  __declspec(align(ALIGN)) double d[4];
128  SmallObj f;
129  try {
130  res = TestFunc(1, buf, d, &f, &res, &arg);
131  } catch (double) {
132  res = TestFunc(2, buf, d, &f, &res, &arg);
133  }
134  return res;
135 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndGSCookieAndAlignAndAlloca()

int TryAndGSCookieAndAlignAndAlloca ( int  arg)

Definition at line 214 of file ehframes.cpp.

215 {
217  int res = 0;
218  char buf[16];
219  __declspec(align(ALIGN)) double d[4];
220  SmallObj f;
221  try {
222  res = TestFunc(1, buf, d, _alloca(global), &f, &res, &arg);
223  } catch (double) {
224  res = TestFunc(2, buf, d, &f, &res, &arg);
225  }
226  return res;
227 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndGSCookieAndAlignAndAllocaAndBigLocals()

int TryAndGSCookieAndAlignAndAllocaAndBigLocals ( int  arg)

Definition at line 400 of file ehframes.cpp.

401 {
403  int res = 0;
404  char buf[16];
405  __declspec(align(ALIGN)) double d[4];
406  BigObj f1;
407  try {
408  res = TestFunc(1, buf, d, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
409  } catch (double) {
410  res = TestFunc(2, buf, d, &f1, &res, &res, &res, &res, &res, &arg);
411  }
412  return res;
413 }
__declspec(noinline) int TestFunc(int
int global
Definition: ehframes.cpp:22
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndGSCookieAndAlignAndBigLocals()

int TryAndGSCookieAndAlignAndBigLocals ( int  arg)

Definition at line 308 of file ehframes.cpp.

309 {
311  int res = 0;
312  char buf[16];
313  __declspec(align(ALIGN)) double d[4];
314  BigObj f1;
315  try {
316  res = TestFunc(1, buf, d, &f1, &res, &res, &res, &res, &res, &arg);
317  } catch (double) {
318  res = TestFunc(2, buf, d, &f1, &res, &res, &res, &res, &res, &arg);
319  }
320  return res;
321 }
__declspec(noinline) int TestFunc(int
int align(int length, int align)
Definition: dsound8.c:36
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define ALIGN
Definition: ehframes.cpp:15
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112
#define d
Definition: ke_i.h:81

Referenced by RunTests().

◆ TryAndGSCookieAndAlloca()

int TryAndGSCookieAndAlloca ( int  arg)

Definition at line 167 of file ehframes.cpp.

168 {
170  int res = 0;
171  char buf[16];
172  SmallObj f;
173  try {
174  res = TestFunc(1, &buf, _alloca(global), &f, &res, &arg);
175  } catch (double) {
176  res = TestFunc(2, &buf, &f, &res, &arg);
177  }
178  return res;
179 }
int global
Definition: ehframes.cpp:22
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLfloat f
Definition: glext.h:7540
int puts(const char *string)
Definition: crtsupp.c:23
#define f
Definition: ke_i.h:83
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndGSCookieAndAllocaAndBigLocals()

int TryAndGSCookieAndAllocaAndBigLocals ( int  arg)

Definition at line 353 of file ehframes.cpp.

354 {
356  int res = 0;
357  char buf[16];
358  BigObj f1;
359  try {
360  res = TestFunc(1, &buf, _alloca(global), &f1, &res, &res, &res, &res, &res, &arg);
361  } catch (double) {
362  res = TestFunc(2, &buf, &f1, &res, &res, &res, &res, &res, &arg);
363  }
364  return res;
365 }
int global
Definition: ehframes.cpp:22
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

◆ TryAndGSCookieAndBigLocals()

int TryAndGSCookieAndBigLocals ( int  arg)

Definition at line 261 of file ehframes.cpp.

262 {
264  int res = 0;
265  char buf[16];
266  BigObj f1;
267  try {
268  res = TestFunc(1, &buf, &f1, &res, &res, &res, &res, &res, &arg);
269  } catch (double) {
270  res = TestFunc(2, &buf, &f1, &res, &res, &res, &res, &res, &arg);
271  }
272  return res;
273 }
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
int puts(const char *string)
Definition: crtsupp.c:23
#define f1(x, y, z)
Definition: sha1.c:30
int TestFunc(int,...)
GLuint res
Definition: glext.h:9613
#define __FUNCTION__
Definition: types.h:112

Referenced by RunTests().

Variable Documentation

◆ failures

int failures

Definition at line 20 of file ehframes.cpp.

Referenced by main(), RunTests(), and START_TEST().

◆ global

◆ TestFuncThrows

bool TestFuncThrows

Definition at line 23 of file ehframes.cpp.

Referenced by RunTests().