Mike Stump
bc78a728ee
Add code to setup the vtable pointer in the constructor. Work in progress.
...
llvm-svn: 77699
2009-07-31 18:25:34 +00:00
Mike Stump
f332516136
Fix spacing.
...
llvm-svn: 77688
2009-07-31 17:46:44 +00:00
Owen Anderson
fe4e34707c
Update for LLVM API change.
...
llvm-svn: 77686
2009-07-31 17:39:36 +00:00
Douglas Gregor
1d1d16c43e
Make canonicalization of overloaded function declarations match the
...
Itanium C++ ABI's name mangling, since both are related to the notion
of "equivalent" function templates.
llvm-svn: 77678
2009-07-31 16:07:31 +00:00
Douglas Gregor
c97f09f565
Canonicalize template template parameters. We can't test this yet, but
...
it's "obviously correct" :)
llvm-svn: 77677
2009-07-31 15:46:56 +00:00
Douglas Gregor
70317123c9
Canonicalize function parameters
...
llvm-svn: 77676
2009-07-31 15:45:02 +00:00
Douglas Gregor
802a030d6e
Canonicalization and profiling for overloaded function declarations,
...
for those extra-esoteric cases. Not that any two given C++ compilers
agree on this test case, but this change gives us a strong definition
of equivalent types.
llvm-svn: 77664
2009-07-31 05:24:01 +00:00
Douglas Gregor
352169aed4
Canonicalize dependent extended vector types.
...
llvm-svn: 77663
2009-07-31 03:54:25 +00:00
Ryan Flynn
d963a49756
PR3679 - enable #pragma weak aliasing.
...
llvm-svn: 77660
2009-07-31 02:52:19 +00:00
John McCall
9bb74a5ef5
Rename Action::TagKind to Action::TagUseKind, which removes both a misnomer
...
and a name collision.
llvm-svn: 77658
2009-07-31 02:45:11 +00:00
John McCall
ef50e99783
sp.
...
llvm-svn: 77656
2009-07-31 02:20:35 +00:00
Mike Stump
e9c6ffc7d1
Whitespace around else canonicalization and fix 80-col violations.
...
llvm-svn: 77655
2009-07-31 02:02:20 +00:00
Eli Friedman
dfbd0c4b0d
Make the check for the linkage of a template handle the case of nested
...
linkage specifications correctly.
llvm-svn: 77653
2009-07-31 01:43:05 +00:00
Anders Carlsson
a076d14514
Add CK_DerivedToBase and use it PerformObjectMemberConversion.
...
llvm-svn: 77652
2009-07-31 01:23:52 +00:00
Mike Stump
5b78af9ed7
Fix build warnings.
...
llvm-svn: 77651
2009-07-31 01:10:29 +00:00
Anders Carlsson
a26159261c
Add a CastKind enum to CastExpr. Right now it's not used for much but it will be :)
...
llvm-svn: 77650
2009-07-31 00:48:10 +00:00
Ted Kremenek
df4b3dc3a4
Fix use-after-release bug introduced in r77585 where the PathDiagnosticClient
...
created by AnalysisConsumer would be released by an instance of AnalysisManager
and then reused by later instances of AnalysisManager. Ownership of the
PathDiagnosticClient now belongs (for now) in AnalysisConsumer.
We also need this layering (for now) because the HTMLDiagnostiClient requires
that the entire translation unit be processed before emitting diagnostics. This
is done in its destructor (which should also be fixed, but that is another
issue).
This fixes PR 4653.
llvm-svn: 77648
2009-07-31 00:34:52 +00:00
Douglas Gregor
f3f955279b
Build canonical types for dependently-sized array types.
...
llvm-svn: 77647
2009-07-31 00:23:35 +00:00
Douglas Gregor
a21f6c3c71
Canonicalization of dependent C++0x decltype types.
...
llvm-svn: 77643
2009-07-30 23:36:40 +00:00
Fariborz Jahanian
6f14c73087
Synthesize the default constructor which has not
...
been declared as needed.
llvm-svn: 77641
2009-07-30 23:22:00 +00:00
Douglas Gregor
a5dd9f858f
Canonicalization for dependent typeof(expr) types.
...
llvm-svn: 77639
2009-07-30 23:18:24 +00:00
Owen Anderson
7ec07a573c
Update for LLVM API changes.
...
llvm-svn: 77638
2009-07-30 23:11:26 +00:00
Anders Carlsson
5c5f160c7f
Diagnose unused expression results for all statements, just not compound statements.
...
llvm-svn: 77631
2009-07-30 22:39:03 +00:00
Mike Stump
658fe02d17
Canonicalize else spacing.
...
llvm-svn: 77629
2009-07-30 22:28:39 +00:00
Anders Carlsson
59a2ab9720
Factor code out into a DiagnoseUnusedExprResult function.
...
llvm-svn: 77628
2009-07-30 22:17:18 +00:00
Mike Stump
a523b2d7a0
Note some other limitations.
...
llvm-svn: 77626
2009-07-30 21:47:44 +00:00
Mike Stump
57724c2f7e
Update based upon comments. Explain why we have an assert.
...
llvm-svn: 77612
2009-07-30 18:01:44 +00:00
Mike Stump
44b8e90369
We'll also need a vtable pointer if we have virtual bases.
...
llvm-svn: 77610
2009-07-30 17:53:53 +00:00
Douglas Gregor
833834fcab
What luck! Clang obtains support for refering to members of the
...
current instantiation when that current instantiation is a class
template partial specialization.
llvm-svn: 77609
2009-07-30 17:50:56 +00:00
Fariborz Jahanian
aa01d2a532
Patch for future ir-gen for destructor calls.
...
llvm-svn: 77608
2009-07-30 17:49:11 +00:00
Ted Kremenek
118cef36b8
Lexically order files.
...
llvm-svn: 77607
2009-07-30 17:41:23 +00:00
Douglas Gregor
1530138fd0
Support out-of-line definitions of the members of class template
...
partial specializations.
llvm-svn: 77606
2009-07-30 17:40:51 +00:00
Douglas Gregor
4e5a974c00
Initialize an otherwise-wild pointer. Fixes a crashy analyzer
...
llvm-svn: 77599
2009-07-30 16:10:26 +00:00
Benjamin Kramer
2a94b3dcdb
fix cmake build
...
llvm-svn: 77589
2009-07-30 10:38:43 +00:00
Zhongxing Xu
4b5d6bc33a
simple fixes.
...
llvm-svn: 77587
2009-07-30 09:14:54 +00:00
Zhongxing Xu
4b03d4913a
Make AnalysisManager into its own source file and a pure data management class.
...
Move all components creation code into AnalysisConsumer::DigestAnalyzerOptions().
llvm-svn: 77585
2009-07-30 09:11:52 +00:00
Daniel Dunbar
7be573f05a
Update CMakeLists.txt
...
llvm-svn: 77577
2009-07-30 03:55:04 +00:00
Argyrios Kyrtzidis
fc2ed30ab8
Fix Selector <-> GlobalSelector conversion.
...
llvm-svn: 77575
2009-07-30 03:42:08 +00:00
Ryan Flynn
7d470f3466
PR3679 - handle #pragma weak
...
llvm-svn: 77573
2009-07-30 03:15:39 +00:00
Zhongxing Xu
14407bf25a
This patch collects all analysis context data into a new class
...
AnalysisContext.
llvm-svn: 77563
2009-07-30 01:17:21 +00:00
Eli Friedman
e8caa2a72f
Remove bogus "unsupported" case for vectors (which shouldn't
...
ever trigger). Add an "unsupported" case that triggers for C++ code.
It would be nice if someone would implement this properly... it
shouldn't be too hard, but I haven't looked closely at the relevant
code.
llvm-svn: 77562
2009-07-30 01:10:26 +00:00
Mike Stump
776d3401d2
Fix type to be consistent with the rest of the code.
...
llvm-svn: 77560
2009-07-30 01:02:10 +00:00
Mike Stump
3dc7eb9440
Add ability to layout the vtable pointer in trivial cases. I noticed
...
that we would silently do bad things with virtual bases in the layout
code, so, we just turn them off. When people do better things with
them, we can turn them back on.
llvm-svn: 77556
2009-07-30 00:22:38 +00:00
Eli Friedman
13ddd8514f
Fix gcc warning.
...
llvm-svn: 77555
2009-07-30 00:11:31 +00:00
Fariborz Jahanian
d375454dcf
ir-gen for nested non-virtual base member access
...
in current class.
llvm-svn: 77554
2009-07-30 00:10:25 +00:00
Argyrios Kyrtzidis
bd92767014
Add support for ObjC message expressions, in the Analyzer:
...
-Accept an ObjC method and find all message expressions that this method may respond to.
-Accept an ObjC message expression and find all methods that may respond to it.
llvm-svn: 77551
2009-07-30 00:03:55 +00:00
Argyrios Kyrtzidis
ce60c5ea60
Update CMake.
...
llvm-svn: 77548
2009-07-30 00:02:19 +00:00
Argyrios Kyrtzidis
2eff90515f
Support ObjC methods as Entities.
...
llvm-svn: 77547
2009-07-29 23:41:46 +00:00
Douglas Gregor
82c80a59ee
There's no point in going through the getAs<TagType> stuff to find the definition of a tag, since tags rarely have more than one or two declarations
...
llvm-svn: 77546
2009-07-29 23:41:44 +00:00
Argyrios Kyrtzidis
d70a92139f
Index the selectors and provide the translation units that contain them
...
through the IndexProvider.
llvm-svn: 77543
2009-07-29 23:41:18 +00:00