Restrict the use of the C++17 attribute to C++17 (at least as best we

can given the current __cplusplus definitions).

Without this, Clang triggers TONS of warnings about using a C++17
extension. I tried using LLVM_EXTENSION to turn these off and it doesn't
work.

Suggestions on a better approach are welcome, but at least this makes
the build usable for me again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278909 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2016-08-17 07:18:44 +00:00
parent bba5e18e2a
commit 731ba1dedb

View File

@ -233,7 +233,7 @@
#endif
/// LLVM_FALLTHROUGH - Mark fallthrough cases in switch statements.
#if __has_cpp_attribute(fallthrough)
#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
#define LLVM_FALLTHROUGH [[fallthrough]]
#elif __has_cpp_attribute(clang::fallthrough)
#define LLVM_FALLTHROUGH [[clang::fallthrough]]