Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/Lex/PPMacroExpansion.cpp
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait) .Case("__" #Trait, true) | #define TRANSFORM_TYPE_TRAIT_DEF(_, Trait) .Case("__" #Trait, true) | ||||
#include "clang/Basic/TransformTypeTraits.def" | #include "clang/Basic/TransformTypeTraits.def" | ||||
.Default(false); | .Default(false); | ||||
} else { | } else { | ||||
return llvm::StringSwitch<bool>(II->getName()) | return llvm::StringSwitch<bool>(II->getName()) | ||||
// Report builtin templates as being builtins. | // Report builtin templates as being builtins. | ||||
.Case("__make_integer_seq", getLangOpts().CPlusPlus) | .Case("__make_integer_seq", getLangOpts().CPlusPlus) | ||||
.Case("__type_pack_element", getLangOpts().CPlusPlus) | .Case("__type_pack_element", getLangOpts().CPlusPlus) | ||||
.Case("__decay", getLangOpts().CPlusPlus) | |||||
// Likewise for some builtin preprocessor macros. | // Likewise for some builtin preprocessor macros. | ||||
// FIXME: This is inconsistent; we usually suggest detecting | // FIXME: This is inconsistent; we usually suggest detecting | ||||
// builtin macros via #ifdef. Don't add more cases here. | // builtin macros via #ifdef. Don't add more cases here. | ||||
.Case("__is_target_arch", true) | .Case("__is_target_arch", true) | ||||
.Case("__is_target_vendor", true) | .Case("__is_target_vendor", true) | ||||
.Case("__is_target_os", true) | .Case("__is_target_os", true) | ||||
.Case("__is_target_environment", true) | .Case("__is_target_environment", true) | ||||
.Case("__is_target_variant_os", true) | .Case("__is_target_variant_os", true) | ||||
▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines |