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 "ntdll.h"
|
||||||
#include "exception.h"
|
#include "exception.h"
|
||||||
#include "posix_timer.h"
|
#include "posix_timer.h"
|
||||||
|
#include "gcc_seh.h"
|
||||||
|
|
||||||
/* Definitions for code simplification */
|
/* Definitions for code simplification */
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
|
@ -763,15 +764,6 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in,
|
||||||
return ExceptionContinueExecution;
|
return ExceptionContinueExecution;
|
||||||
|
|
||||||
#ifdef __x86_64__
|
#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_THROW:
|
||||||
case STATUS_GCC_UNWIND:
|
case STATUS_GCC_UNWIND:
|
||||||
case STATUS_GCC_FORCED:
|
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