The "magical" builtin headers are the headers we provide as part of the C standard library, which typically comes from /usr/include. We essentially merge our headers into that location (due to cyclic dependencies). This change makes sure that, when header search finds one of our builtin headers, we figure out which module it actually lives in. This case is fairly rare; one ends up having to include one of the few built-in C headers we provide before including anything from /usr/include to trigger it. Fixes <rdar://problem/13787184>. llvm-svn: 180934
33 lines
593 B
Plaintext
33 lines
593 B
Plaintext
module cstd [system] {
|
|
// Only in compiler support directory
|
|
module float_constants {
|
|
header "float.h"
|
|
}
|
|
|
|
// Only in system headers directory
|
|
module stdio {
|
|
header "stdio.h"
|
|
}
|
|
|
|
// In both directories (compiler support version wins, does not forward)
|
|
module stdbool {
|
|
header "stdbool.h"
|
|
}
|
|
|
|
// In both directories (compiler support version wins, forwards)
|
|
module stdint {
|
|
header "stdint.h"
|
|
}
|
|
}
|
|
|
|
module other_constants {
|
|
explicit module dbl_max {
|
|
header "dbl_max.h"
|
|
}
|
|
}
|
|
|
|
module uses_other_constants {
|
|
header "uses_other_constants.h"
|
|
export *
|
|
}
|