[PATCH] D66487: Fix -Wimplicit-fallthrough warnings in regcomp.c
Aaron Ballman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 21 13:55:18 PDT 2019
aaron.ballman added a comment.
In D66487#1640019 <https://reviews.llvm.org/D66487#1640019>, @lebedev.ri wrote:
> Is this only about `lib/Support/regcomp.c`? Can that source simply be switched to C++?
We have other C files that may wish to use attributes, so I don't see that as a long-term solution.
In D66487#1639946 <https://reviews.llvm.org/D66487#1639946>, @Nathan-Huckleberry wrote:
> Maybe replace __has_cpp_attribute with something like this?
>
> #ifndef has_cpp_attribute
> #ifdef __cplusplus
> # define has_cpp_attribute(x) __has_cpp_attribute(x)
> #else
> # define has_cpp_attribute(x) 0
> #endif
> #endif
>
That will run into the same issue -- you'll use `has_cpp_attribute(clang::something)` and in non-C++ mode, the `::` will cause an error. You need to hide the `::` behind the `__cplusplus` check.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66487/new/
https://reviews.llvm.org/D66487
More information about the llvm-commits
mailing list