Fix -Wimplicit-fallthrough warnings in regcomp.c

Summary:
Since clang does not support comment style fallthrough annotations
these should be switched.

Reviewers: aaron.ballman, nickdesaulniers, xbolva00

Reviewed By: aaron.ballman, nickdesaulniers, xbolva00

Subscribers: xbolva00, nickdesaulniers, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66487

llvm-svn: 369549
This commit is contained in:
Nathan Huckleberry 2019-08-21 17:07:43 +00:00
parent 7425179fee
commit 01a413695c
2 changed files with 10 additions and 7 deletions

View File

@ -16,7 +16,9 @@
#include "llvm/Config/llvm-config.h"
#ifdef __cplusplus
#include <new>
#endif
#include <stddef.h>
#if defined(_MSC_VER)
@ -252,10 +254,8 @@
#define LLVM_FALLTHROUGH [[fallthrough]]
#elif __has_cpp_attribute(gnu::fallthrough)
#define LLVM_FALLTHROUGH [[gnu::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 !defined(__cplusplus) && __has_attribute(fallthrough)
#define LLVM_FALLTHROUGH __attribute__((fallthrough))
#elif __has_cpp_attribute(clang::fallthrough)
#define LLVM_FALLTHROUGH [[clang::fallthrough]]
#else
@ -527,6 +527,7 @@ 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.
@ -569,4 +570,5 @@ inline void deallocate_buffer(void *Ptr, size_t Size, size_t Alignment) {
} // End namespace llvm
#endif // __cplusplus
#endif

View File

@ -48,6 +48,7 @@
#include "regex2.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Compiler.h"
/* character-class table */
static struct cclass {
@ -537,7 +538,7 @@ p_ere_exp(struct parse *p)
break;
case '{': /* okay as ordinary except if digit follows */
REQUIRE(!MORE() || !isdigit((uch)PEEK()), REG_BADRPT);
/* fall through */
LLVM_FALLTHROUGH;
default:
ordinary(p, c);
break;
@ -733,7 +734,7 @@ p_simp_re(struct parse *p,
break;
case '*':
REQUIRE(starordinary, REG_BADRPT);
/* fall through */
LLVM_FALLTHROUGH;
default:
ordinary(p, (char)c);
break;
@ -1635,7 +1636,7 @@ findmust(struct parse *p, struct re_guts *g)
return;
}
} while (OP(s) != O_QUEST && OP(s) != O_CH);
/* fall through */
LLVM_FALLTHROUGH;
default: /* things that break a sequence */
if (newlen > g->mlen) { /* ends one */
start = newstart;