[llvm] r369569 - Revert r369549 as it broke the bots.

Aaron Ballman via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 13:00:42 PDT 2019


Author: aaronballman
Date: Wed Aug 21 13:00:41 2019
New Revision: 369569

URL: http://llvm.org/viewvc/llvm-project?rev=369569&view=rev
Log:
Revert r369549 as it broke the bots.

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/13605/

Modified:
    llvm/trunk/include/llvm/Support/Compiler.h
    llvm/trunk/lib/Support/regcomp.c

Modified: llvm/trunk/include/llvm/Support/Compiler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Compiler.h?rev=369569&r1=369568&r2=369569&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/Compiler.h (original)
+++ llvm/trunk/include/llvm/Support/Compiler.h Wed Aug 21 13:00:41 2019
@@ -16,9 +16,7 @@
 
 #include "llvm/Config/llvm-config.h"
 
-#ifdef __cplusplus
 #include <new>
-#endif
 #include <stddef.h>
 
 #if defined(_MSC_VER)
@@ -254,8 +252,10 @@
 #define LLVM_FALLTHROUGH [[fallthrough]]
 #elif __has_cpp_attribute(gnu::fallthrough)
 #define LLVM_FALLTHROUGH [[gnu::fallthrough]]
-#elif !defined(__cplusplus) && __has_attribute(fallthrough)
-#define LLVM_FALLTHROUGH __attribute__((fallthrough))
+#elif !__cplusplus
+// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious
+// error when __has_cpp_attribute is given a scoped attribute in C mode.
+#define LLVM_FALLTHROUGH
 #elif __has_cpp_attribute(clang::fallthrough)
 #define LLVM_FALLTHROUGH [[clang::fallthrough]]
 #else
@@ -527,7 +527,6 @@ void AnnotateIgnoreWritesEnd(const char
 #define LLVM_ENABLE_EXCEPTIONS 1
 #endif
 
-#ifdef __cplusplus
 namespace llvm {
 
 /// Allocate a buffer of memory with the given size and alignment.
@@ -570,5 +569,4 @@ inline void deallocate_buffer(void *Ptr,
 
 } // End namespace llvm
 
-#endif // __cplusplus
 #endif

Modified: llvm/trunk/lib/Support/regcomp.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/regcomp.c?rev=369569&r1=369568&r2=369569&view=diff
==============================================================================
--- llvm/trunk/lib/Support/regcomp.c (original)
+++ llvm/trunk/lib/Support/regcomp.c Wed Aug 21 13:00:41 2019
@@ -48,7 +48,6 @@
 #include "regex2.h"
 
 #include "llvm/Config/config.h"
-#include "llvm/Support/Compiler.h"
 
 /* character-class table */
 static struct cclass {
@@ -538,7 +537,7 @@ p_ere_exp(struct parse *p)
 		break;
 	case '{':		/* okay as ordinary except if digit follows */
 		REQUIRE(!MORE() || !isdigit((uch)PEEK()), REG_BADRPT);
-		LLVM_FALLTHROUGH;
+		/* fall through */
 	default:
 		ordinary(p, c);
 		break;
@@ -734,7 +733,7 @@ p_simp_re(struct parse *p,
 		break;
 	case '*':
 		REQUIRE(starordinary, REG_BADRPT);
-		LLVM_FALLTHROUGH;
+		/* fall through */
 	default:
 		ordinary(p, (char)c);
 		break;
@@ -1636,7 +1635,7 @@ findmust(struct parse *p, struct re_guts
 					return;
 				}
 			} while (OP(s) != O_QUEST && OP(s) != O_CH);
-			LLVM_FALLTHROUGH;
+			/* fall through */
 		default:		/* things that break a sequence */
 			if (newlen > g->mlen) {		/* ends one */
 				start = newstart;




More information about the llvm-commits mailing list