Fariborz Jahanian
cc043a7154
Minor refactoring of my last patch.
...
llvm-svn: 80847
2009-09-02 23:11:48 +00:00
Fariborz Jahanian
3117e2b9d4
Referenced instatiated default constructors
...
must be defined. Fixed pr4853.
llvm-svn: 80846
2009-09-02 23:02:57 +00:00
Douglas Gregor
b7bfe79412
Rewrite of our handling of name lookup in C++ member access expressions, e.g.,
...
x->Base::f
We no longer try to "enter" the context of the type that "x" points
to. Instead, we drag that object type through the parser and pass it
into the Sema routines that need to know how to perform lookup within
member access expressions.
We now implement most of the crazy name lookup rules in C++
[basic.lookup.classref] for non-templated code, including performing
lookup both in the context of the type referred to by the member
access and in the scope of the member access itself and then detecting
ambiguities when the two lookups collide (p1 and p4; p3 and p7 are
still TODO). This change also corrects our handling of name lookup
within template arguments of template-ids inside the
nested-name-specifier (p6; we used to look into the scope of the
object expression for them) and fixes PR4703.
I have disabled some tests that involve member access expressions
where the object expression has dependent type, because we don't yet
have the ability to describe dependent nested-name-specifiers starting
with an identifier.
llvm-svn: 80843
2009-09-02 22:59:36 +00:00
Douglas Gregor
ef7c1fd909
Unbreak my CMake build. Say you'll link again.
...
llvm-svn: 80842
2009-09-02 22:45:31 +00:00
Devang Patel
c180029be4
Revert 80839 for now. It causes test failures.
...
llvm-svn: 80841
2009-09-02 21:49:26 +00:00
Fariborz Jahanian
589202d8e6
Added a FIXME to the test case.
...
llvm-svn: 80840
2009-09-02 21:24:14 +00:00
Devang Patel
36309cd391
Use CallbackVH, instead of WeakVH, to hold MDNode elements.
...
Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.
llvm-svn: 80839
2009-09-02 21:22:09 +00:00
Anton Korobeynikov
f0da41c3e4
More missed vdup patterns
...
llvm-svn: 80838
2009-09-02 21:21:28 +00:00
Anders Carlsson
35dca26835
Fix an assertion when initializing a union using a member initializer. (We weren't casting from the union type to the initializer type correctly).
...
llvm-svn: 80837
2009-09-02 21:14:47 +00:00
Fariborz Jahanian
3a964ebdc4
Changed abi mode for these test which are dereferencing
...
an interface pointer.
llvm-svn: 80836
2009-09-02 21:06:27 +00:00
Anders Carlsson
8943e2b8a0
Fix a crash when referencing static data members.
...
llvm-svn: 80835
2009-09-02 21:01:21 +00:00
Ted Kremenek
e93b4b8fe1
Update checker build.
...
llvm-svn: 80834
2009-09-02 20:27:08 +00:00
Eli Friedman
b041c75f09
Fix warnings.
...
llvm-svn: 80833
2009-09-02 20:07:26 +00:00
Dan Gohman
c76bfb777e
Switch llc from ParseBitcodeFile to ParseIRFile. This lets llc
...
transparently read either LLVM Assembly or LLVM Bitcode files.
llvm-svn: 80829
2009-09-02 19:35:19 +00:00
John McCall
f8bd861ce9
Borrow a friend class's previous declaration's access specifier regardless of
...
whether the current context is dependent.
Thanks to Anders for pointing this out.
llvm-svn: 80828
2009-09-02 19:32:14 +00:00
Dan Gohman
a7e8799c72
Add a comment noting the memory ownership rules.
...
llvm-svn: 80827
2009-09-02 19:21:56 +00:00
Anders Carlsson
2e56cc6e6c
Fix a codegen crash when a class template has a constructor that does member initialization of an anonymous union.
...
llvm-svn: 80826
2009-09-02 19:17:55 +00:00
Steve Naroff
b92c73a02a
Fix some newly added bugs uncovered by the RELEASE build.
...
llvm-svn: 80813
2009-09-02 18:58:52 +00:00
Steve Naroff
80a766bf50
Start issuing callback for references (add some predicates, refactor some code).
...
llvm-svn: 80810
2009-09-02 18:26:48 +00:00
Dan Gohman
b7cb99bf50
Add convenience functions for reading in LLVM IR that autodetect
...
and LLVM Assembly and LLVM Bitcode and automatically call the
corresponding reader.
llvm-svn: 80809
2009-09-02 17:54:06 +00:00
Anders Carlsson
09a3774cd3
Packed unions should be packed. Fixes an assert Daniel reported.
...
llvm-svn: 80808
2009-09-02 17:51:33 +00:00
Chris Lattner
7bd37b47c8
switch from std::string to SmallString + raw_svector_ostream.
...
llvm-svn: 80807
2009-09-02 17:37:38 +00:00
Chris Lattner
74f4ca7cb2
split mcinst lowering stuff out to its own file.
...
llvm-svn: 80806
2009-09-02 17:35:12 +00:00
Dan Gohman
957b1316e6
Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.
...
llvm-svn: 80805
2009-09-02 17:31:42 +00:00
Dan Gohman
ae58e72018
Add const qualifiers for isBitcodeWrapper, and add new functions
...
isRawBitcode and isBitcode to allow clients to test whether a given
memory buffer holds a bitcode image.
llvm-svn: 80804
2009-09-02 17:21:29 +00:00
Dan Gohman
77ac99dc31
Refactor common code from ParseAssemblyString and ParseAssemblyFile,
...
to expose a low-level interface for parsing from an existing MemoryBuffer.
llvm-svn: 80803
2009-09-02 17:18:19 +00:00
Fariborz Jahanian
fc60ca8801
Allow null initialization of scalara data members
...
in constructors's initializer list. pr4854
llvm-svn: 80802
2009-09-02 17:10:17 +00:00
Dan Gohman
87d69e80b1
Add const qualifiers to dominates' arguments.
...
llvm-svn: 80801
2009-09-02 17:05:05 +00:00
Andreas Neustifter
69e2afe030
Removed temporarily because of breaking Darwin builds.
...
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086214.html )
llvm-svn: 80799
2009-09-02 16:47:24 +00:00
Bob Wilson
bc751989f1
Rearrange code to eliminate redundancy and avoid gotos.
...
llvm-svn: 80798
2009-09-02 16:35:35 +00:00
Nuno Lopes
2baa6a38d2
plug another leak in LLParser::PerFunctionState::SetInstName()
...
llvm-svn: 80792
2009-09-02 15:02:57 +00:00
Andreas Neustifter
da6b0fa8ed
Changed profiling-tool-chain.ll test to use optimal-edge-profiling instead of
...
edge-profiling, this is more useful since the loading of the
optimal-edge-profiling is more complicated.
The edge-profiling is tested in edge-profiling.ll where only the
instrumentation is tested.
llvm-svn: 80791
2009-09-02 14:24:08 +00:00
Nuno Lopes
2fcee70aeb
plug memory leak in LLParser::PerFunctionState::SetInstName() by deleting a value after replacing it
...
llvm-svn: 80790
2009-09-02 14:22:03 +00:00
Andreas Neustifter
ae866b0c66
Sort edges in MaximumSpanningTree more stable in case of equal weight.
...
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085890.html )
llvm-svn: 80789
2009-09-02 14:03:11 +00:00
Andreas Neustifter
964fa2bdac
Changed set of BlocksToInstrument to set of InsertedBlocks that do not have to
...
be instrumented.
llvm-svn: 80788
2009-09-02 13:59:05 +00:00
Steve Naroff
3645f5a99b
Flesh out CXCursorKind...
...
- More declaration types (distinguish between struct/union/class, instance/class methods).
- Add definition types (class, category, function, instance/class method, etc.).
Add client data to clang_loadDeclaration() and implement.
llvm-svn: 80787
2009-09-02 13:28:54 +00:00
Zhongxing Xu
6e4232c79c
Refactor the check for bad divide into a checker.
...
Also fix a checker context bug: the Dst set is not always empty initially.
Because in GRExprEngine::CheckerVisit(), *CurrSet is used repeatedly.
So we removed the Dst.empty() condition in ~CheckerContext() when deciding
whether to do autotransision.
llvm-svn: 80786
2009-09-02 13:26:26 +00:00
Douglas Gregor
c707da6866
Document how we intepret C++ DR 382
...
llvm-svn: 80785
2009-09-02 13:12:51 +00:00
Douglas Gregor
2575dfc7ff
Add a few more typename-specifier tests that involve simple-template-ids in the nested-name-specifier
...
llvm-svn: 80784
2009-09-02 13:07:20 +00:00
Douglas Gregor
12bbfe1d31
When parsing typename specifiers (with either the identifier or
...
simple-template-id form), check whether the scope specifier is
computable as a declaration context rather than checking whether it is
dependent, so that we properly cope with members of the current
instantiation.
Improve testing for typename specifiers that terminate in a
simpe-template-id.
llvm-svn: 80783
2009-09-02 13:05:45 +00:00
Andreas Neustifter
4469c164d0
Code cleanups and added comments.
...
llvm-svn: 80781
2009-09-02 12:38:39 +00:00
Torok Edwin
82131d6ad7
Opaque types didn't work if llvm_is_multithreaded().
...
AlwaysOpaqueTy is always NULL at this point, and it causes an assertion failure.
Fix it by using the just constructed tmp instead.
llvm-svn: 80780
2009-09-02 12:23:05 +00:00
Nuno Lopes
f55a8cb89c
set svn:ignore
...
llvm-svn: 80779
2009-09-02 11:58:01 +00:00
Torok Edwin
18e03dd70c
Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in
...
r80406, and readd a -print-dbginfo test.
llvm-svn: 80778
2009-09-02 11:13:56 +00:00
Sandeep Patel
68c5f477fa
Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.
...
llvm-svn: 80773
2009-09-02 08:44:58 +00:00
Zhongxing Xu
79affb7b94
Refactor bad callee check into a Checker.
...
Now bad callee is checked as a PreVisit to the CallExpr.
llvm-svn: 80771
2009-09-02 08:10:35 +00:00
Zhongxing Xu
656b10a1fa
Still use BadArg bugtype in the checker. This saves us implement registerInitialVisitors
...
in the BugReport.
When all internal bug checking logic are moved to checkers, BuiltinBug will
not reference GRExprEngine, and FlushReports() will be not necessary, since
all bugs are emitted into the equivalent classes immediately.
For now just add a ctor with no arguments.
llvm-svn: 80770
2009-09-02 07:09:39 +00:00
Chris Lattner
defbbc9105
Fix month.
...
llvm-svn: 80769
2009-09-02 06:34:22 +00:00
Chris Lattner
4916267c97
fix PR4815: some cases where DeleteDeadInstruction can delete
...
the instruction BBI points to.
llvm-svn: 80768
2009-09-02 06:31:02 +00:00
Chris Lattner
09a79dcfdf
clean up this code a bit.
...
llvm-svn: 80767
2009-09-02 06:15:37 +00:00