#
ae77b3df |
| 03-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
Frontend: Default to creating output files using temporary files + rename. - This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead
Frontend: Default to creating output files using temporary files + rename. - This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead of reusing existing inodes). This is useful for other applications (like lldb) which want to cache inode's to know when a file has been rewritten.
llvm-svn: 151961
show more ...
|
#
b9c62c07 |
| 03-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
Frontend: Don't automatically create missing directories when using temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating pare
Frontend: Don't automatically create missing directories when using temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories.
llvm-svn: 151960
show more ...
|
#
335c5a42 |
| 25-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't record nested macro expansions in the preprocessing record, it can only bring pain when dealing with preprocessor abuse (see: boost).
rdar://10898986
llvm-svn: 151427
|
#
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
|
#
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
|
#
e2778999 |
| 05-Feb-2012 |
Dylan Noblesmith <nobled@dreamwidth.org> |
Basic: import OwningPtr<> into clang namespace
llvm-svn: 149798
|
#
2e129659 |
| 02-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Rename -dependency-graphviz to -dependencncy-dot
llvm-svn: 149645
|
#
83d46be3 |
| 02-Feb-2012 |
Douglas Gregor <dgregor@apple.com> |
Introduce a -cc1 option "-dependency-graphviz" that determines header dependencies and outputs them in GraphViz format.
llvm-svn: 149575
|
#
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
|
#
e212489f |
| 29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Switch over to LLVM's file-level locking facility
llvm-svn: 149204
|
#
e1fbde55 |
| 29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Ensure that we clean up after a failed module build and cope with the results in libclang.
llvm-svn: 149200
|
#
07f4357b |
| 29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Implement code completion support for module import declarations, e.g.,
@import <complete with module names here>
or
@import std.<complete with submodule names here>
Addresses <rdar://problem
Implement code completion support for module import declarations, e.g.,
@import <complete with module names here>
or
@import std.<complete with submodule names here>
Addresses <rdar://problem/10710117>.
llvm-svn: 149199
show more ...
|
#
279a6c37 |
| 29-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Rework HeaderSearch's interface for getting a module from a name and for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and
Rework HeaderSearch's interface for getting a module from a name and for getting the name of the module file, unifying the code for searching for a module with a given name (into lookupModule()) and separating out the mapping to a module file (into getModuleFileName()). No functionality change.
llvm-svn: 149197
show more ...
|
#
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 ...
|
#
32fbe312 |
| 20-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Extract the (InputKind, std::string) pair used to describe inputs to the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change.
Extract the (InputKind, std::string) pair used to describe inputs to the front end into its own class, FrontendInputFile, to make it easier to introduce new per-input data. No functionality change.
llvm-svn: 148546
show more ...
|
#
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 ...
|
#
98a52db8 |
| 20-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Detect when mapping a #include/#import over to a submodule ends up hitting a submodule that was never actually created, e.g., because that header wasn't parsed. In such cases, complain (because the m
Detect when mapping a #include/#import over to a submodule ends up hitting a submodule that was never actually created, e.g., because that header wasn't parsed. In such cases, complain (because the module's umbrella headers don't cover everything) and fall back to including the header.
Later, we'll add a warning at module-build time to catch all such cases. However, this fallback is important to eliminate assertions in the ASTWriter when this happens.
llvm-svn: 146933
show more ...
|
#
4548e044 |
| 17-Dec-2011 |
Ted Kremenek <kremenek@apple.com> |
Refactor SerializeDiagnosticsPrinter to using DiagnosticRenderer. This gives us comparative diagnostics to TextDiagnosticPrinter.
This certainly can be cleaned up a bit.
llvm-svn: 146820
|
#
a0caa29d |
| 15-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Revert r146646 that was a mistake, and make the intended change in the right file.
Log: [libclang] Try to unbreak mingw build.
llvm-svn: 146647
|
#
d99472f4 |
| 15-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Try to unbreak mingw build.
llvm-svn: 146646
|
#
2537a364 |
| 08-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Keep track of import dependencies between submodules within the module that's currently being built. This is important for supporting transitive dependencies ("export *" in the module map) completely
Keep track of import dependencies between submodules within the module that's currently being built. This is important for supporting transitive dependencies ("export *" in the module map) completely.
llvm-svn: 146156
show more ...
|
#
7910d7b7 |
| 07-Dec-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make changes to SDiagsWriter to make it work in combination with the ARC migrator:
-Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce a "finish" callback met
Make changes to SDiagsWriter to make it work in combination with the ARC migrator:
-Allow it to be used with multiple BeginSourceFile/EndSourceFile calls; for this introduce a "finish" callback method in the DiagnosticConsumer. SDiagsWriter finishes up the serialization file inside this method. -Make it independent of any particular DiagnosticsEngine; make it use the SourceManager of the Diagnostic object. -Ignore null source ranges.
llvm-svn: 146020
show more ...
|
#
ee78d3e0 |
| 07-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
If we can't write the temporary module map file when compiling a module, at least have the decency to complain about it.
llvm-svn: 146002
|
#
2f554c4c |
| 06-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Add a FIXME to provide a sensible error message here
llvm-svn: 145983
|