diff --git a/gdb/defs.h b/gdb/defs.h index d0b6813..fa5df72 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -64,6 +64,14 @@ #include "ansidecl.h" +#ifdef WITH_GDB_CHECK_EXCEPTION +#define ATTRIBUTE_THROW __attribute__ ((gdb_throw)) +#define ATTRIBUTE_NOTHROW __attribute__ ((gdb_nothrow)) +#else +#define ATTRIBUTE_THROW +#define ATTRIBUTE_NOTHROW +#endif + #include "gdb_locale.h" #include "gdb_wchar.h" diff --git a/gdb/exceptions.h b/gdb/exceptions.h index 1aa457a..ae196a0 100644 --- a/gdb/exceptions.h +++ b/gdb/exceptions.h @@ -176,13 +176,13 @@ extern void exception_fprintf (struct ui_file *file, struct gdb_exception e, Wombat. */ extern void throw_exception (struct gdb_exception exception) - ATTRIBUTE_NORETURN; + ATTRIBUTE_NORETURN ATTRIBUTE_THROW; extern void throw_verror (enum errors, const char *fmt, va_list ap) - ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0); + ATTRIBUTE_NORETURN ATTRIBUTE_THROW ATTRIBUTE_PRINTF (2, 0); extern void throw_vfatal (const char *fmt, va_list ap) - ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0); + ATTRIBUTE_NORETURN ATTRIBUTE_THROW ATTRIBUTE_PRINTF (1, 0); extern void throw_error (enum errors error, const char *fmt, ...) - ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3); + ATTRIBUTE_NORETURN ATTRIBUTE_THROW ATTRIBUTE_PRINTF (2, 3); /* Instead of deprecated_throw_reason, code should use throw_exception. */