Add __has_feature(cxx_raw_string_literals) and
__has_feature(cxx_unicode_literals), from Michel Morin! llvm-svn: 143412
This commit is contained in:
parent
3c469769a2
commit
a7efb88baa
|
@ -642,13 +642,13 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) {
|
|||
.Case("cxx_nullptr", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_override_control", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_range_for", LangOpts.CPlusPlus0x)
|
||||
//.Case("cxx_raw_string_literals", false)
|
||||
.Case("cxx_raw_string_literals", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_reference_qualified_functions", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_rvalue_references", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_strong_enums", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_static_assert", LangOpts.CPlusPlus0x)
|
||||
.Case("cxx_trailing_return", LangOpts.CPlusPlus0x)
|
||||
//.Case("cxx_unicode_literals", false)
|
||||
.Case("cxx_unicode_literals", LangOpts.CPlusPlus0x)
|
||||
//.Case("cxx_unrestricted_unions", false)
|
||||
//.Case("cxx_user_literals", false)
|
||||
.Case("cxx_variadic_templates", LangOpts.CPlusPlus0x)
|
||||
|
|
|
@ -190,3 +190,21 @@ int no_alignas();
|
|||
|
||||
// CHECK-0X: has_alignas
|
||||
// CHECK-NO-0X: no_alignas
|
||||
|
||||
#if __has_feature(cxx_raw_string_literals)
|
||||
int has_raw_string_literals();
|
||||
#else
|
||||
int no_raw_string_literals();
|
||||
#endif
|
||||
|
||||
// CHECK-0X: has_raw_string_literals
|
||||
// CHECK-NO-0X: no_raw_string_literals
|
||||
|
||||
#if __has_feature(cxx_unicode_literals)
|
||||
int has_unicode_literals();
|
||||
#else
|
||||
int no_unicode_literals();
|
||||
#endif
|
||||
|
||||
// CHECK-0X: has_unicode_literals
|
||||
// CHECK-NO-0X: no_unicode_literals
|
||||
|
|
Loading…
Reference in New Issue