[libcxx-commits] [libcxx] 25bd6fa - [libc++] Reintroduce workaround for stdint re-export on Darwin
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Mar 2 09:38:50 PST 2023
Author: Louis Dionne
Date: 2023-03-02T12:38:36-05:00
New Revision: 25bd6fa5a08e053b843209ad6c29b74495bb1905
URL: https://github.com/llvm/llvm-project/commit/25bd6fa5a08e053b843209ad6c29b74495bb1905
DIFF: https://github.com/llvm/llvm-project/commit/25bd6fa5a08e053b843209ad6c29b74495bb1905.diff
LOG: [libc++] Reintroduce workaround for stdint re-export on Darwin
This had been removed as part of 3a0f88c4c2c4. It turns out that this
did break some code, but we never noticed because it requires including
<stdint.h> (and nothing else), and then using one of the types from
that header. It also requires running with modules enabled in a Standard
no later than C++17.
After the test refactorings in D145116, this bug would be caught
by running a CI job on macOS with modules enabled in C++17 mode
(but surprisingly not with more recent standards). This patch doesn't
add such a job because it is deemed a corner case.
Differential Revision: https://reviews.llvm.org/D145117
Added:
Modified:
libcxx/include/module.modulemap.in
Removed:
################################################################################
diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index 10ef200259a14..da71f110d5b41 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -71,6 +71,10 @@ module std [system] {
module stdint_h {
header "stdint.h"
export *
+ // FIXME: This module only exists on OS X and for some reason the
+ // wildcard above doesn't export it. Removing this breaks the tests
+ // for C compatibility headers in C++17 mode with modules enabled.
+ export Darwin.C.stdint
}
module stdio_h {
// <stdio.h>'s __need_* macros require textual inclusion.
More information about the libcxx-commits
mailing list