[coroutines] Support "coroutines" feature in module map requires clauseSummary: In order for libc++ to add `<experimental/coroutine>` to its module map, there has to be a feature that can be used t
[coroutines] Support "coroutines" feature in module map requires clauseSummary: In order for libc++ to add `<experimental/coroutine>` to its module map, there has to be a feature that can be used to detect if coroutines support is enabled in Clang. Reviewers: rsmithReviewed By: rsmithSubscribers: cfe-commitsDifferential Revision: https://reviews.llvm.org/D33538llvm-svn: 304107
show more ...
Revert "[coroutines] Support "coroutines" feature in module map requires clause"This reverts commit r304054.llvm-svn: 304057
[coroutines] Support "coroutines" feature in module map requires clauseSummary: In order for libc++ to add `<experimental/coroutine>` to its module map, there has to be a feature that can be used to detect if coroutines support is enabled in Clang. Reviewers: rsmithReviewed By: rsmithSubscribers: cfe-commitsDifferential Revision: https://reviews.llvm.org/D33538llvm-svn: 304054
Allow a new syntax in a module requires-declaration: requires ! featureThe purpose of this is to allow (for instance) the module map for /usr/includeto exclude <tgmath.h> and <complex.h> when b
Allow a new syntax in a module requires-declaration: requires ! featureThe purpose of this is to allow (for instance) the module map for /usr/includeto exclude <tgmath.h> and <complex.h> when building in C++ (these headers areinstead provided by the C++ standard library in this case, and the glibc C<tgmath.h> header would otherwise try to include <complex.h>, resulting in amodule cycle).llvm-svn: 193549
Re-uglify #public and #private to #__public_macro and #__private_macro.llvm-svn: 147469
Under -fmodules, accept #public <macroname> and #private <macroname>to make a macro public (the default for headers) or private,respectively.llvm-svn: 147455
Implement support for module requirements, which indicate the languagefeatures needed for a particular module to be available. This allowsmixed-language modules, where certain headers only work und
Implement support for module requirements, which indicate the languagefeatures needed for a particular module to be available. This allowsmixed-language modules, where certain headers only work under somelanguage variants (e.g., in C++, std.tuple might only be available inC++11 mode).llvm-svn: 147387
Introduce an opt-in warning indicating when the compiler is treatingan #include/#import as a module import.llvm-svn: 145500
Add the notion of "framework" modules to module maps. Frameworkmodules (obviously) describe frameworks, and understand the headerlayout of frameworks.llvm-svn: 144921
For modules, all macros that aren't include guards are implicitlypublic. Add a __private_macro__ directive to hide a macro, similar tothe __module_private__ declaration specifier.llvm-svn: 142188
Add an experimental flag -fauto-module-import that automatically turns#include or #import direcctives of framework headers into moduleimports of the corresponding framework module.llvm-svn: 139860