File: vcl_csetjmp.h

package info (click to toggle)
insighttoolkit 3.6.0-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 94,956 kB
  • ctags: 74,981
  • sloc: cpp: 355,621; ansic: 195,070; fortran: 28,713; python: 3,802; tcl: 1,996; sh: 1,175; java: 583; makefile: 415; csh: 184; perl: 175
file content (28 lines) | stat: -rw-r--r-- 840 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef vcl_csetjmp_h_
#define vcl_csetjmp_h_
/*
  Peter Vanroose, esat.kuleuven.be
*/

/* This should define C-style stack unwinding */

#include "vcl_compiler.h"

// SunPro 5.0's <csetjmp> is broken.
// VisualC++'s <csetjmp> does not use namespace std.
#if !VCL_CXX_HAS_HEADER_CSETJMP || defined(VCL_SUNPRO_CC_5) || defined(VCL_VC60)
# include <setjmp.h>
# define vcl_generic_csetjmp_STD /* */
# include "generic/vcl_csetjmp.h"
#else
# include "iso/vcl_csetjmp.h"
#endif

// In ISO C, setjmp() is a macro. So in vcl it should be
// a macro without the vcl_ prefix, just like assert().
// It is good that people know assert() is a macro because
// they treat it with more care than a function. If vcl
// provided a `vcl_setjmp' preprocessor macro people might
// think they were using a function and not a macro.

#endif // vcl_csetjmp_h_