Cygwin: add header defining GCC exception codes
Include it in exceptions.cc instead of defining the exception codes there.
This commit is contained in:
parent
74cf7dabcb
commit
14c0a4c67d
|
@ -28,6 +28,7 @@ details. */
|
|||
#include "ntdll.h"
|
||||
#include "exception.h"
|
||||
#include "posix_timer.h"
|
||||
#include "gcc_seh.h"
|
||||
|
||||
/* Definitions for code simplification */
|
||||
#ifdef __x86_64__
|
||||
|
@ -763,15 +764,6 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in,
|
|||
return ExceptionContinueExecution;
|
||||
|
||||
#ifdef __x86_64__
|
||||
/* From the GCC source file libgcc/unwind-seh.c. */
|
||||
#define STATUS_USER_DEFINED (1U << 29)
|
||||
#define GCC_MAGIC (('G' << 16) | ('C' << 8) | 'C')
|
||||
#define GCC_EXCEPTION(TYPE) \
|
||||
(STATUS_USER_DEFINED | ((TYPE) << 24) | GCC_MAGIC)
|
||||
#define STATUS_GCC_THROW GCC_EXCEPTION (0)
|
||||
#define STATUS_GCC_UNWIND GCC_EXCEPTION (1)
|
||||
#define STATUS_GCC_FORCED GCC_EXCEPTION (2)
|
||||
|
||||
case STATUS_GCC_THROW:
|
||||
case STATUS_GCC_UNWIND:
|
||||
case STATUS_GCC_FORCED:
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/* gcc_seh.h: GCC exception codes.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#pragma once
|
||||
|
||||
/* From the GCC source file libgcc/unwind-seh.c. */
|
||||
|
||||
#ifdef __x86_64__
|
||||
#define STATUS_USER_DEFINED (1U << 29)
|
||||
#define GCC_MAGIC (('G' << 16) | ('C' << 8) | 'C')
|
||||
#define GCC_EXCEPTION(TYPE) \
|
||||
(STATUS_USER_DEFINED | ((TYPE) << 24) | GCC_MAGIC)
|
||||
#define STATUS_GCC_THROW GCC_EXCEPTION (0)
|
||||
#define STATUS_GCC_UNWIND GCC_EXCEPTION (1)
|
||||
#define STATUS_GCC_FORCED GCC_EXCEPTION (2)
|
||||
#endif
|
Loading…
Reference in New Issue