[InstCombine] Drop range attributes in `foldBitCeil` (#116641)
[llvm-project.git] / libc / spec / bsd_ext.td
blob2b91324e36db9aa32a7293e28ea11cde9633b7f2
1 def BsdExtensions : StandardSpec<"BSDExtensions"> {
2   HeaderSpec Math = HeaderSpec<
3       "math.h",
4       [], // Macros
5       [], // Types
6       [], // Enumerations
7       [
8           FunctionSpec<"isnan", RetValSpec<IntType>, [ArgSpec<DoubleType>]>,
9           FunctionSpec<"isnanf", RetValSpec<IntType>, [ArgSpec<FloatType>]>,
10           FunctionSpec<"isnanl", RetValSpec<IntType>, [ArgSpec<LongDoubleType>]>,
11       ]
12   >;
14   HeaderSpec String = HeaderSpec<
15       "string.h",
16       [], // Macros
17       [], // Types
18       [], // Enumerations
19       [
20         FunctionSpec<
21             "strlcat",
22             RetValSpec<SizeTType>,
23             [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<SizeTType>]
24         >,
25         FunctionSpec<
26             "strlcpy",
27             RetValSpec<SizeTType>,
28             [ArgSpec<CharRestrictedPtr>, ArgSpec<ConstCharRestrictedPtr>, ArgSpec<SizeTType>]
29         >,
30         FunctionSpec<
31             "strsep",
32             RetValSpec<CharPtr>,
33             [ArgSpec<CharRestrictedPtrPtr>, ArgSpec<ConstCharRestrictedPtr>]
34         >,
35       ]
36   >;
38   HeaderSpec Strings = HeaderSpec<
39       "strings.h",
40       [], // Macros
41       [], // Types
42       [], // Enumerations
43       [
44         FunctionSpec<
45             "strcasecmp",
46             RetValSpec<IntType>,
47             [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>]
48         >,
49         FunctionSpec<
50             "strncasecmp",
51             RetValSpec<IntType>,
52             [ArgSpec<ConstCharPtr>, ArgSpec<ConstCharPtr>, ArgSpec<SizeTType>]
53         >,
54         FunctionSpec<
55             "index",
56             RetValSpec<CharPtr>,
57             [ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
58         >,
59         FunctionSpec<
60             "rindex",
61             RetValSpec<CharPtr>,
62             [ArgSpec<ConstCharPtr>, ArgSpec<IntType>]
63         >,
64       ]
65   >;
67   HeaderSpec SysWait = HeaderSpec<
68       "sys/wait.h",
69       [], // Macros
70       [StructRUsage], // Types
71       [], // Enumerations
72       [
73         FunctionSpec<
74             "wait4",
75             RetValSpec<PidT>,
76             [ArgSpec<PidT>, ArgSpec<IntPtr>, ArgSpec<IntType>, ArgSpec<StructRUsagePtr>]
77         >
78       ]
79   >;
81   let Headers = [
82     Math,
83     String,
84     Strings,
85     SysWait,
86   ];