xref: /llvm-project-15.0.7/libc/spec/gnu_ext.td (revision 8e4fc55a)
1def GnuExtensions : StandardSpec<"GNUExtensions"> {
2  HeaderSpec CType = HeaderSpec<
3    "ctype.h",
4    [], // Macros
5    [], // Types
6    [], // Enumerations
7    [
8        FunctionSpec<
9            "toascii",
10            RetValSpec<IntType>,
11            [ArgSpec<IntType>]
12        >,
13    ]
14  >;
15
16  HeaderSpec Math = HeaderSpec<
17      "math.h",
18      [], // Macros
19      [], // Types
20      [], // Enumerations
21      [
22        FunctionSpec<
23            "sincosf",
24            RetValSpec<VoidType>,
25            [ArgSpec<FloatType>, ArgSpec<FloatPtr>, ArgSpec<FloatPtr>]
26        >,
27      ]
28  >;
29
30  HeaderSpec String = HeaderSpec<
31      "string.h",
32      [], // Macros
33      [], // Types
34      [], // Enumerations
35      [
36        FunctionSpec<
37            "memrchr",
38            RetValSpec<VoidPtr>,
39            [ArgSpec<VoidPtr>, ArgSpec<IntType>, ArgSpec<SizeTType>]
40        >,
41      ]
42  >;
43
44
45  let Headers = [
46    CType,
47    Math,
48    String,
49  ];
50}
51