From 535f7f151b8bd84369cf36fa7b1c507a90d8d78d Mon Sep 17 00:00:00 2001 From: Anton Bachin Date: Tue, 30 Jun 2015 12:21:02 -0500 Subject: [PATCH] Fixed char16_t and char32_t detection for clang. These are now only assumed in C++11 mode. long long is also assumed only in C++11 mode for clang, which may make some programs that rely on long long as an extension in C++98 fail with Better Enums. I will solve that at a later date if it becomes a problem. --- enum.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/enum.h b/enum.h index dce372e..b0af2b2 100644 --- a/enum.h +++ b/enum.h @@ -25,8 +25,7 @@ # if !defined(__EXCEPTIONS) || !__has_feature(cxx_exceptions) # define BETTER_ENUMS__NO_EXCEPTIONS # endif -# if (__clang_major__ > 2) || \ - (__clang_major__ == 2) && (__clang_minor__ >= 9) +# if __cplusplus >= 201103L # define BETTER_ENUMS__HAVE_LONG_LONG # define BETTER_ENUMS__HAVE_NEW_CHAR_TYPES # endif