From 16044c74bfcd64384065fa38b514882a52a013c7 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Tue, 2 Jan 2018 09:29:14 -0800 Subject: [PATCH] revert use of [[noreturn]]. It's not fully supported on compilers #1435 Signed-off-by: Nikolaj Bjorner --- src/ast/ast.cpp | 2 +- src/ast/ast.h | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp index 0f18170df..cc4beb1b6 100644 --- a/src/ast/ast.cpp +++ b/src/ast/ast.cpp @@ -1519,7 +1519,7 @@ void ast_manager::compress_ids() { m_ast_table.insert(a); } -[[noreturn]] void ast_manager::raise_exception(char const * msg) { +void ast_manager::raise_exception(char const * msg) { throw ast_exception(msg); } diff --git a/src/ast/ast.h b/src/ast/ast.h index 482ec3a99..ea97af004 100644 --- a/src/ast/ast.h +++ b/src/ast/ast.h @@ -53,6 +53,12 @@ Revision History: #pragma warning(disable : 4355) #endif +#ifdef __GNUC__ +# define Z3_NORETURN __attribute__((noreturn)) +#else +# define Z3_NORETURN +#endif + class ast; class ast_manager; @@ -1515,7 +1521,7 @@ public: void compress_ids(); // Equivalent to throw ast_exception(msg) - [[noreturn]] void raise_exception(char const * msg); + void raise_exception(char const * msg) Z3_NORETURN; bool is_format_manager() const { return m_format_manager == 0; }