@@ -111,12 +111,12 @@ static void GenerateEnumClauseVal(ArrayRef<const Record *> Records,
111111 << " llvm::" << DirLang.getCppNamespace () << " ::" << EnumName
112112 << " ::" << CV->getName () << " ;\n " ;
113113 }
114- EnumHelperFuncs += (Twine (EnumName ) + Twine (" get " ) + Twine (EnumName ) +
115- Twine (" (StringRef);\n " ))
114+ EnumHelperFuncs += (Twine (" LLVM_ABI " ) + Twine (EnumName ) + Twine (" get " ) +
115+ Twine (EnumName) + Twine ( " (StringRef);\n " ))
116116 .str ();
117117
118118 EnumHelperFuncs +=
119- (Twine (" llvm::StringRef get" ) + Twine (DirLang.getName ()) +
119+ (Twine (" LLVM_ABI llvm::StringRef get" ) + Twine (DirLang.getName ()) +
120120 Twine (EnumName) + Twine (" Name(" ) + Twine (EnumName) + Twine (" );\n " ))
121121 .str ();
122122 }
@@ -200,6 +200,7 @@ static void EmitDirectivesDecl(const RecordKeeper &Records, raw_ostream &OS) {
200200 if (DirLang.hasEnableBitmaskEnumInNamespace ())
201201 OS << " #include \" llvm/ADT/BitmaskEnum.h\"\n " ;
202202
203+ OS << " #include \" llvm/Support/Compiler.h\"\n " ;
203204 OS << " #include <cstddef>\n " ; // for size_t
204205 OS << " \n " ;
205206 OS << " namespace llvm {\n " ;
@@ -242,26 +243,27 @@ static void EmitDirectivesDecl(const RecordKeeper &Records, raw_ostream &OS) {
242243 // Generic function signatures
243244 OS << " \n " ;
244245 OS << " // Enumeration helper functions\n " ;
245- OS << " Directive get" << DirLang.getName ()
246+ OS << " LLVM_ABI Directive get" << DirLang.getName ()
246247 << " DirectiveKind(llvm::StringRef Str);\n " ;
247248 OS << " \n " ;
248- OS << " llvm::StringRef get" << DirLang.getName ()
249+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
249250 << " DirectiveName(Directive D);\n " ;
250251 OS << " \n " ;
251- OS << " Clause get" << DirLang.getName ()
252+ OS << " LLVM_ABI Clause get" << DirLang.getName ()
252253 << " ClauseKind(llvm::StringRef Str);\n " ;
253254 OS << " \n " ;
254- OS << " llvm::StringRef get" << DirLang.getName () << " ClauseName(Clause C);\n " ;
255+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
256+ << " ClauseName(Clause C);\n " ;
255257 OS << " \n " ;
256258 OS << " /// Return true if \\ p C is a valid clause for \\ p D in version \\ p "
257259 << " Version.\n " ;
258- OS << " bool isAllowedClauseForDirective(Directive D, "
260+ OS << " LLVM_ABI bool isAllowedClauseForDirective(Directive D, "
259261 << " Clause C, unsigned Version);\n " ;
260262 OS << " \n " ;
261263 OS << " constexpr std::size_t getMaxLeafCount() { return "
262264 << GetMaxLeafCount (DirLang) << " ; }\n " ;
263- OS << " Association getDirectiveAssociation(Directive D);\n " ;
264- OS << " Category getDirectiveCategory(Directive D);\n " ;
265+ OS << " LLVM_ABI Association getDirectiveAssociation(Directive D);\n " ;
266+ OS << " LLVM_ABI Category getDirectiveCategory(Directive D);\n " ;
265267 if (EnumHelperFuncs.length () > 0 ) {
266268 OS << EnumHelperFuncs;
267269 OS << " \n " ;
0 commit comments