File tree Expand file tree Collapse file tree 16 files changed +203
-69
lines changed Expand file tree Collapse file tree 16 files changed +203
-69
lines changed Original file line number Diff line number Diff line change 1
1
module cstd [system] {
2
- // Only in system headers directory
3
- module complex {
4
- header "complex.h"
5
- }
6
-
7
2
// Only in compiler support directory
8
3
module float_constants {
9
4
header "float.h"
10
5
}
11
6
12
- // In both directories (compiler support version wins, forwards)
13
- module inttypes {
14
- header "inttypes.h"
15
- }
16
-
17
- // Only in system headers directory
18
- module math {
19
- header "math.h"
20
- }
21
-
22
7
// Only in system headers directory
23
8
module stdio {
24
9
header "stdio.h"
Original file line number Diff line number Diff line change 1
- #ifndef STDINT_H
2
- #define STDINT_H
3
-
4
1
typedef int my_awesome_nonstandard_integer_type ;
5
-
6
- // types needed by stdatomic.h
7
-
8
- typedef char int_least8_t ;
9
- typedef short int_least16_t ;
10
- typedef int int_least32_t ;
11
- typedef long long int int_least64_t ;
12
- typedef unsigned char uint_least8_t ;
13
- typedef unsigned short uint_least16_t ;
14
- typedef unsigned int uint_least32_t ;
15
- typedef unsigned long long uint_least64_t ;
16
-
17
- typedef char int_fast8_t ;
18
- typedef short int_fast16_t ;
19
- typedef int int_fast32_t ;
20
- typedef long long int int_fast64_t ;
21
- typedef unsigned char uint_fast8_t ;
22
- typedef unsigned short uint_fast16_t ;
23
- typedef unsigned int uint_fast32_t ;
24
- typedef unsigned long long uint_fast64_t ;
25
-
26
- typedef int intptr_t ;
27
- typedef unsigned int uintptr_t ;
28
- typedef int intmax_t ;
29
- typedef unsigned int uintmax_t ;
30
-
31
- // additional types for unwind.h
32
-
33
- typedef unsigned int uint32_t ;
34
- typedef unsigned long long uint64_t ;
35
-
36
- #endif /* STDINT_H */
Original file line number Diff line number Diff line change
1
+ module c_complex [system] {
2
+ header "complex.h"
3
+ export *
4
+ }
5
+
6
+ module c_float [system] {
7
+ header "float.h"
8
+ export *
9
+ }
10
+
11
+ module c_inttypes [system] {
12
+ header "inttypes.h"
13
+ export *
14
+ }
15
+
16
+ module c_limits [system] {
17
+ header "limits.h"
18
+ export *
19
+ }
20
+
21
+ module c_math [system] {
22
+ header "math.h"
23
+ export *
24
+ }
25
+
26
+ module c_stdint [system] {
27
+ header "stdint.h"
28
+ export *
29
+ }
Original file line number Diff line number Diff line change
1
+ module cpp_stdint [system] {
2
+ header "stdint.h"
3
+ export *
4
+ }
Original file line number Diff line number Diff line change
1
+ #ifndef CPP_STDINT_H
2
+ #define CPP_STDINT_H
3
+
4
+ #include_next <stdint.h>
5
+
6
+ #endif
Original file line number Diff line number Diff line change
1
+ // Required by tgmath.h
File renamed without changes.
Original file line number Diff line number Diff line change
1
+ #ifndef INTTYPES_H
2
+ #define INTTYPES_H
3
+
4
+ // This creates an include cycle when inttypes.h and stdint.h
5
+ // are both part of the cstd module. This include will resolve
6
+ // to the C++ stdint.h, which will #include_next eventually to
7
+ // the stdint.h in this directory, and thus create the cycle
8
+ // cstd (inttypes.h) -> cpp_stdint (stdint.h) -> cstd (stdint.h).
9
+ // This cycle is worked around by cstd using [no_undeclared_includes].
10
+ #include <stdint.h>
11
+
12
+ #endif
You can’t perform that action at this time.
0 commit comments