Author: echristo Date: Thu Aug 6 17:11:54 2015 New Revision: 244286 URL: http://llvm.org/viewvc/llvm-project?rev=244286&view=rev Log: Continue the work from r243908 by adding a Features field to Builtin::Info so that we can populate it on a per-target basis with required features.
Future commits will start using this information for warnings. Modified: cfe/trunk/include/clang/Basic/Builtins.h cfe/trunk/lib/Basic/Targets.cpp Modified: cfe/trunk/include/clang/Basic/Builtins.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.h?rev=244286&r1=244285&r2=244286&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/Builtins.h (original) +++ cfe/trunk/include/clang/Basic/Builtins.h Thu Aug 6 17:11:54 2015 @@ -51,6 +51,7 @@ enum ID { struct Info { const char *Name, *Type, *Attributes, *HeaderName; LanguageID Langs; + const char *Features; }; /// \brief Holds information about both target-independent and @@ -166,6 +167,10 @@ public: return strchr(getRecord(ID).Attributes, 'e') != nullptr; } + const char *getRequiredFeatures(unsigned ID) const { + return getRecord(ID).Features; + } + private: const Info &getRecord(unsigned ID) const; Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=244286&r1=244285&r2=244286&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Thu Aug 6 17:11:54 2015 @@ -2001,8 +2001,10 @@ void AMDGPUTargetInfo::getGCCRegNames(co // Namespace for x86 abstract base class const Builtin::Info BuiltinInfo[] = { #define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES }, -#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\ - ALL_LANGUAGES }, +#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) \ + { #ID, TYPE, ATTRS, HEADER, ALL_LANGUAGES }, +#define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) \ + { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES, FEATURE }, #include "clang/Basic/BuiltinsX86.def" }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits