xref: /llvm-project-15.0.7/libc/spec/gnu_ext.td (revision 4e00a192)
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  HeaderSpec FEnv = HeaderSpec<
45      "fenv.h",
46      [], // Macros
47      [], // Types
48      [], // Enumerations
49      [
50        FunctionSpec<
51            "fedisableexcept",
52            RetValSpec<IntType>,
53            [ArgSpec<IntType>]
54        >,
55        FunctionSpec<
56            "feenableexcept",
57            RetValSpec<IntType>,
58            [ArgSpec<IntType>]
59        >,
60        FunctionSpec<
61            "fegetexcept",
62            RetValSpec<IntType>,
63            []
64        >
65      ]
66  >;
67
68  let Headers = [
69    CType,
70    FEnv,
71    Math,
72    String,
73  ];
74}
75