#
1b544e3c |
| 31-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move caching of code-completion results from ASTUnit::Reparse to ASTUnit::CodeComplete, so that it will happen when we are doing code-completion, not reparsing.
llvm-svn: 143342
|
#
e54568d6 |
| 31-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Have the ASTUnit associate the local declarations that get parsed with the file that contains them.
llvm-svn: 143338
|
#
bd307a53 |
| 27-Oct-2011 |
Ted Kremenek <kremenek@apple.com> |
Add mutex for accessing ASTUnit's global OnDisk data. This may be an issue as libclang could be processing multiple ASTUnit's at once.
llvm-svn: 143138
|
#
06b4f919 |
| 27-Oct-2011 |
Ted Kremenek <kremenek@apple.com> |
Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit i
Move ASTUnit's handling of temporary files and the preamble file into a lazily-created static DenseMap. This DenseMap is cleared (and the files erased) via an atexit routine in the case an ASTUnit is not destroyed. Fixes <rdar://problem/10293367>.
llvm-svn: 143115
show more ...
|
#
429ec024 |
| 25-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH] When visiting preprocessed entities, make it possible to avoid deserializing preprocessed entities that are #included in the range that we are interested.
This is useful when we are interested
[PCH] When visiting preprocessed entities, make it possible to avoid deserializing preprocessed entities that are #included in the range that we are interested.
This is useful when we are interested in preprocessed entities of a specific file, e.g when we are annotating tokens. There is also an optimization where we cache the last result of PreprocessingRecord::getPreprocessedEntitiesInRange and we re-use it if there is a call with the same range as before.
rdar://10313365
llvm-svn: 142887
show more ...
|
#
067cbfa2 |
| 24-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Make sure we don't try to erase past the StoredDiagnostics vector.
Ted came upon the bug but I couldn't make a test out of it.
llvm-svn: 142805
|
Revision tags: llvmorg-3.0.0-rc1 |
|
#
1ac5da10 |
| 14-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Allow calling ASTUnit::LoadFromCompilerInvocationAction with a previously created ASTUnit.
llvm-svn: 142004
|
#
ebf01369 |
| 10-Oct-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] Implement ConcurrencyCheck using a recursive mutex to allow re-entrancy in the same thread. The checks are performed only in DEBUG, it becomes no-op in release mode.
llvm-svn: 141582
|
#
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 ...
|
#
4cdfcae7 |
| 26-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't map a file:line:col triplet that is inside the preamble range to a "loaded" location of the precompiled preamble.
Instead, handle specially locations of preprocessed entities: -When looking up
Don't map a file:line:col triplet that is inside the preamble range to a "loaded" location of the precompiled preamble.
Instead, handle specially locations of preprocessed entities: -When looking up for preprocessed entities, map main file locations inside the preamble range to a preamble loaded location. -When getting the source range of a preprocessing cursor, map preamble loaded locations back to main file locations.
Fixes rdar://10175093 & http://llvm.org/PR10999
llvm-svn: 140519
show more ...
|
#
b5784324 |
| 26-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename DiagnosticInfo to Diagnostic as per issue 5397
llvm-svn: 140493
|
#
f18d91a4 |
| 26-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Rename StoredDiagnosticClient to StoredDiagnosticConsumer as per issue 5397
llvm-svn: 140483
|
#
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
|
#
57332719 |
| 19-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
In libclang, when visiting preprocessed entities in a source range, use PreprocessingRecord's getPreprocessedEntitiesInRange.
Also remove all the stuff that were added in ASTUnit that are unnecessar
In libclang, when visiting preprocessed entities in a source range, use PreprocessingRecord's getPreprocessedEntitiesInRange.
Also remove all the stuff that were added in ASTUnit that are unnecessary now that we do a binary search for preprocessed entities and deserialize only what is necessary.
llvm-svn: 140063
show more ...
|
#
7f448369 |
| 19-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Introduce local_begin()/local_end() methods in PreprocessingRecord which return iterators for local, non-loaded, preprocessed entities.
llvm-svn: 140062
|
#
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 ...
|
#
14c32e88 |
| 12-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of modifying directly for the preamble.
This avoids an awful, hard to find, bug where "PreprocessorOpts.DisablePCHValidation =
[libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of modifying directly for the preamble.
This avoids an awful, hard to find, bug where "PreprocessorOpts.DisablePCHValidation = true" would be persistent for subsequent reparses of the translation unit which would result in defines, present in command-line but not in the PCH, being ignored.
Fixes rdar://9615399.
llvm-svn: 139512
show more ...
|
#
98c05b28 |
| 10-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Kill of the Decl::PCHLevel field entirely. We now only need to know whether a Decl was deserialized from an AST file (any AST file).
llvm-svn: 139438
|
#
a3deaeeb |
| 04-Sep-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Fix Lexer::ComputePreamble when MaxLines parameter is non-zero.
The function was only counting lines that included tokens and not empty lines, but MaxLines (mainly initiated to the line where the co
Fix Lexer::ComputePreamble when MaxLines parameter is non-zero.
The function was only counting lines that included tokens and not empty lines, but MaxLines (mainly initiated to the line where the code-completion point resides) is a count of overall lines (even empty ones).
llvm-svn: 139085
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 ...
|
#
7018d5bc |
| 01-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Teach ASTContext and Preprocessor to hold on to references to the same LangOptions, rather than making distinct copies of LangOptions. Granted, LangOptions doesn't actually get modified, but this wil
Teach ASTContext and Preprocessor to hold on to references to the same LangOptions, rather than making distinct copies of LangOptions. Granted, LangOptions doesn't actually get modified, but this will eventually make it easier to construct ASTContext and Preprocessor before we know all of the LangOptions.
llvm-svn: 138959
show more ...
|
#
4a69c2e6 |
| 01-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Modules hide macro definitions by default, so that silly things like include guards don't show up as macro definitions in every translation unit that imports a module. Macro definitions can, however,
Modules hide macro definitions by default, so that silly things like include guards don't show up as macro definitions in every translation unit that imports a module. Macro definitions can, however, be exported with the intentionally-ugly #__export_macro__ directive. Implement this feature by not even bothering to serialize non-exported macros to a module, because clients of that module need not (should not) know that these macros even exist.
llvm-svn: 138943
show more ...
|