forked from OSchip/llvm-project
30 lines
716 B
TableGen
30 lines
716 B
TableGen
include "spec/spec.td"
|
|
|
|
class TypeDecl<string name> {
|
|
string Name = name;
|
|
string Decl = "";
|
|
}
|
|
|
|
class MacroDef<string name> {
|
|
string Name = name;
|
|
string Defn = "";
|
|
}
|
|
|
|
class SimpleMacroDef<string name, string value> : MacroDef<name> {
|
|
let Defn = !strconcat("#define ", name, " ", value);
|
|
}
|
|
|
|
class MacroDefineIfNot<string name, string value> : MacroDef<name> {
|
|
let Defn = !strconcat("#ifndef ", name, "\n",
|
|
"#define " , name, " ", value, "\n",
|
|
"#endif // ", name);
|
|
}
|
|
|
|
class PublicAPI<string name> {
|
|
string HeaderName = name;
|
|
list<MacroDef> Macros = [];
|
|
list<TypeDecl> TypeDeclarations = [];
|
|
list<string> Structs = [];
|
|
list<string> Functions = [];
|
|
}
|