#
7ff29148 |
| 13-Aug-2015 |
Ben Langmuir <blangmuir@apple.com> |
[Modules] Add Darwin-specific compatibility module map parsing hacks
This preserves backwards compatibility for two hacks in the Darwin system module map files:
1. The use of 'requires excluded' to
[Modules] Add Darwin-specific compatibility module map parsing hacks
This preserves backwards compatibility for two hacks in the Darwin system module map files:
1. The use of 'requires excluded' to make headers non-modular, which should really be mapped to 'textual' now that we have this feature.
2. Silently removes a bogus cplusplus requirement from IOKit.avc.
Once we start diagnosing missing requirements and headers on auto-imports these would have broken compatibility with existing Darwin SDKs.
llvm-svn: 244912
show more ...
|
#
2a6edb30 |
| 09-Aug-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] When building a dependency file, include module maps parsed in the current compilation, not just those from imported modules.
llvm-svn: 244413
|
Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
ae6df27e |
| 14-Jul-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] When diagnosing errors in module map files found by 'extern module' declarations, show how we got to that module map file.
llvm-svn: 242105
|
#
8692a4d1 |
| 10-Jul-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Fix "prefer own module over others" rule when selecting a module for a header to work in the presence of module hierarchy.
llvm-svn: 241936
|
#
a525400d |
| 02-Jul-2015 |
Ben Langmuir <blangmuir@apple.com> |
[Modules] Be consistent about finding a module for framework headers
We use findModuleForHeader() in several places, but in header search we were not calling it when a framework module didn't show u
[Modules] Be consistent about finding a module for framework headers
We use findModuleForHeader() in several places, but in header search we were not calling it when a framework module didn't show up with the expected name, which would then lead to unexpected non-modular includes. Now we will find the module unconditionally for frameworks. For regular frameworks, we use the spelling of the module name from the module map file, and for inferred ones we use the canonical directory name.
In the future we might want to lock down framework modules sufficiently that these name mismatches cannot happen.
rdar://problem/20465870
llvm-svn: 241258
show more ...
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
ab9db510 |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").
llvm-svn: 240353
|
#
2f633e7c |
| 22-Jun-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] When building a module, if there are multiple matches for a header file in the loaded module maps and one of them is from the current module, that's the right match.
llvm-svn: 240350
|
#
3d9d929e |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comme
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang
To reduce churn, not touching namespaces spanning less than 10 lines.
llvm-svn: 240270
show more ...
|
#
47972afd |
| 16-Jun-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Simplify -cc1 interface for enabling implicit module maps.
We used to have a flag to enable module maps, and two more flags to enable implicit module maps. This is all redundant; we don't
[modules] Simplify -cc1 interface for enabling implicit module maps.
We used to have a flag to enable module maps, and two more flags to enable implicit module maps. This is all redundant; we don't need any flag for enabling module maps in the abstract, and we don't usually have -fno- flags for -cc1. We now have just a single flag, -fimplicit-module-maps, that enables implicitly searching the file system for module map files and loading them.
The driver interface is unchanged for now. We should probably rename -fmodule-maps to -fimplicit-module-maps at some point.
llvm-svn: 239789
show more ...
|
#
4881e8b2 |
| 10-Jun-2015 |
Sean Silva <chisophugis@gmail.com> |
[cleanup] Remove unused default argument and tidy up.
The RequestingModule argument was unused and always its default value of nullptr.
Also move a declaration closer to its use, and range-for'ify.
[cleanup] Remove unused default argument and tidy up.
The RequestingModule argument was unused and always its default value of nullptr.
Also move a declaration closer to its use, and range-for'ify.
llvm-svn: 239453
show more ...
|
#
8230e5ee |
| 04-Jun-2015 |
Sean Silva <chisophugis@gmail.com> |
Remove unused defaulted argument `IncludeTextualHeaders`.
llvm-svn: 239123
|
#
2b63d15f |
| 16-May-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Retain the name as written for umbrella headers and directories, rather than converting to an absolute path. No observable change expected, but this allows us to correctly compute the modul
[modules] Retain the name as written for umbrella headers and directories, rather than converting to an absolute path. No observable change expected, but this allows us to correctly compute the module for an umbrella header, which later changes will require.
llvm-svn: 237508
show more ...
|
#
42413141 |
| 15-May-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Add local submodule visibility support for declarations.
With this change, enabling -fmodules-local-submodule-visibility results in name visibility rules being applied to submodules of the
[modules] Add local submodule visibility support for declarations.
With this change, enabling -fmodules-local-submodule-visibility results in name visibility rules being applied to submodules of the current module in addition to imported modules (that is, names no longer "leak" between submodules of the same top-level module). This also makes it much safer to textually include a non-modular library into a module: each submodule that textually includes that library will get its own "copy" of that library, and so the library becomes visible no matter which including submodule you import.
llvm-svn: 237473
show more ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
a7e2cc68 |
| 01-May-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Start moving the module visibility information off the Module itself.
It has no place there; it's not a property of the Module, and it makes restoring the visibility set when we leave a su
[modules] Start moving the module visibility information off the Module itself.
It has no place there; it's not a property of the Module, and it makes restoring the visibility set when we leave a submodule more difficult.
llvm-svn: 236300
show more ...
|
#
8f4d3ff1 |
| 26-Mar-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Restrict the module use-declaration to only appear in top-level modules, and allow sub-modules of a module with a use-declaration to make use of the nominated modules.
llvm-svn: 233323
|
#
92e1b62d |
| 18-Mar-2015 |
Yaron Keren <yaron.keren@gmail.com> |
Remove many superfluous SmallString::str() calls.
Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there a
Remove many superfluous SmallString::str() calls.
Now that SmallString is a first-class citizen, most SmallString::str() calls are not required. This patch removes a whole bunch of them, yet there are lots more.
There are two use cases where str() is really needed: 1) To use one of StringRef member functions which is not available in SmallString. 2) To convert to std::string, as StringRef implicitly converts while SmallString do not. We may wish to change this, but it may introduce ambiguity.
llvm-svn: 232622
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
0ab544f1 |
| 13-Mar-2015 |
Daniel Jasper <djasper@google.com> |
When building a module, all headers of submodules can be used.
This extends r232159.
llvm-svn: 232168
|
#
b6ba46ef |
| 13-Mar-2015 |
Daniel Jasper <djasper@google.com> |
Make a module "use" also count as use of all its submodules
llvm-svn: 232159
|
#
2708e520 |
| 10-Mar-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] This check is run before we resolve the header, not after, so just check that private headers are in a list matching the role. (We can't perform the opposite checks for non-private headers
[modules] This check is run before we resolve the header, not after, so just check that private headers are in a list matching the role. (We can't perform the opposite checks for non-private headers because we infer those.)
llvm-svn: 231728
show more ...
|
#
00bc95ec |
| 09-Mar-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Don't assert if the same header is named as both a public and a private header within the same module.
llvm-svn: 231725
|
Revision tags: llvmorg-3.6.0 |
|
#
11152dd5 |
| 19-Feb-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Allow errors on use of a private module header to be disabled, to better support incremental transition to modules.
llvm-svn: 229788
|
Revision tags: llvmorg-3.6.0-rc4 |
|
#
0414b857 |
| 14-Feb-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Accept //-style comments in module maps on purpose rather than by accident, and accept them even when they begin '//*'.
llvm-svn: 229240
|
#
ec87a50a |
| 13-Feb-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] If we have a choice between including a file textually and importing a prebuilt form from a module, prefer the modular form, all else being equal.
llvm-svn: 229188
|
Revision tags: llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1 |
|
#
c1d88ea5 |
| 13-Jan-2015 |
Ben Langmuir <blangmuir@apple.com> |
Inherit attributes when infering a framework module
If a module map contains framework module * [extern_c] {}
We will now infer [extern_c] on the inferred framework modules (we already inferred [sy
Inherit attributes when infering a framework module
If a module map contains framework module * [extern_c] {}
We will now infer [extern_c] on the inferred framework modules (we already inferred [system] as a special case).
llvm-svn: 225803
show more ...
|
#
d3d7f3b5 |
| 13-Jan-2015 |
Ben Langmuir <blangmuir@apple.com> |
Remove unused method canInferFrameworkModule
llvm-svn: 225801
|