Use macro to detect real gcc as opposed to e.g. clang disguising as gcc
This commit is contained in:
parent
ce0352eff4
commit
3cd8506ff8
@ -67,7 +67,14 @@ typedef int ssize_t;
|
|||||||
# define PRETEND_USE(expr) ((void)(expr))
|
# define PRETEND_USE(expr) ((void)(expr))
|
||||||
#endif /* PRETEND_USE */
|
#endif /* PRETEND_USE */
|
||||||
|
|
||||||
#ifdef __GNUC__
|
// It's complicated to really detect gnu gcc because other compilers define __GNUC__
|
||||||
|
// See stackoverflow questions/38499462/how-to-tell-clang-to-stop-pretending-to-be-other-compilers
|
||||||
|
#if defined(__GNUC__) && !defined(__llvm__) && !defined(__INTEL_COMPILER)
|
||||||
|
#define REAL_GCC __GNUC__ // probably
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef REAL_GCC
|
||||||
|
// Older gcc versions pretended to supply std::regex, but the resulting programs mostly crashed.
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#if ! __GNUC_PREREQ(6,0)
|
#if ! __GNUC_PREREQ(6,0)
|
||||||
#define NO_STD_REGEX 1
|
#define NO_STD_REGEX 1
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user