| module std [system] { | |
| // FIXME: The standard does not require that each of these submodules | |
| // re-exports its imported modules. We should provide an alternative form of | |
| // export that issues a warning if a name from the submodule is used, and | |
| // use that to provide a 'strict mode' for libc++. | |
| module algorithm { | |
| header "algorithm" | |
| export initializer_list | |
| export * | |
| } | |
| module array { | |
| header "array" | |
| export initializer_list | |
| export * | |
| } | |
| module atomic { | |
| header "atomic" | |
| export * | |
| requires cplusplus11 | |
| } | |
| module bitset { | |
| header "bitset" | |
| export string | |
| export iosfwd | |
| 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 * | |
| } | |
| module complex { | |
| header "complex" | |
| export * | |
| } | |
| module condition_variable { | |
| 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 | |
| export * | |
| } | |
| module exception { | |
| header "exception" | |
| export * | |
| } | |
| module forward_list { | |
| header "forward_list" | |
| export initializer_list | |
| export * | |
| } | |
| module fstream { | |
| header "fstream" | |
| export * | |
| } | |
| module functional { | |
| header "functional" | |
| export * | |
| } | |
| module future { | |
| header "future" | |
| export * | |
| } | |
| module initializer_list { | |
| header "initializer_list" | |
| export * | |
| } | |
| module iomanip { | |
| header "iomanip" | |
| export * | |
| } | |
| module ios { | |
| header "ios" | |
| export iosfwd | |
| export * | |
| } | |
| module iosfwd { | |
| header "iosfwd" | |
| export * | |
| } | |
| module iostream { | |
| header "iostream" | |
| export ios | |
| export streambuf | |
| export istream | |
| export ostream | |
| export * | |
| } | |
| module istream { | |
| header "istream" | |
| // FIXME: should re-export ios, streambuf? | |
| export * | |
| } | |
| module iterator { | |
| header "iterator" | |
| export * | |
| } | |
| module limits { | |
| header "limits" | |
| export * | |
| } | |
| module list { | |
| header "list" | |
| export initializer_list | |
| export * | |
| } | |
| module locale { | |
| header "locale" | |
| export * | |
| } | |
| module map { | |
| header "map" | |
| export initializer_list | |
| export * | |
| } | |
| module memory { | |
| header "memory" | |
| export * | |
| } | |
| module mutex { | |
| header "mutex" | |
| export * | |
| } | |
| module new { | |
| header "new" | |
| export * | |
| } | |
| module numeric { | |
| header "numeric" | |
| export * | |
| } | |
| module ostream { | |
| header "ostream" | |
| // FIXME: should re-export ios, streambuf? | |
| export * | |
| } | |
| module queue { | |
| header "queue" | |
| export initializer_list | |
| export * | |
| } | |
| module random { | |
| header "random" | |
| export initializer_list | |
| export * | |
| } | |
| module ratio { | |
| header "ratio" | |
| export * | |
| } | |
| module regex { | |
| header "regex" | |
| export initializer_list | |
| export * | |
| } | |
| module scoped_allocator { | |
| header "scoped_allocator" | |
| export * | |
| } | |
| module set { | |
| header "set" | |
| export initializer_list | |
| export * | |
| } | |
| module sstream { | |
| header "sstream" | |
| // FIXME: should re-export istream, ostream, ios, streambuf, string? | |
| export * | |
| } | |
| module stack { | |
| header "stack" | |
| export initializer_list | |
| export * | |
| } | |
| module stdexcept { | |
| header "stdexcept" | |
| export * | |
| } | |
| module streambuf { | |
| header "streambuf" | |
| export * | |
| } | |
| module string { | |
| header "string" | |
| export initializer_list | |
| export * | |
| } | |
| module strstream { | |
| header "strstream" | |
| requires !cplusplus11 | |
| } | |
| module system_error { | |
| header "system_error" | |
| export * | |
| } | |
| module thread { | |
| header "thread" | |
| export * | |
| } | |
| module tuple { | |
| header "tuple" | |
| export * | |
| } | |
| module type_traits { | |
| header "type_traits" | |
| export * | |
| } | |
| module typeindex { | |
| header "typeindex" | |
| export * | |
| } | |
| module typeinfo { | |
| header "typeinfo" | |
| export * | |
| } | |
| module unordered_map { | |
| header "unordered_map" | |
| export initializer_list | |
| export * | |
| } | |
| module unordered_set { | |
| header "unordered_set" | |
| export initializer_list | |
| export * | |
| } | |
| module utility { | |
| header "utility" | |
| export initializer_list | |
| export * | |
| } | |
| module valarray { | |
| header "valarray" | |
| export initializer_list | |
| export * | |
| } | |
| module vector { | |
| header "vector" | |
| export initializer_list | |
| export * | |
| } | |
| // FIXME: These should be private. | |
| module __bit_reference { header "__bit_reference" export * } | |
| module __config { header "__config" export * } | |
| module __debug { header "__debug" export * } | |
| module __functional_base { header "__functional_base" export * } | |
| module __hash_table { header "__hash_table" export * } | |
| module __locale { header "__locale" export * } | |
| module __mutex_base { header "__mutex_base" export * } | |
| module __split_buffer { header "__split_buffer" export * } | |
| module __sso_allocator { header "__sso_allocator" export * } | |
| module __std_stream { header "__std_stream" export * } | |
| module __tree { header "__tree" export * } | |
| module __tuple { header "__tuple" export * } | |
| module __undef_min_max { header "__undef_min_max" export * } | |
| module __undef___deallocate { header "__undef___deallocate" export * } | |
| } |