diff --git a/clang/include/clang/Basic/BuiltinsBase.td b/clang/include/clang/Basic/BuiltinsBase.td index b65b41be03265..bfccff5600ddb 100644 --- a/clang/include/clang/Basic/BuiltinsBase.td +++ b/clang/include/clang/Basic/BuiltinsBase.td @@ -87,7 +87,9 @@ class CustomEntry { } class AtomicBuiltin : Builtin; -class TargetBuiltin : Builtin; +class TargetBuiltin : Builtin { + string Features = ""; +} class LibBuiltin : Builtin { string Header = header; diff --git a/clang/utils/TableGen/ClangBuiltinsEmitter.cpp b/clang/utils/TableGen/ClangBuiltinsEmitter.cpp index dc10fa14c5959..48f55b8af97e4 100644 --- a/clang/utils/TableGen/ClangBuiltinsEmitter.cpp +++ b/clang/utils/TableGen/ClangBuiltinsEmitter.cpp @@ -219,7 +219,7 @@ void EmitBuiltinDef(llvm::raw_ostream &OS, StringRef Substitution, break; } case BuiltinType::TargetBuiltin: - OS << ", \"\""; + OS << ", \"" << Builtin->getValueAsString("Features") << "\""; break; case BuiltinType::AtomicBuiltin: case BuiltinType::Builtin: