Fix stdint/cstdint modules
authorEric Fiselier <eric@efcs.ca>
Sat, 19 Nov 2016 03:29:03 +0000 (03:29 +0000)
committerEric Fiselier <eric@efcs.ca>
Sat, 19 Nov 2016 03:29:03 +0000 (03:29 +0000)
llvm-svn: 287435

libcxx/include/module.modulemap
libcxx/test/libcxx/modules/cinttypes_exports.sh.cpp [new file with mode: 0644]
libcxx/test/libcxx/modules/cstdint_exports.sh.cpp [new file with mode: 0644]
libcxx/test/libcxx/modules/inttypes_h_exports.sh.cpp [new file with mode: 0644]
libcxx/test/libcxx/modules/stdint_h_exports.sh.cpp [new file with mode: 0644]

index 3199d3d..aa07bfa 100644 (file)
@@ -21,47 +21,20 @@ module std [system] {
     module inttypes_h {
       header "inttypes.h"
       export stdint_h
-/*
-      export_macros
-        PRId8, PRId16, PRId32, PRId64, PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64, PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64, PRIdMAX, PRIdPTR,
-        PRIi8, PRIi16, PRIi32, PRIi64, PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64, PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64, PRIiMAX, PRIiPTR,
-        PRIo8, PRIo16, PRIo32, PRIo64, PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64, PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64, PRIoMAX, PRIoPTR,
-        PRIu8, PRIu16, PRIu32, PRIu64, PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64, PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64, PRIuMAX, PRIuPTR,
-        PRIx8, PRIx16, PRIx32, PRIx64, PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64, PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64, PRIxMAX, PRIxPTR,
-        PRIX8, PRIX16, PRIX32, PRIX64, PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64, PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64, PRIXMAX, PRIXPTR,
-        SCNd8, SCNd16, SCNd32, SCNd64, SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64, SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64, SCNdMAX, SCNdPTR,
-        SCNi8, SCNi16, SCNi32, SCNi64, SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64, SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64, SCNiMAX, SCNiPTR,
-        SCNo8, SCNo16, SCNo32, SCNo64, SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64, SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64, SCNoMAX, SCNoPTR,
-        SCNu8, SCNu16, SCNu32, SCNu64, SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64, SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64, SCNuMAX, SCNuPTR,
-        SCNx8, SCNx16, SCNx32, SCNx64, SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64, SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64, SCNxMAX, SCNxPTR,
-        SCNX8, SCNX16, SCNX32, SCNX64, SCNXFAST8, SCNXFAST16, SCNXFAST32, SCNXFAST64, SCNXLEAST8, SCNXLEAST16, SCNXLEAST32, SCNXLEAST64, SCNXMAX, SCNXPTR
-*/
       export *
     }
     // <iso646.h> provided by compiler.
     // <limits.h> provided by compiler or C library.
     module locale_h {
       header "locale.h"
-/*
-      export_macros LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME
-*/
       export *
     }
     module math_h {
       header "math.h"
-/*
-      export_macros FP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL, FP_ILOGBO, FP_ILOGBNAN,
-                    FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO,
-                    HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN,
-                    MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
-*/
       export *
     }
     module setjmp_h {
       header "setjmp.h"
-/*
-      export_macros setjmp
-*/
       export *
     }
     // FIXME: <stdalign.h> is missing.
@@ -72,30 +45,22 @@ module std [system] {
       // <stddef.h>'s __need_* macros require textual inclusion.
       textual header "stddef.h"
     }
-    // <stdint.h> provided by compiler or C library.
+    module stdint_h {
+      header "stdint.h"
+      export *
+    }
     module stdio_h {
       // <stdio.h>'s __need_* macros require textual inclusion.
       textual header "stdio.h"
-/*
-      export_macros BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_tmpnam, NULL,
-                    SEEK_CUR, SEEK_END, SEEK_SET, TMP_MAX, _IOFBF, _IOLBF,
-                    stdin, stdout, stderr
-*/
       export *
     }
     module stdlib_h {
       // <stdlib.h>'s __need_* macros require textual inclusion.
       textual header "stdlib.h"
-/*
-      export_macros RAND_MAX
-*/
       export *
     }
     module string_h {
       header "string.h"
-/*
-      export_macros NULL
-*/
       export *
     }
     // FIXME: <uchar.h> is missing.
@@ -103,16 +68,10 @@ module std [system] {
     module wchar_h {
       // <wchar.h>'s __need_* macros require textual inclusion.
       textual header "wchar.h"
-/*
-      export_macros NULL, WCHAR_MAX, WCHAR_MIN, WEOF
-*/
       export *
     }
     module wctype_h {
       header "wctype.h"
-/*
-      export_macros WEOF
-*/
       export *
     }
   }
@@ -148,67 +107,19 @@ module std [system] {
     }
     module cerrno {
       header "cerrno"
-/*
-      export_macros    ECONNREFUSED, EIO,          ENODEV,      ENOTEMPTY,       ERANGE,
-        E2BIG,         ECONNRESET,   EISCONN,      ENOENT,      ENOTRECOVERABLE, EROFS,
-        EACCES,        EDEADLK,      EISDIR,       ENOEXEC,     ENOTSOCK,        ESPIPE,
-        EADDRINUSE,    EDESTADDRREQ, ELOOP,        ENOLCK,      ENOTSUP,         ESRCH,
-        EADDRNOTAVAIL, EDOM,         EMFILE,       ENOLINK,     ENOTTY,          ETIME,
-        EAFNOSUPPORT,  EEXIST,       EMLINK,       ENOMEM,      ENXIO,           ETIMEDOUT,
-        EAGAIN,        EFAULT,       EMSGSIZE,     ENOMSG,      EOPNOTSUPP,      ETXTBSY,
-        EALREADY,      EFBIG,        ENAMETOOLONG, ENOPROTOOPT, EOVERFLOW,       EWOULDBLOCK,
-        EBADF,         EHOSTUNREACH, ENETDOWN,     ENOSPC,      EOWNERDEAD,      EXDEV,
-        EBADMSG,       EIDRM,        ENETRESET,    ENOSR,       EPERM,           errno,
-        EBUSY,         EILSEQ,       ENETUNREACH,  ENOSTR,      EPIPE,
-        ECANCELED,     EINPROGRESS,  ENFILE,       ENOSYS,      EPROTO,
-        ECHILD,        EINTR,        ENOBUFS,      ENOTCONN,    EPROTONOSUPPORT,
-        ECONNABORTED,  EINVAL,       ENODATA,      ENOTDIR,     EPROTOTYPE
-*/
       export *
     }
     module cfenv {
       header "cfenv"
-/*
-      export_macros FE_ALL_EXCEPT, FE_DIVBYZERO, FE_INEXACT, FE_INVALID, FE_OVERFLOW,
-                    FE_UNDERFLOW, FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD,
-                    FE_DFL_ENV
-*/
       export *
     }
     module cfloat {
       header "cfloat"
-/*
-      export_macros FLT_EVAL_METHOD, FLT_RADIX, FLT_ROUNDS,
-                    FLT_DIG, FLT_EPSILON, FLT_MANT_DIG,
-                    FLT_MAX, FLT_MAX_10_EXP, FLT_MAX_EXP,
-                    FLT_MIN, FLT_MIN_10_EXP, FLT_MIN_EXP,
-                    DBL_DIG, DBL_EPSILON, DBL_MANT_DIG,
-                    DBL_MAX, DBL_MAX_10_EXP, DBL_MAX_EXP,
-                    DBL_MIN, DBL_MIN_10_EXP, DBL_MIN_EXP,
-                    LDBL_DIG, LDBL_EPSILON, LDBL_MANT_DIG,
-                    LDBL_MAX, LDBL_MAX_10_EXP, LDBL_MAX_EXP,
-                    LDBL_MIN, LDBL_MIN_10_EXP, LDBL_MIN_EXP
-*/
       export *
     }
     module cinttypes {
       header "cinttypes"
       export cstdint
-/*
-      export_macros
-        PRId8, PRId16, PRId32, PRId64, PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64, PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64, PRIdMAX, PRIdPTR,
-        PRIi8, PRIi16, PRIi32, PRIi64, PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64, PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64, PRIiMAX, PRIiPTR,
-        PRIo8, PRIo16, PRIo32, PRIo64, PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64, PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64, PRIoMAX, PRIoPTR,
-        PRIu8, PRIu16, PRIu32, PRIu64, PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64, PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64, PRIuMAX, PRIuPTR,
-        PRIx8, PRIx16, PRIx32, PRIx64, PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64, PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64, PRIxMAX, PRIxPTR,
-        PRIX8, PRIX16, PRIX32, PRIX64, PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64, PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64, PRIXMAX, PRIXPTR,
-        SCNd8, SCNd16, SCNd32, SCNd64, SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64, SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64, SCNdMAX, SCNdPTR,
-        SCNi8, SCNi16, SCNi32, SCNi64, SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64, SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64, SCNiMAX, SCNiPTR,
-        SCNo8, SCNo16, SCNo32, SCNo64, SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64, SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64, SCNoMAX, SCNoPTR,
-        SCNu8, SCNu16, SCNu32, SCNu64, SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64, SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64, SCNuMAX, SCNuPTR,
-        SCNx8, SCNx16, SCNx32, SCNx64, SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64, SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64, SCNxMAX, SCNxPTR,
-        SCNX8, SCNX16, SCNX32, SCNX64, SCNXFAST8, SCNXFAST16, SCNXFAST32, SCNXFAST64, SCNXLEAST8, SCNXLEAST16, SCNXLEAST32, SCNXLEAST64, SCNXMAX, SCNXPTR
-*/
       export *
     }
     module ciso646 {
@@ -217,108 +128,52 @@ module std [system] {
     }
     module climits {
       header "climits"
-/*
-      export_macros CHAR_BIT,  CHAR_MIN,  CHAR_MAX,
-                    SCHAR_MIN, SCHAR_MAX, UCHAR_MAX,
-                    SHRT_MIN,  SHRT_MAX,  USHRT_MAX,
-                    INT_MIN,   INT_MAX,   UINT_MAX,
-                    LONG_MIN,  LONG_MAX,  ULONG_MAX,
-                    LLONG_MIN, LLONG_MAX, ULLONG_MAX,
-                    MB_LEN_MAX
-*/
       export *
     }
     module clocale {
       header "clocale"
-/*
-      export_macros LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, NULL
-*/
       export *
     }
     module cmath {
       header "cmath"
-/*
-      export_macros FP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL, FP_ILOGBO, FP_ILOGBNAN,
-                    FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO,
-                    HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN,
-                    MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
-*/
       export *
     }
     module csetjmp {
       header "csetjmp"
-/*
-      export_macros setjmp
-*/
       export *
     }
     module csignal {
       header "csignal"
-/*
-      export_macros SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM,
-                    SIG_DFL, SIG_IGN, SIG_ERR
-*/
       export *
     }
     // FIXME: <cstdalign> is missing.
     module cstdarg {
       header "cstdarg"
-/*
-      export_macros va_arg, va_start, va_end, va_copy
-*/
       export *
     }
     module cstdbool {
       header "cstdbool"
-/*
-      export_macros __bool_true_false_are_defined
-*/
       export *
     }
     module cstddef {
       header "cstddef"
-/*
-      export_macros NULL, offsetof
-*/
       export *
     }
     module cstdint {
       header "cstdint"
-/*
-      export_macros
-        INT_8_MIN, INT_8_MAX, UINT_8_MAX, INT_16_MIN, INT_16_MAX, UINT_16_MAX,
-        INT_32_MIN, INT_32_MAX, UINT_32_MAX, INT_64_MIN, INT_64_MAX, UINT_64_MAX,
-        INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX,
-        INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX,
-        INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX,
-        INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
-        INT_MAX_MIN, INT_MAX_MAX, UINT_MAX_MAX, INT_PTR_MIN, INT_PTR_MAX, UINT_PTR_MAX,
-        PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX,
-        SIZE_MAX
-*/
+      export depr.stdint_h
       export *
     }
     module cstdio {
       header "cstdio"
-/*
-      export_macros BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_tmpnam, NULL,
-                    SEEK_CUR, SEEK_END, SEEK_SET, TMP_MAX, _IOFBF, _IOLBF,
-                    stdin, stdout, stderr
-*/
       export *
     }
     module cstdlib {
       header "cstdlib"
-/*
-      export_macros RAND_MAX
-*/
       export *
     }
     module cstring {
       header "cstring"
-/*
-      export_macros NULL
-*/
       export *
     }
     module ctgmath {
@@ -329,24 +184,15 @@ module std [system] {
     }
     module ctime {
       header "ctime"
-/*
-      export_macros NULL, CLOCKS_PER_SEC
-*/
       export *
     }
     // FIXME: <cuchar> is missing.
     module cwchar {
       header "cwchar"
-/*
-      export_macros NULL, WCHAR_MAX, WCHAR_MIN, WEOF
-*/
       export *
     }
     module cwctype {
       header "cwctype"
-/*
-      export_macros WEOF
-*/
       export *
     }
   }
@@ -373,118 +219,10 @@ module std [system] {
     export *
   }
   // No submodule for cassert. It fundamentally needs repeated, textual inclusion.
-  module ccomplex {
-    header "ccomplex"
-    export complex
-    export *
-  }
-  module cctype {
-    header "cctype"
-    export *
-  }
-  module cerrno {
-    header "cerrno"
-/*
-    export_macros    ECONNREFUSED, EIO,          ENODEV,      ENOTEMPTY,       ERANGE,
-      E2BIG,         ECONNRESET,   EISCONN,      ENOENT,      ENOTRECOVERABLE, EROFS,
-      EACCES,        EDEADLK,      EISDIR,       ENOEXEC,     ENOTSOCK,        ESPIPE,
-      EADDRINUSE,    EDESTADDRREQ, ELOOP,        ENOLCK,      ENOTSUP,         ESRCH,
-      EADDRNOTAVAIL, EDOM,         EMFILE,       ENOLINK,     ENOTTY,          ETIME,
-      EAFNOSUPPORT,  EEXIST,       EMLINK,       ENOMEM,      ENXIO,           ETIMEDOUT,
-      EAGAIN,        EFAULT,       EMSGSIZE,     ENOMSG,      EOPNOTSUPP,      ETXTBSY,
-      EALREADY,      EFBIG,        ENAMETOOLONG, ENOPROTOOPT, EOVERFLOW,       EWOULDBLOCK,
-      EBADF,         EHOSTUNREACH, ENETDOWN,     ENOSPC,      EOWNERDEAD,      EXDEV,
-      EBADMSG,       EIDRM,        ENETRESET,    ENOSR,       EPERM,           errno,
-      EBUSY,         EILSEQ,       ENETUNREACH,  ENOSTR,      EPIPE,
-      ECANCELED,     EINPROGRESS,  ENFILE,       ENOSYS,      EPROTO,
-      ECHILD,        EINTR,        ENOBUFS,      ENOTCONN,    EPROTONOSUPPORT,
-      ECONNABORTED,  EINVAL,       ENODATA,      ENOTDIR,     EPROTOTYPE
-*/
-    export *
-  }
-  module cfenv {
-    header "cfenv"
-/*
-    export_macros FE_ALL_EXCEPT, FE_DIVBYZERO, FE_INEXACT, FE_INVALID, FE_OVERFLOW,
-                  FE_UNDERFLOW, FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD,
-                  FE_DFL_ENV
-*/
-    export *
-  }
-  module cfloat {
-    header "cfloat"
-/*
-    export_macros FLT_EVAL_METHOD, FLT_RADIX, FLT_ROUNDS,
-                  FLT_DIG, FLT_EPSILON, FLT_MANT_DIG,
-                  FLT_MAX, FLT_MAX_10_EXP, FLT_MAX_EXP,
-                  FLT_MIN, FLT_MIN_10_EXP, FLT_MIN_EXP,
-                  DBL_DIG, DBL_EPSILON, DBL_MANT_DIG,
-                  DBL_MAX, DBL_MAX_10_EXP, DBL_MAX_EXP,
-                  DBL_MIN, DBL_MIN_10_EXP, DBL_MIN_EXP,
-                  LDBL_DIG, LDBL_EPSILON, LDBL_MANT_DIG,
-                  LDBL_MAX, LDBL_MAX_10_EXP, LDBL_MAX_EXP,
-                  LDBL_MIN, LDBL_MIN_10_EXP, LDBL_MIN_EXP
-*/
-    export *
-  }
   module chrono {
     header "chrono"
     export *
   }
-  module cinttypes {
-    header "cinttypes"
-    export cstdint
-/*
-    export_macros
-      PRId8, PRId16, PRId32, PRId64, PRIdFAST8, PRIdFAST16, PRIdFAST32, PRIdFAST64, PRIdLEAST8, PRIdLEAST16, PRIdLEAST32, PRIdLEAST64, PRIdMAX, PRIdPTR,
-      PRIi8, PRIi16, PRIi32, PRIi64, PRIiFAST8, PRIiFAST16, PRIiFAST32, PRIiFAST64, PRIiLEAST8, PRIiLEAST16, PRIiLEAST32, PRIiLEAST64, PRIiMAX, PRIiPTR,
-      PRIo8, PRIo16, PRIo32, PRIo64, PRIoFAST8, PRIoFAST16, PRIoFAST32, PRIoFAST64, PRIoLEAST8, PRIoLEAST16, PRIoLEAST32, PRIoLEAST64, PRIoMAX, PRIoPTR,
-      PRIu8, PRIu16, PRIu32, PRIu64, PRIuFAST8, PRIuFAST16, PRIuFAST32, PRIuFAST64, PRIuLEAST8, PRIuLEAST16, PRIuLEAST32, PRIuLEAST64, PRIuMAX, PRIuPTR,
-      PRIx8, PRIx16, PRIx32, PRIx64, PRIxFAST8, PRIxFAST16, PRIxFAST32, PRIxFAST64, PRIxLEAST8, PRIxLEAST16, PRIxLEAST32, PRIxLEAST64, PRIxMAX, PRIxPTR,
-      PRIX8, PRIX16, PRIX32, PRIX64, PRIXFAST8, PRIXFAST16, PRIXFAST32, PRIXFAST64, PRIXLEAST8, PRIXLEAST16, PRIXLEAST32, PRIXLEAST64, PRIXMAX, PRIXPTR,
-      SCNd8, SCNd16, SCNd32, SCNd64, SCNdFAST8, SCNdFAST16, SCNdFAST32, SCNdFAST64, SCNdLEAST8, SCNdLEAST16, SCNdLEAST32, SCNdLEAST64, SCNdMAX, SCNdPTR,
-      SCNi8, SCNi16, SCNi32, SCNi64, SCNiFAST8, SCNiFAST16, SCNiFAST32, SCNiFAST64, SCNiLEAST8, SCNiLEAST16, SCNiLEAST32, SCNiLEAST64, SCNiMAX, SCNiPTR,
-      SCNo8, SCNo16, SCNo32, SCNo64, SCNoFAST8, SCNoFAST16, SCNoFAST32, SCNoFAST64, SCNoLEAST8, SCNoLEAST16, SCNoLEAST32, SCNoLEAST64, SCNoMAX, SCNoPTR,
-      SCNu8, SCNu16, SCNu32, SCNu64, SCNuFAST8, SCNuFAST16, SCNuFAST32, SCNuFAST64, SCNuLEAST8, SCNuLEAST16, SCNuLEAST32, SCNuLEAST64, SCNuMAX, SCNuPTR,
-      SCNx8, SCNx16, SCNx32, SCNx64, SCNxFAST8, SCNxFAST16, SCNxFAST32, SCNxFAST64, SCNxLEAST8, SCNxLEAST16, SCNxLEAST32, SCNxLEAST64, SCNxMAX, SCNxPTR,
-      SCNX8, SCNX16, SCNX32, SCNX64, SCNXFAST8, SCNXFAST16, SCNXFAST32, SCNXFAST64, SCNXLEAST8, SCNXLEAST16, SCNXLEAST32, SCNXLEAST64, SCNXMAX, SCNXPTR
-*/
-    export *
-  }
-  module ciso646 {
-    header "ciso646"
-    export *
-  }
-  module climits {
-    header "climits"
-/*
-    export_macros CHAR_BIT,  CHAR_MIN,  CHAR_MAX,
-                  SCHAR_MIN, SCHAR_MAX, UCHAR_MAX,
-                  SHRT_MIN,  SHRT_MAX,  USHRT_MAX,
-                  INT_MIN,   INT_MAX,   UINT_MAX,
-                  LONG_MIN,  LONG_MAX,  ULONG_MAX,
-                  LLONG_MIN, LLONG_MAX, ULLONG_MAX,
-                  MB_LEN_MAX
-*/
-    export *
-  }
-  module clocale {
-    header "clocale"
-/*
-    export_macros LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, NULL
-*/
-    export *
-  }
-  module cmath {
-    header "cmath"
-/*
-    export_macros FP_FAST_FMA, FP_FAST_FMAF, FP_FAST_FMAL, FP_ILOGBO, FP_ILOGBNAN,
-                  FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO,
-                  HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN,
-                  MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
-*/
-    export *
-  }
   module codecvt {
     header "codecvt"
     export *
@@ -497,108 +235,6 @@ module std [system] {
     header "condition_variable"
     export *
   }
-  module csetjmp {
-    header "csetjmp"
-/*
-    export_macros setjmp
-*/
-    export *
-  }
-  module csignal {
-    header "csignal"
-/*
-    export_macros SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM,
-                  SIG_DFL, SIG_IGN, SIG_ERR
-*/
-    export *
-  }
-  module cstdarg {
-    header "cstdarg"
-/*
-    export_macros va_arg, va_start, va_end, va_copy
-*/
-    export *
-  }
-  module cstdbool {
-    header "cstdbool"
-/*
-    export_macros __bool_true_false_are_defined
-*/
-    export *
-  }
-  module cstddef {
-    header "cstddef"
-/*
-    export_macros NULL, offsetof
-*/
-    export *
-  }
-  module cstdint {
-    header "cstdint"
-/*
-    export_macros
-      INT_8_MIN, INT_8_MAX, UINT_8_MAX, INT_16_MIN, INT_16_MAX, UINT_16_MAX,
-      INT_32_MIN, INT_32_MAX, UINT_32_MAX, INT_64_MIN, INT_64_MAX, UINT_64_MAX,
-      INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX,
-      INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX,
-      INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX,
-      INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
-      INT_MAX_MIN, INT_MAX_MAX, UINT_MAX_MAX, INT_PTR_MIN, INT_PTR_MAX, UINT_PTR_MAX,
-      PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX,
-      SIZE_MAX
-*/
-    export *
-  }
-  module cstdio {
-    header "cstdio"
-/*
-    export_macros BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_tmpnam, NULL,
-                  SEEK_CUR, SEEK_END, SEEK_SET, TMP_MAX, _IOFBF, _IOLBF,
-                  stdin, stdout, stderr
-*/
-    export *
-  }
-  module cstdlib {
-    header "cstdlib"
-/*
-    export_macros RAND_MAX
-*/
-    export *
-  }
-  module cstring {
-    header "cstring"
-/*
-    export_macros NULL
-*/
-    export *
-  }
-  module ctgmath {
-    header "ctgmath"
-    export ccomplex
-    export cmath
-    export *
-  }
-  module ctime {
-    header "ctime"
-/*
-    export_macros NULL, CLOCKS_PER_SEC
-*/
-    export *
-  }
-  module cwchar {
-    header "cwchar"
-/*
-    export_macros NULL, WCHAR_MAX, WCHAR_MIN, WEOF
-*/
-    export *
-  }
-  module cwctype {
-    header "cwctype"
-/*
-    export_macros WEOF
-*/
-    export *
-  }
   module deque {
     header "deque"
     export initializer_list
diff --git a/libcxx/test/libcxx/modules/cinttypes_exports.sh.cpp b/libcxx/test/libcxx/modules/cinttypes_exports.sh.cpp
new file mode 100644 (file)
index 0000000..99d20ec
--- /dev/null
@@ -0,0 +1,21 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// REQUIRES: modules-support
+
+// Test that <cinttypes> re-exports <cstdint>
+
+// RUN: %build_module
+
+#include <cinttypes>
+
+int main() {
+  int8_t x; ((void)x);
+  std::int8_t y; ((void)y);
+}
diff --git a/libcxx/test/libcxx/modules/cstdint_exports.sh.cpp b/libcxx/test/libcxx/modules/cstdint_exports.sh.cpp
new file mode 100644 (file)
index 0000000..8ecc1da
--- /dev/null
@@ -0,0 +1,21 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// REQUIRES: modules-support
+
+// Test that <cstdint> re-exports <stdint.h>
+
+// RUN: %build_module
+
+#include <cstdint>
+
+int main() {
+  int8_t x; ((void)x);
+  std::int8_t y; ((void)y);
+}
diff --git a/libcxx/test/libcxx/modules/inttypes_h_exports.sh.cpp b/libcxx/test/libcxx/modules/inttypes_h_exports.sh.cpp
new file mode 100644 (file)
index 0000000..d1598d7
--- /dev/null
@@ -0,0 +1,20 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// REQUIRES: modules-support
+
+// Test that intypes.h re-exports stdint.h
+
+// RUN: %build_module
+
+#include <inttypes.h>
+
+int main() {
+  int8_t x; ((void)x);
+}
diff --git a/libcxx/test/libcxx/modules/stdint_h_exports.sh.cpp b/libcxx/test/libcxx/modules/stdint_h_exports.sh.cpp
new file mode 100644 (file)
index 0000000..78e1101
--- /dev/null
@@ -0,0 +1,20 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// REQUIRES: modules-support
+
+// Test that int8_t and the like are exported from stdint.h not inttypes.h
+
+// RUN: %build_module
+
+#include <stdint.h>
+
+int main() {
+  int8_t x; ((void)x);
+}