Argyrios Kyrtzidis
be6d89d255
[driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails.
...
llvm-svn: 148970
2012-01-25 20:00:43 +00:00
Anna Zaks
b3d896d333
[analyzer] Add the HTML file to the SATest diagnostic diff.
...
(Uses the functionality which has been in CmpRuns long before.)
llvm-svn: 148868
2012-01-24 21:57:35 +00:00
Argyrios Kyrtzidis
3698cef19f
[libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl"
...
for forward references of classes and protocols, this breaks libclang API usage.
rdar://10747438.
llvm-svn: 148861
2012-01-24 21:39:26 +00:00
Argyrios Kyrtzidis
d0a27f717e
[libclang] When calling clang_getCursorReferenced on a class or protocol
...
forward reference, do give an interface or protocol cursor back, don't give
an 'UnexposedDecl' one.
rdar://10743193
llvm-svn: 148848
2012-01-24 19:40:15 +00:00
Argyrios Kyrtzidis
18dc04eba2
[libclang] For:
...
@implementation I(cat)
suppress subsequent references to 'I'.
rdar://10568103
llvm-svn: 148730
2012-01-23 21:28:38 +00:00
Argyrios Kyrtzidis
5c4e065a9a
Introduce CXXRecordDecl::isCLike() that is true if the class is C-like,
...
without C++-specific features.
Use it to set the language to C++ when indexing non-C-like structs.
rdar://10732579
llvm-svn: 148708
2012-01-23 16:58:45 +00:00
Argyrios Kyrtzidis
7e614d7dce
[libclang] Index C++ template specializations, rdar://10732708
...
llvm-svn: 148707
2012-01-23 16:58:41 +00:00
Argyrios Kyrtzidis
9f777356a3
[libclang] Index namespaces in C++ qualified lookup of members, rdar://10732798
...
llvm-svn: 148706
2012-01-23 16:58:38 +00:00
Argyrios Kyrtzidis
84bd164862
[libclang] Index C++ constructor initializers, rdar://10732164
...
llvm-svn: 148705
2012-01-23 16:58:36 +00:00
Sebastian Pop
422377cfd3
rename -ccc-host-triple into -target
...
llvm-svn: 148582
2012-01-20 22:01:23 +00:00
David Blaikie
e4d798f078
More dead code removal (using -Wunreachable-code)
...
llvm-svn: 148577
2012-01-20 21:50:17 +00:00
Douglas Gregor
32fbe31246
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
2012-01-20 16:28:04 +00:00
Argyrios Kyrtzidis
908c4dcc5d
[libclang] Fix crash when indexing attributes, rdar://10702250.
...
llvm-svn: 148524
2012-01-20 01:38:51 +00:00
Argyrios Kyrtzidis
da6e05476d
[libclang] Make sure Preprocessor is set in ASTUnit during indexing.
...
llvm-svn: 148319
2012-01-17 18:48:07 +00:00
David Blaikie
8a40f700e6
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
...
llvm-svn: 148292
2012-01-17 06:56:22 +00:00
David Blaikie
f47fa304a4
Remove unnecessary default cases in switches over enums.
...
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
2012-01-17 02:30:50 +00:00
Argyrios Kyrtzidis
7890821b5b
[libclang] Make clang_getCursorCompletionString not depend on the ASTUnit having
...
a Sema.
This allows it to work when Sema is not available, like when loading AST files.
llvm-svn: 148279
2012-01-17 02:15:54 +00:00
Douglas Gregor
ec9fd13c77
De-virtualize getPreviousDecl() and getMostRecentDecl() when we know
...
we have a redeclarable type, and only use the new virtual versions
(getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have
that type information. This keeps us from penalizing users with strict
type information (and is the moral equivalent of a "final" method).
Plus, settle on the names getPreviousDecl() and getMostRecentDecl()
throughout.
llvm-svn: 148187
2012-01-14 16:38:05 +00:00
Argyrios Kyrtzidis
9ef9486ab7
[libclang] If CXIndexOpt_IndexFunctionLocalSymbols is enabled, also
...
index parameters.
llvm-svn: 148169
2012-01-14 02:05:51 +00:00
Argyrios Kyrtzidis
fb7d1455cd
[libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicate
...
that one wants indexing callbacks for function-local symbols as well.
llvm-svn: 148160
2012-01-14 00:11:49 +00:00
Eli Friedman
d749c6bf2e
Revert r148138; it's causing test failures.
...
llvm-svn: 148141
2012-01-13 21:33:06 +00:00
Sebastian Pop
9a8d528ddf
rename -ccc-host-triple into -target
...
llvm-svn: 148138
2012-01-13 20:37:02 +00:00
Rafael Espindola
0506cd8cfc
Revert 148045 to fix the bots.
...
llvm-svn: 148049
2012-01-12 21:17:34 +00:00
Rafael Espindola
9479c1b42a
Add a SONAME to the libclang library.
...
Patch by Sylvestre Ledru.
llvm-svn: 148045
2012-01-12 21:04:54 +00:00
Argyrios Kyrtzidis
a80f1bf262
Add IsImplicit field in ObjCMessageExpr that is true when the message
...
was constructed, e.g. for a property access.
This allows the selector identifier locations machinery for ObjCMessageExpr
to function correctly, in that there are not real locations to handle/report for
such a message.
llvm-svn: 148013
2012-01-12 02:34:39 +00:00
Anna Zaks
dc90f07b90
[analyzer] Correct the c++-analyzer symlink
...
As Matt pointed out, this should be just a link to 'ccc-analyzer'.
llvm-svn: 147661
2012-01-06 17:11:23 +00:00
Anna Zaks
06c9397665
[analyzer] c++-analyzer should be a symlink.
...
This fixes a regression from r147643.
llvm-svn: 147648
2012-01-06 02:19:07 +00:00
Anna Zaks
8e2fc5c5e9
[analyzer] Update the docs to reflect that gcc is not the only default
...
compiler option.
llvm-svn: 147645
2012-01-06 01:54:08 +00:00
Anna Zaks
1d39152059
[analyzer] scan-build: If we are on MacOS, use clang as the default
...
compiler.
llvm-svn: 147644
2012-01-06 01:54:05 +00:00
Anna Zaks
3a7f73d996
[analyzer] Skip --serialize-diagnostic when running scan-build.
...
Otherwise, the analyzer will try to analyze the serialized diagnostic
file as if it were a source file.
llvm-svn: 147643
2012-01-06 01:54:02 +00:00
Ted Kremenek
950e534e60
Force set-xcode-analyzer to use the system version of Python installed on OS X.
...
llvm-svn: 147483
2012-01-03 22:05:57 +00:00
Douglas Gregor
05a1f4d60b
Eliminate the ForwardDecl/InitiallyForwardDecl bits from ObjCProtocolDecl. They are no longer needed
...
llvm-svn: 147419
2012-01-01 22:06:18 +00:00
Douglas Gregor
f610267581
Eliminate ObjCForwardProtocolDecl, which is redundant now that
...
ObjCProtocolDecl modules forward declarations properly.
llvm-svn: 147415
2012-01-01 21:23:57 +00:00
Douglas Gregor
e6e48b1490
Move the data that corresponds to the definition of a protocol into a
...
separately-allocated DefinitionData structure. Introduce various
functions that will help with the separation of declarations from
definitions (isThisDeclarationADefinition(), hasDefinition(),
getDefinition()).
llvm-svn: 147408
2012-01-01 19:29:29 +00:00
Douglas Gregor
deafd0b2a4
Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDecl
...
covers both declarations (@class ) and definitions (@interface) of an
Objective-C class.
llvm-svn: 147299
2011-12-27 22:43:10 +00:00
Dylan Noblesmith
68207c0b26
driver: fix unused variable warning
...
from r147218.
llvm-svn: 147278
2011-12-26 19:29:47 +00:00
Dylan Noblesmith
e99b27f35e
Let CompilerInvocation initialization indicate failure
...
This fixes the FIXMEs in ParseAnalyzeArgs. (Also a
precursor to moving the analyzer into an AST plugin.)
For consistency, do the same with AssemblerInvocation.
llvm-svn: 147218
2011-12-23 03:05:38 +00:00
Dylan Noblesmith
1ced737ebf
remove unneeded config.h includes
...
llvm-svn: 147195
2011-12-22 22:49:47 +00:00
Kevin Enderby
292dc080e0
Last part of support for generating dwarf for assembly source files. This gets
...
the clang driver to enable this when assembling a .s file. rdar://9275556
llvm-svn: 147167
2011-12-22 19:31:58 +00:00
Argyrios Kyrtzidis
c09b854f6b
[libclang] In visitPreprocessedEntitiesInRange we are interested in a file region
...
so translate the range to file locations.
llvm-svn: 147058
2011-12-21 16:56:38 +00:00
Douglas Gregor
dc9166c8e1
Keep track of all declarations of an Objective-C class (both forward
...
declarations and definitions) as ObjCInterfaceDecls within the same
redeclaration chain. This new representation matches what we do for
C/C++ variables/functions/classes/templates/etc., and makes it
possible to answer the query "where are all of the declarations of
this class?"
llvm-svn: 146679
2011-12-15 20:29:51 +00:00
Argyrios Kyrtzidis
adba86d63c
[libclang] Give up on using write(); hopefully unbreaks mingw build.
...
llvm-svn: 146648
2011-12-15 06:51:30 +00:00
Argyrios Kyrtzidis
a0caa29d6f
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
2011-12-15 05:53:37 +00:00
Douglas Gregor
c0ac7d688e
Move the definition-specific data of ObjCInterfaceDecl into a
...
separately-allocated DefinitionData structure, which we manage the
same way as CXXRecordDecl::DefinitionData. This prepares the way for
making ObjCInterfaceDecls redeclarable, to more accurately model
forward declarations of Objective-C classes and eliminate the mutation
of ObjCInterfaceDecl that causes us serious trouble in the AST reader.
Note that ObjCInterfaceDecl's accessors are fairly robust against
being applied to forward declarations, because Clang (and Sema in
particular) doesn't perform RequireCompleteType/hasDefinition() checks
everywhere it has to. Each of these overly-robust cases is marked with
a FIXME, which we can tackle over time.
llvm-svn: 146644
2011-12-15 05:27:12 +00:00
Argyrios Kyrtzidis
be52b5ff6a
[libclang] Install a fatal error handler that will call abort() instead of exit()
...
when there is a report_fatal_error() call.
rdar://10507984
llvm-svn: 146641
2011-12-15 04:52:41 +00:00
Argyrios Kyrtzidis
4d873b725e
[libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo
...
so that we can access the attributes of an entity for a reference.
llvm-svn: 146616
2011-12-15 00:05:00 +00:00
Argyrios Kyrtzidis
41cfce25fe
[libclang] Suppress indexing references for occurrences of the interface
...
in a superclass and the protocols in a protocol list.
llvm-svn: 146615
2011-12-15 00:04:56 +00:00
Douglas Gregor
40d009ff0c
Eliminate the vistigial ObjCClassDecl::ObjCClassRef, and inline its
...
members into ObjCClassDecl, saving ourselves one pointer per forward
declaration.
llvm-svn: 146564
2011-12-14 17:12:03 +00:00
Argyrios Kyrtzidis
9b9f7a9f7a
[libclang] Indexing API: Provide the protocols list for objc categories as well.
...
rdar://10573361
llvm-svn: 146498
2011-12-13 18:47:45 +00:00
Argyrios Kyrtzidis
25cb0ff3d8
[libclang] Indexing API: Fix indexing of missed references.
...
rdar://10567864&10567916
llvm-svn: 146497
2011-12-13 18:47:41 +00:00