| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
merged with variables of constant array types. Also, make sure that we
call DiagnosticClient's BeginSourceFile/EndSourceFile, so that it has
a LangOptions to work with.
llvm-svn: 95782
|
| |
|
|
|
|
| |
Fixes radar 7630636.
llvm-svn: 95744
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into another AST, including their include history. Here's an example
error that involves a conflict merging a variable with different types
in two translation units (diagnosed in the third AST context into
which everything is merged).
/Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var2.c:3:5:
error: external variable 'x2' declared with incompatible types in
different translation units ('int' vs. 'double')
int x2;
^
In file included from
/Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var1.c:3:
/Volumes/Data/dgregor/Projects/llvm/tools/clang/test/ASTMerge/Inputs/var1.h:1:8:
note: declared here with type 'double'
double x2;
^
Although we maintain include history, we do not maintain macro
instantiation history across a merge. Instead, we map down to the
spelling location (for now!).
llvm-svn: 95732
|
| |
|
|
|
|
|
|
|
|
|
| |
that we get readable diagnostics such as:
error: external variable 'x1' declared with incompatible types in
different translation units ('double *' vs. 'float **')
However, there is no translation of source locations, yet.
llvm-svn: 95704
|
| |
|
|
|
|
|
|
|
| |
This is a non-fragile-abi feature only. Since it
breaks existing code, it is currently placed under
-fobjc-nonfragile-abi2 option for test purposes only
until further notice. WIP.
llvm-svn: 95685
|
| |
|
|
|
|
|
| |
context with the AST importer. WIP, still useless but at least it has
a test.
llvm-svn: 95683
|
| |
|
|
|
|
| |
defined by itself, from Enea Zaffanella!
llvm-svn: 95586
|
| |
|
|
| |
llvm-svn: 95515
|
| |
|
|
| |
llvm-svn: 95514
|
| |
|
|
| |
llvm-svn: 95513
|
| |
|
|
| |
llvm-svn: 95510
|
| |
|
|
|
|
| |
Daniel, I'd appreciate a review of the driver/cc1 parts.
llvm-svn: 95508
|
| |
|
|
|
|
|
| |
anything when Sema has issued an error. This matches the behavior in
RewriteObjC::HandleTranslationUnit().
llvm-svn: 95434
|
| |
|
|
|
|
| |
Fixes radar 7617047.
llvm-svn: 95392
|
| |
|
|
|
|
| |
my recent changes.
llvm-svn: 95391
|
| |
|
|
| |
llvm-svn: 95379
|
| |
|
|
| |
llvm-svn: 95348
|
| |
|
|
|
|
| |
(Fixes radar 7607605).
llvm-svn: 95341
|
| |
|
|
| |
llvm-svn: 95335
|
| |
|
|
|
|
| |
the rewriter. (Fixes radar 7607781).
llvm-svn: 95267
|
| |
|
|
|
|
| |
(Fixes radar 7607413).
llvm-svn: 95257
|
| |
|
|
| |
llvm-svn: 95203
|
| |
|
|
| |
llvm-svn: 95182
|
| |
|
|
| |
llvm-svn: 95125
|
| |
|
|
| |
llvm-svn: 95110
|
| |
|
|
|
|
| |
Fixes radar 7589414.
llvm-svn: 95097
|
| |
|
|
| |
llvm-svn: 95004
|
| |
|
|
|
|
| |
logic for when a variable declaration is a (possibly tentativ) definition. Add a few functions building on this, and shift C tentative definition handling over to this new functionality. This shift also kills the Sema::TentativeDefinitions map and instead simply stores all declarations in the renamed list. The correct handling for multiple tentative definitions is instead shifted to the final walk of the list.
llvm-svn: 94968
|
| |
|
|
| |
llvm-svn: 94925
|
| |
|
|
|
|
|
|
|
| |
live as long as the ASTUnit. This is useful for clients which want to maintain
pointers to the LangOptions object which ultimately lives in the
CompilerInvocation, although it would be nice to make all of this ownership
stuff more explicit and obvious.
llvm-svn: 94924
|
| |
|
|
|
|
|
|
| |
This allows clients to install their own CompilerInvocation object, which is
important for clients that may wish to create references to things like
LangOptions whose lifetime will extend past that of the CompilerInstance.
llvm-svn: 94923
|
| |
|
|
| |
llvm-svn: 94921
|
| |
|
|
| |
llvm-svn: 94918
|
| |
|
|
|
|
|
|
| |
stuff. Use a static_cast instead.
I don't know if this hack is the right fix. Doug, please take a look.
llvm-svn: 94895
|
| |
|
|
|
|
| |
definition comes after where it is needed. Fixes radar 7589385.
llvm-svn: 94788
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that CIndex can report diagnostics through the normal mechanisms
even when executing Clang in a separate process. This applies both
when performing code completion and when using ASTs as an intermediary
for clang_createTranslationUnitFromSourceFile().
The serialized format is not perfect at the moment, because it does
not encapsulate macro-instantiation information. Instead, it maps all
source locations back to the instantiation location. However, it does
maintain source-range and fix-it information. To get perfect fidelity
from the serialized format would require serializing a large chunk of
the source manager; at present, it isn't clear if this code will live
long enough for that to matter.
llvm-svn: 94740
|
| |
|
|
|
|
| |
(Radar 7583971).
llvm-svn: 94724
|
| |
|
|
| |
llvm-svn: 94688
|
| |
|
|
| |
llvm-svn: 94609
|
| |
|
|
| |
llvm-svn: 94584
|
| |
|
|
|
|
| |
type-cast to its sub-class (radar 7575882).
llvm-svn: 94559
|
| |
|
|
|
|
| |
access (was radar 7575882).
llvm-svn: 94481
|
| |
|
|
|
|
| |
to subclass. (Fixes radar 7575882).
llvm-svn: 94444
|
| |
|
|
|
|
| |
'include/Checker/BugReporter'
llvm-svn: 94428
|
| |
|
|
| |
llvm-svn: 94420
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) libAnalysis is a generic analysis library that can be used by
Sema. It defines the CFG, basic dataflow analysis primitives, and
inexpensive flow-sensitive analyses (e.g. LiveVariables).
(2) libChecker contains the guts of the static analyzer, incuding the
path-sensitive analysis engine and domain-specific checks.
Now any clients that want to use the frontend to build their own tools
don't need to link in the entire static analyzer.
This change exposes various obvious cleanups that can be made to the
layout of files and headers in libChecker. More changes pending. :)
This change also exposed a layering violation between AnalysisContext
and MemRegion. BlockInvocationContext shouldn't explicitly know about
BlockDataRegions. For now I've removed the BlockDataRegion* from
BlockInvocationContext (removing context-sensitivity; although this
wasn't used yet). We need to have a better way to extend
BlockInvocationContext (and any LocationContext) to add
context-sensitivty.
llvm-svn: 94406
|
| |
|
|
|
|
|
| |
line -- they may be remapped (fake) files. This is useful for testing parsing
entirely from memory.
llvm-svn: 94395
|
| |
|
|
| |
llvm-svn: 94379
|
| |
|
|
| |
llvm-svn: 94361
|
| |
|
|
|
|
| |
translation units that include unsaved files.
llvm-svn: 94258
|