diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2019-08-21 20:00:41 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2019-08-21 20:00:41 +0000 |
| commit | 6a29ff175490d8832f7807c3050dfed4ae202ae7 (patch) | |
| tree | ec64804df373248bbd522c0a0700510dd6206a9a | |
| parent | f24c1e6b515ed7aec632b5e4c6019e7dd0972efa (diff) | |
| download | bcm5719-llvm-6a29ff175490d8832f7807c3050dfed4ae202ae7.tar.gz bcm5719-llvm-6a29ff175490d8832f7807c3050dfed4ae202ae7.zip | |
Revert r369549 as it broke the bots.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/13605/
llvm-svn: 369569
| -rw-r--r-- | llvm/include/llvm/Support/Compiler.h | 10 | ||||
| -rw-r--r-- | llvm/lib/Support/regcomp.c | 7 |
2 files changed, 7 insertions, 10 deletions
diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h index e1f124379dd..43114ad3a43 100644 --- a/llvm/include/llvm/Support/Compiler.h +++ b/llvm/include/llvm/Support/Compiler.h @@ -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 *file, int line); #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, size_t Size, size_t Alignment) { } // End namespace llvm -#endif // __cplusplus #endif diff --git a/llvm/lib/Support/regcomp.c b/llvm/lib/Support/regcomp.c index ee2a1d87a26..ca283869be9 100644 --- a/llvm/lib/Support/regcomp.c +++ b/llvm/lib/Support/regcomp.c @@ -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 *g) 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; |

