1 include "config/public_api.td"
4 include "spec/posix.td"
5 include "spec/gpu_ext.td"
6 include "spec/gnu_ext.td"
7 include "spec/llvm_libc_ext.td"
9 def AssertMacro : MacroDef<"assert"> {
14 #define assert(e) (void)0
18 ((e) ? (void)0 : __assert_fail(#e, __FILE__, __LINE__, __PRETTY_FUNCTION__))
23 def StaticAssertMacro : MacroDef<"static_assert"> {
27 #define static_assert _Static_assert
32 def AssertAPI : PublicAPI<"assert.h"> {
39 def StringAPI : PublicAPI<"string.h"> {
40 let Types = ["size_t"];
43 def StdlibAPI : PublicAPI<"stdlib.h"> {
56 def FenvAPI: PublicAPI<"fenv.h"> {
57 let Types = ["fenv_t"];
60 def StdIOAPI : PublicAPI<"stdio.h"> {
62 SimpleMacroDef<"_IOFBF", "0">,
63 SimpleMacroDef<"_IOLBF", "1">,
64 SimpleMacroDef<"_IONBF", "2">,
65 SimpleMacroDef<"EOF", "-1">,
67 let Types = ["size_t", "FILE"];
70 def IntTypesAPI : PublicAPI<"inttypes.h"> {
71 let Types = ["imaxdiv_t"];
74 def TimeAPI : PublicAPI<"time.h"> {