55 #define DEFAULT_HANDLING 0 56 #define HAIRY_LIBRARY_HANDLING 1 57 #define SANE_LIBRARY_HANDLING 2 59 #if HAVE_MSVC_INVALID_PARAMETER_HANDLER \ 60 && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING) 64 # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING 74 extern void gl_msvc_inval_ensure_handler (
void);
80 # define TRY_MSVC_INVAL \ 83 gl_msvc_inval_ensure_handler (); \ 85 # define CATCH_MSVC_INVAL \ 87 # define DONE_MSVC_INVAL \ 104 # define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0) 106 # if defined _MSC_VER 120 extern void gl_msvc_inval_ensure_handler (
void);
126 # define TRY_MSVC_INVAL \ 129 gl_msvc_inval_ensure_handler (); \ 131 # define CATCH_MSVC_INVAL \ 132 __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER \ 133 ? EXCEPTION_EXECUTE_HANDLER \ 134 : EXCEPTION_CONTINUE_SEARCH) 135 # define DONE_MSVC_INVAL \ 149 struct gl_msvc_inval_per_thread
165 extern void gl_msvc_inval_ensure_handler (
void);
168 extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (
void);
174 # define TRY_MSVC_INVAL \ 177 struct gl_msvc_inval_per_thread *msvc_inval_current; \ 178 gl_msvc_inval_ensure_handler (); \ 179 msvc_inval_current = gl_msvc_inval_current (); \ 181 if (setjmp (msvc_inval_current->restart) == 0) \ 184 msvc_inval_current->restart_valid = 1; 185 # define CATCH_MSVC_INVAL \ 188 msvc_inval_current->restart_valid = 0; \ 194 msvc_inval_current->restart_valid = 0; 195 # define DONE_MSVC_INVAL \ 210 # define TRY_MSVC_INVAL \ 214 # define CATCH_MSVC_INVAL \ 216 # define DONE_MSVC_INVAL \