@@ -111,14 +111,15 @@ static void GenerateEnumClauseVal(const std::vector<Record *> &Records,
111
111
<< " llvm::" << DirLang.getCppNamespace () << " ::" << EnumName
112
112
<< " ::" << CV->getName () << " ;\n " ;
113
113
}
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 " ))
116
117
.str ();
117
118
118
119
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 " ))
122
123
.str ();
123
124
}
124
125
}
@@ -205,6 +206,7 @@ static void EmitDirectivesDecl(RecordKeeper &Records, raw_ostream &OS) {
205
206
if (DirLang.hasEnableBitmaskEnumInNamespace ())
206
207
OS << " #include \" llvm/ADT/BitmaskEnum.h\"\n " ;
207
208
209
+ OS << " #include \" llvm/Support/Compiler.h\"\n " ;
208
210
OS << " #include <cstddef>\n " ; // for size_t
209
211
OS << " \n " ;
210
212
OS << " namespace llvm {\n " ;
@@ -248,26 +250,27 @@ static void EmitDirectivesDecl(RecordKeeper &Records, raw_ostream &OS) {
248
250
// Generic function signatures
249
251
OS << " \n " ;
250
252
OS << " // Enumeration helper functions\n " ;
251
- OS << " Directive get" << DirLang.getName ()
253
+ OS << " LLVM_ABI Directive get" << DirLang.getName ()
252
254
<< " DirectiveKind(llvm::StringRef Str);\n " ;
253
255
OS << " \n " ;
254
- OS << " llvm::StringRef get" << DirLang.getName ()
256
+ OS << " LLVM_ABI llvm::StringRef get" << DirLang.getName ()
255
257
<< " DirectiveName(Directive D);\n " ;
256
258
OS << " \n " ;
257
- OS << " Clause get" << DirLang.getName ()
259
+ OS << " LLVM_ABI Clause get" << DirLang.getName ()
258
260
<< " ClauseKind(llvm::StringRef Str);\n " ;
259
261
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 " ;
261
264
OS << " \n " ;
262
265
OS << " /// Return true if \\ p C is a valid clause for \\ p D in version \\ p "
263
266
<< " Version.\n " ;
264
- OS << " bool isAllowedClauseForDirective(Directive D, "
267
+ OS << " LLVM_ABI bool isAllowedClauseForDirective(Directive D, "
265
268
<< " Clause C, unsigned Version);\n " ;
266
269
OS << " \n " ;
267
270
OS << " constexpr std::size_t getMaxLeafCount() { return "
268
271
<< 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 " ;
271
274
if (EnumHelperFuncs.length () > 0 ) {
272
275
OS << EnumHelperFuncs;
273
276
OS << " \n " ;
0 commit comments