diff --git a/libc/spec/gnu_ext.td b/libc/spec/gnu_ext.td new file mode 100644 --- /dev/null +++ b/libc/spec/gnu_ext.td @@ -0,0 +1,19 @@ +def GnuExtensions : StandardSpec<"GNUExtensions"> { + HeaderSpec Math = HeaderSpec< + "math.h", + [], // Macros + [], // Types + [], // Enumerations + [ + FunctionSpec< + "sincosf", + RetValSpec, + [ArgSpec, ArgSpec, ArgSpec] + >, + ] + >; + + let Headers = [ + Math, + ]; +} diff --git a/libc/spec/spec.td b/libc/spec/spec.td --- a/libc/spec/spec.td +++ b/libc/spec/spec.td @@ -47,6 +47,7 @@ // Common types def VoidPtr : PtrType; def SizeTType : NamedType<"size_t">; +def FloatPtr : PtrType; // _Noreturn is really not a type, but it is convenient to treat it as a type. def NoReturn : NamedType<"_Noreturn void">;