@@ -111,12 +111,12 @@ static void GenerateEnumClauseVal(ArrayRef<const Record *> Records,
111
111
<< " llvm::" << DirLang.getCppNamespace () << " ::" << EnumName
112
112
<< " ::" << CV->getName () << " ;\n " ;
113
113
}
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 " ))
116
116
.str ();
117
117
118
118
EnumHelperFuncs +=
119
- (Twine (" llvm::StringRef get" ) + Twine (DirLang.getName ()) +
119
+ (Twine (" LLVM_ABI llvm::StringRef get" ) + Twine (DirLang.getName ()) +
120
120
Twine (EnumName) + Twine (" Name(" ) + Twine (EnumName) + Twine (" );\n " ))
121
121
.str ();
122
122
}
@@ -200,6 +200,7 @@ static void EmitDirectivesDecl(const RecordKeeper &Records, raw_ostream &OS) {
200
200
if (DirLang.hasEnableBitmaskEnumInNamespace ())
201
201
OS << " #include \" llvm/ADT/BitmaskEnum.h\"\n " ;
202
202
203
+ OS << " #include \" llvm/Support/Compiler.h\"\n " ;
203
204
OS << " #include <cstddef>\n " ; // for size_t
204
205
OS << " \n " ;
205
206
OS << " namespace llvm {\n " ;
@@ -242,26 +243,27 @@ static void EmitDirectivesDecl(const RecordKeeper &Records, raw_ostream &OS) {
242
243
// Generic function signatures
243
244
OS << " \n " ;
244
245
OS << " // Enumeration helper functions\n " ;
245
- OS << " Directive get" << DirLang.getName ()
246
+ OS << " LLVM_ABI Directive get" << DirLang.getName ()
246
247
<< " DirectiveKind(llvm::StringRef Str);\n " ;
247
248
OS << " \n " ;
248
- OS << " llvm::StringRef get" << DirLang.getName ()
249
+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
249
250
<< " DirectiveName(Directive D);\n " ;
250
251
OS << " \n " ;
251
- OS << " Clause get" << DirLang.getName ()
252
+ OS << " LLVM_ABI Clause get" << DirLang.getName ()
252
253
<< " ClauseKind(llvm::StringRef Str);\n " ;
253
254
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 " ;
255
257
OS << " \n " ;
256
258
OS << " /// Return true if \\ p C is a valid clause for \\ p D in version \\ p "
257
259
<< " Version.\n " ;
258
- OS << " bool isAllowedClauseForDirective(Directive D, "
260
+ OS << " LLVM_ABI bool isAllowedClauseForDirective(Directive D, "
259
261
<< " Clause C, unsigned Version);\n " ;
260
262
OS << " \n " ;
261
263
OS << " constexpr std::size_t getMaxLeafCount() { return "
262
264
<< 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 " ;
265
267
if (EnumHelperFuncs.length () > 0 ) {
266
268
OS << EnumHelperFuncs;
267
269
OS << " \n " ;
0 commit comments