@@ -111,14 +111,15 @@ static void GenerateEnumClauseVal(const std::vector<Record *> &Records,
111111 << " llvm::" << DirLang.getCppNamespace () << " ::" << EnumName
112112 << " ::" << CV->getName () << " ;\n " ;
113113 }
114- EnumHelperFuncs += (llvm::Twine (EnumName) + llvm::Twine (" get" ) +
115- llvm::Twine (EnumName) + llvm::Twine (" (StringRef);\n " ))
114+ EnumHelperFuncs += (llvm::Twine (" LLVM_ABI " ) + llvm::Twine (EnumName) +
115+ llvm::Twine (" get" ) + llvm::Twine (EnumName) +
116+ llvm::Twine (" (StringRef);\n " ))
116117 .str ();
117118
118119 EnumHelperFuncs +=
119- (llvm::Twine (" llvm::StringRef get" ) + llvm::Twine (DirLang. getName () ) +
120- llvm::Twine (EnumName) + llvm::Twine (" Name( " ) +
121- llvm::Twine (EnumName) + llvm::Twine (" );\n " ))
120+ (llvm::Twine (" LLVM_ABI llvm::StringRef get" ) +
121+ llvm::Twine (DirLang. getName ()) + llvm::Twine (EnumName ) +
122+ llvm::Twine (" Name( " ) + llvm::Twine ( EnumName) + llvm::Twine (" );\n " ))
122123 .str ();
123124 }
124125 }
@@ -205,6 +206,7 @@ static void EmitDirectivesDecl(RecordKeeper &Records, raw_ostream &OS) {
205206 if (DirLang.hasEnableBitmaskEnumInNamespace ())
206207 OS << " #include \" llvm/ADT/BitmaskEnum.h\"\n " ;
207208
209+ OS << " #include \" llvm/Support/Compiler.h\"\n " ;
208210 OS << " #include <cstddef>\n " ; // for size_t
209211 OS << " \n " ;
210212 OS << " namespace llvm {\n " ;
@@ -248,26 +250,27 @@ static void EmitDirectivesDecl(RecordKeeper &Records, raw_ostream &OS) {
248250 // Generic function signatures
249251 OS << " \n " ;
250252 OS << " // Enumeration helper functions\n " ;
251- OS << " Directive get" << DirLang.getName ()
253+ OS << " LLVM_ABI Directive get" << DirLang.getName ()
252254 << " DirectiveKind(llvm::StringRef Str);\n " ;
253255 OS << " \n " ;
254- OS << " llvm::StringRef get" << DirLang.getName ()
256+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
255257 << " DirectiveName(Directive D);\n " ;
256258 OS << " \n " ;
257- OS << " Clause get" << DirLang.getName ()
259+ OS << " LLVM_ABI Clause get" << DirLang.getName ()
258260 << " ClauseKind(llvm::StringRef Str);\n " ;
259261 OS << " \n " ;
260- OS << " llvm::StringRef get" << DirLang.getName () << " ClauseName(Clause C);\n " ;
262+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
263+ << " ClauseName(Clause C);\n " ;
261264 OS << " \n " ;
262265 OS << " /// Return true if \\ p C is a valid clause for \\ p D in version \\ p "
263266 << " Version.\n " ;
264- OS << " bool isAllowedClauseForDirective(Directive D, "
267+ OS << " LLVM_ABI bool isAllowedClauseForDirective(Directive D, "
265268 << " Clause C, unsigned Version);\n " ;
266269 OS << " \n " ;
267270 OS << " constexpr std::size_t getMaxLeafCount() { return "
268271 << GetMaxLeafCount (DirLang) << " ; }\n " ;
269- OS << " Association getDirectiveAssociation(Directive D);\n " ;
270- OS << " Category getDirectiveCategory(Directive D);\n " ;
272+ OS << " LLVM_ABI Association getDirectiveAssociation(Directive D);\n " ;
273+ OS << " LLVM_ABI Category getDirectiveCategory(Directive D);\n " ;
271274 if (EnumHelperFuncs.length () > 0 ) {
272275 OS << EnumHelperFuncs;
273276 OS << " \n " ;
0 commit comments