#
51e0b541 |
| 04-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
When build a module on demand, run the module-building job on a separate thread with the "suitably large" stack, so we don't blow the stack when building modules recursively.
llvm-svn: 141051
|
#
44e688d4 |
| 29-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce an opt-in warning when a module is being implicitly built from sources.
llvm-svn: 140746
|
#
d0e9e3a6 |
| 29-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a pure virtual clone() method to DiagnosticConsumer, so that we have the ability to create a new, distict diagnostic consumer when we go off and build a module. This avoids the currently ho
Introduce a pure virtual clone() method to DiagnosticConsumer, so that we have the ability to create a new, distict diagnostic consumer when we go off and build a module. This avoids the currently horribleness where the same diagnostic consumer sees diagnostics for multiple translation units (and multiple SourceManagers!) causing all sorts of havok.
llvm-svn: 140743
show more ...
|
#
69609dce |
| 26-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename VerifyDiagnosticsClient to VerifyDiagnosticConsumer as per issue 5397
llvm-svn: 140489
|
#
8b00dcb0 |
| 26-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename ChainedDiagnosticClient to ChainedDiagnosticConsumer as per issue 5397
llvm-svn: 140485
|
#
e2eefaec |
| 25-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename DiagnosticClient to DiagnosticConsumer as per issue 5397
llvm-svn: 140479
|
#
9c902b55 |
| 25-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename Diagnostic to DiagnosticsEngine as per issue 5397
llvm-svn: 140478
|
#
7c06d866 |
| 19-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] When getting a source location from a file:line:col triplet check whether the requested location points inside the precompiled preamble, in which case the returned source location will be
[libclang] When getting a source location from a file:line:col triplet check whether the requested location points inside the precompiled preamble, in which case the returned source location will be a "loaded" one.
llvm-svn: 140060
show more ...
|
#
97eec24b |
| 15-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Add an experimental flag -fauto-module-import that automatically turns #include or #import direcctives of framework headers into module imports of the corresponding framework module.
llvm-svn: 139860
|
#
44bf68d8 |
| 15-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Comment what's going on when we compile a module
llvm-svn: 139837
|
#
dff0e892 |
| 15-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Detect cyclic module dependencies in a manner that is rather more graceful than running out of stack space.
llvm-svn: 139833
|
#
6137d32c |
| 15-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When we load the first module, make sure that we wire up the ASTConsumer to the newly-created ASTReader. This makes sure that CodeGen sees the declarations it is interested in
llvm-svn: 139824
|
#
21931efc |
| 14-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Make -E work with module imports
llvm-svn: 139750
|
#
3728ea75 |
| 13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Assert that the module hash produced after stripping away non-modular options is the same as the module hash before stripping those options.
llvm-svn: 139663
|
#
1735f4e7 |
| 13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
For modules, use a hash of the compiler version, language options, and target triple to separate modules built under different conditions. The hash is used to create a subdirectory in the module cach
For modules, use a hash of the compiler version, language options, and target triple to separate modules built under different conditions. The hash is used to create a subdirectory in the module cache path where other invocations of the compiler (with the same version, language options, etc.) can find the precompiled modules.
llvm-svn: 139662
show more ...
|
#
f1312a82 |
| 13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When building a module on-demand, clear out the "non-modular" language and preprocessor options (such as macro definitions) first.
llvm-svn: 139638
|
#
2b9b4642 |
| 13-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When compiling a module on-demand, re-use the diagnostics client already provided. This required a little bit of clean-up in the way that VerifyDiagnosticsClient managed ownership of its underlying "
When compiling a module on-demand, re-use the diagnostics client already provided. This required a little bit of clean-up in the way that VerifyDiagnosticsClient managed ownership of its underlying "primary" client, because now it will no longer always take ownership.
llvm-svn: 139570
show more ...
|
#
faeb1d46 |
| 12-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
When an import statement fails to find a module in the module cache, but there is a corresponding umbrella header in a framework, build the module on-the-fly so it can be immediately loaded at the im
When an import statement fails to find a module in the module cache, but there is a corresponding umbrella header in a framework, build the module on-the-fly so it can be immediately loaded at the import statement. This is very much proof-of-concept code, with details to be fleshed out over time.
llvm-svn: 139558
show more ...
|
#
1e44e022 |
| 12-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a cc1-level option to provide the path to the module cache, where the compiler will look for module files. Eliminates the egregious hack where we looked into the header search paths for mod
Introduce a cc1-level option to provide the path to the module cache, where the compiler will look for module files. Eliminates the egregious hack where we looked into the header search paths for modules.
llvm-svn: 139538
show more ...
|
#
8835e03c |
| 02-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Always construct an ASTReader with a non-NULL ASTContext and Preprocessor, eliminating the constructor that was used by ASTUnit (which didn't provide an ASTContext or Prepreprocessor). Ensuring that
Always construct an ASTReader with a non-NULL ASTContext and Preprocessor, eliminating the constructor that was used by ASTUnit (which didn't provide an ASTContext or Prepreprocessor). Ensuring that both objects are non-NULL will simplify module loading (but none of that is done yet).
llvm-svn: 138986
show more ...
|
#
e8bbc121 |
| 02-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend the ASTContext constructor to delay the initialization of builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, ra
Extend the ASTContext constructor to delay the initialization of builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet).
llvm-svn: 138985
show more ...
|
#
83297dfc |
| 01-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Allow the preprocessor to be constructed without performing target- and language-specific initialization. Use this to allow ASTUnit to create a preprocessor object *before* loading the AST file. No a
Allow the preprocessor to be constructed without performing target- and language-specific initialization. Use this to allow ASTUnit to create a preprocessor object *before* loading the AST file. No actual functionality change.
llvm-svn: 138983
show more ...
|
#
dd8a2fe0 |
| 31-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Switch the "no module found" default-fatal warning to a default-fatal error.
llvm-svn: 138909
|
#
08142534 |
| 26-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce support for a simple module import declaration, which loads the named module. The syntax itself is intentionally hideous and will be replaced at some later point with something more palatab
Introduce support for a simple module import declaration, which loads the named module. The syntax itself is intentionally hideous and will be replaced at some later point with something more palatable. For now, we're focusing on the semantics: - Module imports are handled first by the preprocessor (to get macro definitions) and then the same tokens are also handled by the parser (to get declarations). If both happen (as in normal compilation), the second one is redundant, because we currently have no way to hide macros or declarations when loading a module. Chris gets credit for this mad-but-workable scheme. - The Preprocessor now holds on to a reference to a module loader, which is responsible for loading named modules. CompilerInstance is the only important module loader: it now knows how to create and wire up an AST reader on demand to actually perform the module load. - We search for modules in the include path, using the module name with the suffix ".pcm" (precompiled module) for the file name. This is a temporary hack; we hope to improve the situation in the future.
llvm-svn: 138679
show more ...
|
#
69f74f80 |
| 25-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Introduce a -cc1 option "-emit-module", that creates a binary module from the given source. -emit-module behaves similarly to -emit-pch, except that Sema is somewhat more strict about the contents of
Introduce a -cc1 option "-emit-module", that creates a binary module from the given source. -emit-module behaves similarly to -emit-pch, except that Sema is somewhat more strict about the contents of -emit-module. In the future, there are likely to be more interesting differences.
llvm-svn: 138595
show more ...
|