[llvm-commits] [llvm] r88791 - in /llvm/trunk/include/llvm/Support: Compiler.h ErrorHandling.h
Benjamin Kramer
benny.kra at googlemail.com
Sat Nov 14 06:14:59 PST 2009
Author: d0k
Date: Sat Nov 14 08:14:58 2009
New Revision: 88791
URL: http://llvm.org/viewvc/llvm-project?rev=88791&view=rev
Log:
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.
Modified:
llvm/trunk/include/llvm/Support/Compiler.h
llvm/trunk/include/llvm/Support/ErrorHandling.h
Modified: llvm/trunk/include/llvm/Support/Compiler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Compiler.h?rev=88791&r1=88790&r2=88791&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/Compiler.h (original)
+++ llvm/trunk/include/llvm/Support/Compiler.h Sat Nov 14 08:14:58 2009
@@ -58,6 +58,8 @@
#ifdef __GNUC__
#define NORETURN __attribute__((noreturn))
+#elif defined(_MSC_VER)
+#define NORETURN __declspec(noreturn)
#else
#define NORETURN
#endif
Modified: llvm/trunk/include/llvm/Support/ErrorHandling.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ErrorHandling.h?rev=88791&r1=88790&r2=88791&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/ErrorHandling.h (original)
+++ llvm/trunk/include/llvm/Support/ErrorHandling.h Sat Nov 14 08:14:58 2009
@@ -60,15 +60,15 @@
/// 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.
More information about the llvm-commits
mailing list