[llvm] r237766 - Support: Introduce LLVM_FALLTHROUGH macro.

Peter Collingbourne peter at pcc.me.uk
Tue May 19 19:44:14 PDT 2015


Author: pcc
Date: Tue May 19 21:44:14 2015
New Revision: 237766

URL: http://llvm.org/viewvc/llvm-project?rev=237766&view=rev
Log:
Support: Introduce LLVM_FALLTHROUGH macro.

Modified:
    llvm/trunk/include/llvm/Support/Compiler.h

Modified: llvm/trunk/include/llvm/Support/Compiler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Compiler.h?rev=237766&r1=237765&r2=237766&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/Compiler.h (original)
+++ llvm/trunk/include/llvm/Support/Compiler.h Tue May 19 21:44:14 2015
@@ -29,6 +29,10 @@
 # define __has_attribute(x) 0
 #endif
 
+#ifndef __has_cpp_attribute
+# define __has_cpp_attribute(x) 0
+#endif
+
 #ifndef __has_builtin
 # define __has_builtin(x) 0
 #endif
@@ -401,4 +405,12 @@
 #define LLVM_THREAD_LOCAL
 #endif
 
+/// \macro LLVM_FALLTHROUGH
+/// \brief Marks an empty statement preceding a deliberate switch fallthrough.
+#if __has_cpp_attribute(clang::fallthrough)
+#define LLVM_FALLTHROUGH [[clang::fallthrough]]
+#else
+#define LLVM_FALLTHROUGH
+#endif
+
 #endif





More information about the llvm-commits mailing list