Guard a feature that unsupported by old GCC

Summary:
As @david2050 commented, changes introduced by https://reviews.llvm.org/D56397 break builds for older compilers
which don't support `__has(_cpp)_attribute`. This is a fix for the break.

Reviewers: protze.joachim, jlpeyton, AndreyChurbanov, Hahnfeld, david2050

Subscribers: openmp-commits, david2050

Tags: #openmp

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

llvm-svn: 353538
This commit is contained in:
Taewook Oh 2019-02-08 17:15:50 +00:00
parent 3ce8112dad
commit 91c32fd8c8

View File

@ -39,6 +39,14 @@
#define KMP_MEM_CONS_MODEL KMP_MEM_CONS_VOLATILE #define KMP_MEM_CONS_MODEL KMP_MEM_CONS_VOLATILE
#endif #endif
#ifndef __has_cpp_attribute
#define __has_cpp_attribute(x) 0
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
/* ------------------------- Compiler recognition ---------------------- */ /* ------------------------- Compiler recognition ---------------------- */
#define KMP_COMPILER_ICC 0 #define KMP_COMPILER_ICC 0
#define KMP_COMPILER_GCC 0 #define KMP_COMPILER_GCC 0
@ -304,7 +312,7 @@ extern "C" {
# define KMP_FALLTHROUGH() [[fallthrough]] # define KMP_FALLTHROUGH() [[fallthrough]]
#elif __has_cpp_attribute(clang::fallthrough) #elif __has_cpp_attribute(clang::fallthrough)
# define KMP_FALLTHROUGH() [[clang::fallthrough]] # define KMP_FALLTHROUGH() [[clang::fallthrough]]
#elif __has_attribute(fallthough) || _GNUC_VER >= 700 #elif __has_attribute(fallthough) || __GNUC__ >= 7
# define KMP_FALLTHROUGH() __attribute__((__fallthrough__)) # define KMP_FALLTHROUGH() __attribute__((__fallthrough__))
#else #else
# define KMP_FALLTHROUGH() ((void)0) # define KMP_FALLTHROUGH() ((void)0)