aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2009-11-14 14:14:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2009-11-14 14:14:58 +0000
commit7b068610eb68ae02c1c92a98d4a3749c7cb6456c (patch)
treec3cdec900cab78cdc3f37884e2f7fac60d677dd1
parent067d024b05e56d2847608c9149a7151d6531c036 (diff)
Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
decl so move it there. GCC accepts it both in front and after decls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88791 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Support/Compiler.h2
-rw-r--r--include/llvm/Support/ErrorHandling.h10
2 files changed, 7 insertions, 5 deletions
diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h
index 342a97d761..67770c35d2 100644
--- a/include/llvm/Support/Compiler.h
+++ b/include/llvm/Support/Compiler.h
@@ -58,6 +58,8 @@
#ifdef __GNUC__
#define NORETURN __attribute__((noreturn))
+#elif defined(_MSC_VER)
+#define NORETURN __declspec(noreturn)
#else
#define NORETURN
#endif
diff --git a/include/llvm/Support/ErrorHandling.h b/include/llvm/Support/ErrorHandling.h
index 67bccf0926..60677951a2 100644
--- a/include/llvm/Support/ErrorHandling.h
+++ b/include/llvm/Support/ErrorHandling.h
@@ -60,15 +60,15 @@ namespace llvm {
/// standard error, followed by a newline.
/// After the error handler is called this function will call exit(1), it
/// does not return.
- void llvm_report_error(const char *reason) NORETURN;
- void llvm_report_error(const std::string &reason) NORETURN;
- void llvm_report_error(const Twine &reason) NORETURN;
+ NORETURN void llvm_report_error(const char *reason);
+ NORETURN void llvm_report_error(const std::string &reason);
+ NORETURN void llvm_report_error(const Twine &reason);
/// This function calls abort(), and prints the optional message to stderr.
/// Use the llvm_unreachable macro (that adds location info), instead of
/// calling this function directly.
- void llvm_unreachable_internal(const char *msg=0, const char *file=0,
- unsigned line=0) NORETURN;
+ NORETURN void llvm_unreachable_internal(const char *msg=0,
+ const char *file=0, unsigned line=0);
}
/// Prints the message and location info to stderr in !NDEBUG builds.