diff libc/config/public_api.td @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children 0572611fdcc8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libc/config/public_api.td	Thu Feb 13 15:10:13 2020 +0900
@@ -0,0 +1,29 @@
+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 = [];
+}