Lines Matching defs:Builtin

24   Builtin,
34 PrototypeParser(StringRef Substitution, const Record *Builtin)
35 : Loc(Builtin->getFieldLoc("Prototype")), Substitution(Substitution),
36 EnableOpenCLLong(Builtin->getValueAsBit("EnableOpenCLLong")) {
37 ParsePrototype(Builtin->getValueAsString("Prototype"));
258 HeaderNameParser(const Record *Builtin) {
259 for (char c : Builtin->getValueAsString("Header")) {
265 PrintFatalError(Builtin->getLoc(), "Unexpected header name");
275 void PrintAttributes(const Record *Builtin, BuiltinType BT, raw_ostream &OS) {
277 if (Builtin->isSubClassOf("LibBuiltin")) {
282 if (Builtin->getValueAsBit("OnlyBuiltinPrefixedAliasIsConstexpr"))
287 if (auto NS = Builtin->getValueAsOptionalString("Namespace")) {
289 PrintFatalError(Builtin->getFieldLoc("Namespace"), "Unknown namespace: ");
293 for (const auto *Attr : Builtin->getValueAsListOfDefs("Attributes")) {
309 const Record *Builtin, Twine Spelling, BuiltinType BT) {
310 if (Builtin->getValueAsBit("RequiresUndef"))
319 case BuiltinType::Builtin:
334 PrototypeParser{Substitution, Builtin}.Print(OS);
336 PrintAttributes(Builtin, BT, OS);
341 HeaderNameParser{Builtin}.Print(OS);
345 OS << ", " << Builtin->getValueAsString("Languages");
350 HeaderNameParser{Builtin}.Print(OS);
351 OS << ", " << Builtin->getValueAsString("Languages");
355 OS << ", \"" << Builtin->getValueAsString("Features") << "\"";
358 case BuiltinType::Builtin:
387 void EmitBuiltin(raw_ostream &OS, const Record *Builtin) {
389 if (Builtin->isSubClassOf("Template")) {
390 Templates = getTemplateInsts(Builtin);
398 for (StringRef Spelling : Builtin->getValueAsListOfStrings("Spellings")) {
401 BuiltinType BT = BuiltinType::Builtin;
402 if (Builtin->isSubClassOf("AtomicBuiltin")) {
404 } else if (Builtin->isSubClassOf("LangBuiltin")) {
406 } else if (Builtin->isSubClassOf("TargetLibBuiltin")) {
408 } else if (Builtin->isSubClassOf("TargetBuiltin")) {
410 } else if (Builtin->isSubClassOf("LibBuiltin")) {
412 if (Builtin->getValueAsBit("AddBuiltinPrefixedAlias"))
413 EmitBuiltinDef(OS, Substitution, Builtin,
415 BuiltinType::Builtin);
417 EmitBuiltinDef(OS, Substitution, Builtin, FullSpelling, BT);
452 for (const auto *Builtin : Records.getAllDerivedDefinitions("AtomicBuiltin"))
453 EmitBuiltin(OS, Builtin);
455 for (const auto *Builtin : Records.getAllDerivedDefinitions("Builtin")) {
456 if (Builtin->isSubClassOf("AtomicBuiltin"))
458 EmitBuiltin(OS, Builtin);