Revision tags: llvmorg-3.2.0-rc2 |
|
#
4b27a64b |
| 15-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
If an excluded header does not exist, just ignore it
llvm-svn: 168077
|
Revision tags: llvmorg-3.2.0-rc1 |
|
#
162405da |
| 06-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
Remove C++11-isms I just introduced in r167482
llvm-svn: 167483
|
#
9194a91d |
| 06-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce inferred framework modules into the module map file, allowing a module map to be placed one level above the '.framework' directories to specify that all .frameworks within that directory ca
Introduce inferred framework modules into the module map file, allowing a module map to be placed one level above the '.framework' directories to specify that all .frameworks within that directory can be inferred as framework modules. One can also specifically exclude frameworks known not to work.
This makes explicit (and more restricted) behavior modules have had "forever", where *any* .framework was assumed to be able to be built as a module. That's not necessarily true, so we white-list directories (with exclusions) when those directories have been audited.
llvm-svn: 167482
show more ...
|
#
811db4ea |
| 23-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Make DiagnosticOptions intrusively reference-counted, and make sure the various stakeholders bump up the reference count. In particular, the diagnostics engine now keeps the DiagnosticOptions object
Make DiagnosticOptions intrusively reference-counted, and make sure the various stakeholders bump up the reference count. In particular, the diagnostics engine now keeps the DiagnosticOptions object alive.
llvm-svn: 166508
show more ...
|
#
bc10b9fb |
| 15-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Teach TargetInfo to hold on to the TargetOptions with which it was created.
llvm-svn: 165943
|
#
59527666 |
| 15-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce the notion of excluded headers into the module map description. Previously, one could emulate this behavior by placing the header in an always-unavailable submodule, but Argyrios guilted me
Introduce the notion of excluded headers into the module map description. Previously, one could emulate this behavior by placing the header in an always-unavailable submodule, but Argyrios guilted me into expressing this idea properly.
llvm-svn: 165921
show more ...
|
#
056396ae |
| 12-Oct-2012 |
Douglas Gregor <dgregor@apple.com> |
Sanitize the names of modules determined based on the names of headers or directories, to make sure that they are identifiers that are not keywords in any dialect. Fixes <rdar://problem/12489495>.
l
Sanitize the names of modules determined based on the names of headers or directories, to make sure that they are identifiers that are not keywords in any dialect. Fixes <rdar://problem/12489495>.
llvm-svn: 165821
show more ...
|
#
c597c8c4 |
| 05-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Modules] Introduce Module::TopHeaders which is a set of top-level headers that are associated with a (sub)module.
llvm-svn: 165279
|
#
07c22b78 |
| 27-Sep-2012 |
Douglas Gregor <dgregor@apple.com> |
Following up on r164620, cope with symlinking from an embedded framework location out to a top-level framework. Such frameworks are not really embedded at all.
llvm-svn: 164774
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
3e2320c8 |
| 29-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make ModuleMapParser own its TargetInfo, so it doesn't get leaked.
llvm-svn: 153648
|
#
d67aea28 |
| 06-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
User-defined literals: reject string and character UDLs in all places where the grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by th
User-defined literals: reject string and character UDLs in all places where the grammar requires a string-literal and not a user-defined-string-literal. The two constructs are still represented by the same TokenKind, in order to prevent a combinatorial explosion of different kinds of token. A flag on Token tracks whether a ud-suffix is present, in order to prevent clients from needing to look at the token's spelling.
llvm-svn: 152098
show more ...
|
#
c95d8192 |
| 20-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import IntrusiveRefCntPtr<> into clang namespace
The class name is long enough without the llvm:: added. Also bring in RefCountedBase and RefCountedBaseVPTR.
llvm-svn: 150958
|
#
bf8da9d7 |
| 06-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move instantiateTemplateAttribute into the sema namespace, make helpers static.
llvm-svn: 149864
|
#
2c1dd271 |
| 05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import SmallString<> into clang namespace
(I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
#
3ec6663b |
| 02-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes (<foo>)...
... and introduce another hack that is simultaneously more heineous and more
Back out my heinous hack that tricked the module generation mechanism into using non-absolute system includes (<foo>)...
... and introduce another hack that is simultaneously more heineous and more effective. We whitelist Clang-supplied headers that augment or override system headers (such as float.h, stdarg.h, and tgmath.h). For these headers, Clang does not provide a module mapping. Instead, a system-supplied module map can refer to these headers in a system module, and Clang will look both in its own include directory and wherever the system-supplied module map suggests, then adds either or both headers. The end result is that Clang-supplied headers get merged into the system-supplied module for the C standard library.
As a drive-by, fix up a few dependencies in the _Builtin_instrinsics module.
llvm-svn: 149611
show more ...
|
#
89929282 |
| 30-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Thread a TargetInfo through to the module map; we'll need it for target-specific module requirements.
llvm-svn: 149224
|
#
a686e1b0 |
| 27-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce module attributes into the module map grammar, along with a single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a syste
Introduce module attributes into the module map grammar, along with a single attribute ("system") that allows us to mark a module as being a "system" module. Each of the headers that makes up a system module is considered to be a system header, so that we (for example) suppress warnings there.
If a module is being inferred for a framework, and that framework directory is within a system frameworks directory, infer it as a system framework.
llvm-svn: 149143
show more ...
|
#
8a40f700 |
| 17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
llvm-svn: 148292
|
#
09a22f07 |
| 13-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Don't infer a submodule for a framework's private header, at least for now.
llvm-svn: 148117
|
#
04ea9621 |
| 13-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Revert previous commit. Something has gone wonky with my local configuration
llvm-svn: 148084
|
#
da4fda73 |
| 13-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
When inferring a module map for a framework, add the 'private' requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet).
llvm-svn: 148082
|
#
224d8a74 |
| 06-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
When inferring a submodule ID during module creation, look up the include stack to find the first file that is known to be part of the module. This copes with situations where the module map doesn't
When inferring a submodule ID during module creation, look up the include stack to find the first file that is known to be part of the module. This copes with situations where the module map doesn't completely specify all of the headers that are involved in the module, which can come up when there are very strange #include_next chains (e.g., with weird compiler/stdlib headers like stdarg.h or float.h).
llvm-svn: 147662
show more ...
|
#
fcc54a3b |
| 05-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition
llvm-svn: 147574
|
#
eb90e830 |
| 04-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Store the submodules of a module in source order, as they are stored in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules wh
Store the submodules of a module in source order, as they are stored in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them.
llvm-svn: 147564
show more ...
|
#
1fb5c3a6 |
| 31-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Implement support for module requirements, which indicate the language features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work und
Implement support for module requirements, which indicate the language features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work under some language variants (e.g., in C++, std.tuple might only be available in C++11 mode).
llvm-svn: 147387
show more ...
|