[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