mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
`__msvc_bit_utils.hpp` was added in a recent version of MSVC, and it is causing build errors for SwiftCompilerSources:
```
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\numeric:598:12: error: function '_Select_countr_zero_impl<unsigned long long, (lambda at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\numeric:598:55)>' with deduced return type cannot be used before it is defined
return _Select_countr_zero_impl<_Common_unsigned>([=](auto _Countr_zero_impl) {
```
This change references the `__msvc_bit_utils.hpp` header from the modulemap. Since we still need to support older versions of Visual Studio that do not provide `__msvc_bit_utils.hpp`, this also teaches ClangImporter to inject an empty header file named `__msvc_bit_utils.hpp` into the system include directory, unless it already exists.
rdar://137066642
66 lines
865 B
Plaintext
66 lines
865 B
Plaintext
module StdNumeric {
|
|
header "std-numeric.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdVector {
|
|
header "std-vector.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdSpan {
|
|
header "std-span.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdMap {
|
|
header "std-map.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdOptional {
|
|
header "std-optional.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdSet {
|
|
header "std-set.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdString {
|
|
header "std-string.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdPair {
|
|
header "std-pair.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module MsvcUseVecIt {
|
|
header "msvc-std-vector-it.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdUniquePtr {
|
|
header "std-unique-ptr.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|
|
|
|
module StdFunction {
|
|
header "std-function.h"
|
|
requires cplusplus
|
|
export *
|
|
}
|