diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-11-19 01:14:15 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-11-19 01:14:15 +0000 |
| commit | 074d46d55fe27d12af5bdfa880408e93a98e874d (patch) | |
| tree | ec3a5f8e0ddaba7ac50cac58b01d68e9b4dba3b3 /libcxx/include/module.modulemap | |
| parent | 72f4997cbfb542f33da45cbc01d7a2e1bd26b3c8 (diff) | |
| download | bcm5719-llvm-074d46d55fe27d12af5bdfa880408e93a98e874d.tar.gz bcm5719-llvm-074d46d55fe27d12af5bdfa880408e93a98e874d.zip | |
[libcxx] Implement locale.h to fix modules build
Summary:
Because `locale.h` isn't part of the libc++ modules the class definitions it provides are exported as part of `__locale` (since it happens to be build first). This breaks `<clocale>` which exports `std::lconv` without including `<__locale>`.
This patch implements `locale.h` to fix this issue, it also adds support for testing libc++ with modules.
Reviewers: mclow.lists, rsmith, EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26826
llvm-svn: 287413
Diffstat (limited to 'libcxx/include/module.modulemap')
| -rw-r--r-- | libcxx/include/module.modulemap | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap index b966423a2c1..3199d3d9021 100644 --- a/libcxx/include/module.modulemap +++ b/libcxx/include/module.modulemap @@ -40,7 +40,13 @@ module std [system] { } // <iso646.h> provided by compiler. // <limits.h> provided by compiler or C library. - // <locale.h> provided by 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" /* |

