Lines Matching defs:ID
23 #define BUILTIN(ID, TYPE, ATTRS) \
24 { #ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr },
25 #define LANGBUILTIN(ID, TYPE, ATTRS, LANGS) \
26 { #ID, TYPE, ATTRS, nullptr, LANGS, nullptr },
27 #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER, LANGS) \
28 { #ID, TYPE, ATTRS, HEADER, LANGS, nullptr },
32 const Builtin::Info &Builtin::Context::getRecord(unsigned ID) const {
33 if (ID < Builtin::FirstTSBuiltin)
34 return BuiltinInfo[ID];
35 assert(((ID - Builtin::FirstTSBuiltin) <
37 "Invalid builtin ID!");
38 if (isAuxBuiltinID(ID))
39 return AuxTSRecords[getAuxBuiltinID(ID) - Builtin::FirstTSBuiltin];
40 return TSRecords[ID - Builtin::FirstTSBuiltin];
77 /// appropriate builtin ID # and mark any non-portable builtin identifiers as
81 // Step #1: mark all target-independent builtins with their ID's.
98 void Builtin::Context::forgetBuiltin(unsigned ID, IdentifierTable &Table) {
99 Table.get(getRecord(ID).Name).setBuiltinID(0);
102 bool Builtin::Context::isLike(unsigned ID, unsigned &FormatIdx,
110 const char *Like = ::strpbrk(getRecord(ID).Attributes, Fmt);
125 bool Builtin::Context::isPrintfLike(unsigned ID, unsigned &FormatIdx,
127 return isLike(ID, FormatIdx, HasVAListArg, "pP");
130 bool Builtin::Context::isScanfLike(unsigned ID, unsigned &FormatIdx,
132 return isLike(ID, FormatIdx, HasVAListArg, "sS");