public inbox for cygwin-cvs@sourceware.org help / color / mirror / Atom feed
From: Ken Brown <kbrown@sourceware.org> To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: add header defining GCC exception codes Date: Thu, 20 Aug 2020 17:47:55 +0000 (GMT) [thread overview] Message-ID: <20200820174755.9665A386F016@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=14c0a4c67d4e8c296dac2f1fc6fb86da3b76d7fb commit 14c0a4c67d4e8c296dac2f1fc6fb86da3b76d7fb Author: Ken Brown <kbrown@cornell.edu> Date: Thu Aug 20 10:35:43 2020 -0400 Cygwin: add header defining GCC exception codes Include it in exceptions.cc instead of defining the exception codes there. Diff: --- winsup/cygwin/exceptions.cc | 10 +--------- winsup/cygwin/gcc_seh.h | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 61406e5d1..bb7704f94 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -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: diff --git a/winsup/cygwin/gcc_seh.h b/winsup/cygwin/gcc_seh.h new file mode 100644 index 000000000..fb779ef73 --- /dev/null +++ b/winsup/cygwin/gcc_seh.h @@ -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
reply other threads:[~2020-08-20 17:47 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200820174755.9665A386F016@sourceware.org \ --to=kbrown@sourceware.org \ --cc=cygwin-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).