Fariborz Jahanian
01cbe441b3
Allow pointer convesion of an objective-c pointer to
...
'void *' to mimic gcc's behavior. (fixes radar 7477351).
llvm-svn: 91570
2009-12-16 23:13:33 +00:00
Eli Friedman
8d0da8042b
Fix test.
...
llvm-svn: 91566
2009-12-16 20:47:15 +00:00
John McCall
30f2ac714b
Silence a clang warning about the deprecated (but perfectly reasonable in
...
context) increment-of-bool idiom.
llvm-svn: 91564
2009-12-16 20:31:50 +00:00
Eli Friedman
6a8dc922b3
Make sure C-specific enum warning doesn't trigger in C++.
...
llvm-svn: 91563
2009-12-16 20:30:08 +00:00
Daniel Dunbar
15cef0ed42
Fix -fdollars-in-identifiers Clang translation.
...
llvm-svn: 91562
2009-12-16 20:10:18 +00:00
Daniel Dunbar
b827e52638
Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
...
llvm-svn: 91560
2009-12-16 20:10:05 +00:00
Daniel Dunbar
ab42d42390
Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.
...
llvm-svn: 91559
2009-12-16 20:09:53 +00:00
Eli Friedman
5dd02a0f65
Correctly calcluate abstract-ness in the case where an implicitly declared
...
method overrides a pure virtual method.
llvm-svn: 91558
2009-12-16 20:00:27 +00:00
Ted Kremenek
3ab9e4cf87
Temporarily revert 91553.
...
llvm-svn: 91557
2009-12-16 19:46:44 +00:00
Jim Grosbach
69461f50c1
Mark STREX* as earlyclobber for the success result register.
...
llvm-svn: 91555
2009-12-16 19:44:06 +00:00
Jim Grosbach
2a282f2f86
Add @earlyclobber TableGen constraint
...
llvm-svn: 91554
2009-12-16 19:43:02 +00:00
Ted Kremenek
023bceaf1b
Remove use of ObjCObjectRegion from BasicStoreManager.
...
llvm-svn: 91553
2009-12-16 19:42:23 +00:00
Bill Wendling
8478ed5d18
Remove superfluous 'extern' variable that was causing a warning with clang.
...
llvm-svn: 91552
2009-12-16 19:36:42 +00:00
Douglas Gregor
8cdc2e0590
Fix test case to unbreak testing
...
llvm-svn: 91551
2009-12-16 19:18:40 +00:00
Jakob Stoklund Olesen
ec20a88a57
Reuse lowered phi nodes.
...
Tail duplication produces lots of identical phi nodes in different basic
blocks. Teach PHIElimination to reuse the join registers when lowering a phi
node that is identical to an already lowered node. This saves virtual
registers, and more importantly it avoids creating copies the the coalescer
doesn't know how to eliminate.
Teach LiveIntervalAnalysis about the phi joins with multiple uses.
This patch significantly reduces code size produced by -pre-regalloc-taildup.
llvm-svn: 91549
2009-12-16 18:55:53 +00:00
Douglas Gregor
4f4b186215
When value-initializing a class with no user-defined constructors but
...
with a non-trivial default constructor, zero-initialize the storage
and then call the default constructor. Fixes PR5800.
llvm-svn: 91548
2009-12-16 18:50:27 +00:00
Ted Kremenek
22a8a4bfb9
Compute the right extension for preprocessed Objective-C++ files.
...
llvm-svn: 91547
2009-12-16 18:32:41 +00:00
Fariborz Jahanian
00857fc376
Diagnose property of reference type as unsupported
...
instead of crashing for now.
llvm-svn: 91546
2009-12-16 18:03:30 +00:00
Anders Carlsson
d681a29ac0
Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one.
...
llvm-svn: 91545
2009-12-16 17:27:20 +00:00
Nuno Lopes
8716b478e4
add some svn:ignore
...
llvm-svn: 91544
2009-12-16 17:07:58 +00:00
Nuno Lopes
13c88c7269
implement PR5654: add -fassume-sane-operator-new, which is enabled by default, and adds the malloc attribute to the global function new() and to the overloaded new operators.
...
feel free to chage the name to this lengthy argument
llvm-svn: 91543
2009-12-16 16:59:22 +00:00
Douglas Gregor
59ae3c8542
In Sema::CheckInitializerTypes, replace a use of CheckReferenceInit with an InitializationSequence
...
llvm-svn: 91542
2009-12-16 16:54:16 +00:00
Douglas Gregor
4044489d69
Update C++ status page to reflect reality
...
llvm-svn: 91541
2009-12-16 16:23:48 +00:00
Nuno Lopes
2af2af219f
fix PR5689: add support for 'o' and 'V' asm input operands
...
llvm-svn: 91540
2009-12-16 14:28:21 +00:00
Nuno Lopes
fdb8137a3e
fix build
...
llvm-svn: 91539
2009-12-16 14:20:08 +00:00
John McCall
5750077300
Shift things around so that it's easier to recover from a missing
...
function in a C++ call using an arbitrary call-expression type.
Actually exploit this to fix the recovery implemented earlier.
The diagnostic is still iffy, though.
llvm-svn: 91538
2009-12-16 12:17:52 +00:00
Daniel Dunbar
282c9b9cc1
Fix pretty stack traces.
...
llvm-svn: 91537
2009-12-16 11:47:38 +00:00
Daniel Dunbar
1482b5aa16
Fix one more missing this-> to placate that picky clang++.
...
llvm-svn: 91536
2009-12-16 11:38:03 +00:00
Zhongxing Xu
6df9f54d6d
Add a new kind of region: CXXObjectRegion. Currently it has only one
...
attribute: the object type.
Add initial support for visiting CXXThisExpr.
Fix a bunch of 80-col violations.
llvm-svn: 91535
2009-12-16 11:27:52 +00:00
Daniel Dunbar
133efc317e
Revert "Reapply 91184 with fixes and an addition to the testcase to cover the
...
problem", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9.
llvm-svn: 91534
2009-12-16 10:56:17 +00:00
Daniel Dunbar
df45b70c1e
Revert "Initial work on disabling the scheduler. This is a work in progress, and
...
this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.
llvm-svn: 91533
2009-12-16 10:56:02 +00:00
Chris Lattner
f278addbdc
reapply my strstr optimization. I have reproduced the x86-64 bootstrap
...
miscompile (i386.o miscompares) but it happens both with and without
this patch.
llvm-svn: 91532
2009-12-16 09:32:05 +00:00
Chris Lattner
9527af246e
fix more missing this->'s to placate clang++
...
llvm-svn: 91531
2009-12-16 09:17:12 +00:00
Chris Lattner
5f5fffc5b2
Fix a missing this-> that clang++ notices.
...
llvm-svn: 91530
2009-12-16 09:09:54 +00:00
Chris Lattner
4ea86c460a
now that libsystem no longer uses SmallVector, we can move
...
SmallVectorBase::grow_pod out of line, finally satisfying PR3758.
llvm-svn: 91529
2009-12-16 08:44:24 +00:00
Chris Lattner
a6fc9de9fc
remove use of SmallVector from Path::makeUnique. Path::makeUnique
...
is not used by anything performance sensitive, so just use std::string.
llvm-svn: 91528
2009-12-16 08:40:44 +00:00
Chris Lattner
e6be85661d
eliminate an extraneous use of SmallVector in a case where
...
a fixed size buffer is perfectly fine.
llvm-svn: 91527
2009-12-16 08:35:54 +00:00
Chris Lattner
5c0917c175
factor out the grow() method for all pod implementations into one
...
common function. It is still an inline method, which will be fixed next.
llvm-svn: 91526
2009-12-16 08:34:40 +00:00
John McCall
d681c3959f
Introduce a centralized routine in Sema for diagnosing failed lookups (when
...
used as expressions). In dependent contexts, try to recover by doing a lookup
in previously-dependent base classes. We get better diagnostics out, but
unfortunately the recovery fails: we need to turn it into a method call
expression, not a bare call expression. Thus this is still a WIP.
llvm-svn: 91525
2009-12-16 08:11:27 +00:00
Victor Hernandez
2003b90807
Use different name for argument and field
...
llvm-svn: 91524
2009-12-16 08:10:57 +00:00
Chris Lattner
f684b9039d
pull destroy_range and uninitialized_copy up to the
...
SmallVectorTemplateBase class, which allows us to statically
dispatch on isPodLike instead of dynamically.
llvm-svn: 91523
2009-12-16 08:09:23 +00:00
Chris Lattner
acc0e62625
sink most of the meat in smallvector back from SmallVectorTemplateCommon
...
down into SmallVectorImpl. This requires sprinking a ton of this->'s in,
but gives us a place to factor.
llvm-svn: 91522
2009-12-16 08:05:48 +00:00
Nick Lewycky
23fbd54cfe
Make this test pass on Linux.
...
llvm-svn: 91521
2009-12-16 07:35:25 +00:00
Anders Carlsson
07863b8b6e
Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen.
...
llvm-svn: 91520
2009-12-16 07:05:41 +00:00
Anders Carlsson
18ada9856f
Handle ImplicitValueInitExpr in AggExprEmitter.
...
llvm-svn: 91519
2009-12-16 06:57:54 +00:00
Chris Lattner
8b8d01829e
substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
...
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
SmallVectorTemplateBase can be specialized based on isPodLike.
llvm-svn: 91518
2009-12-16 06:55:45 +00:00
Zhongxing Xu
82a7beb2e0
remove dead code.
...
llvm-svn: 91517
2009-12-16 06:39:03 +00:00
Douglas Gregor
723796af7a
Eliminate Sema::CheckValueInitialization; its callers now use
...
InitializationSequence to perform the actual initialization.
Also, introduced the notion of a tree of initialized entities, so that
we can know where an initialization began when dealing with nested
initializations (as occur when performing list initialization). This
will, eventually, be useful for producing better diagnostics when list
initialization fails, because we can show the path from the top-level
object being initialized down to the actual subobject where
initialization failed.
llvm-svn: 91516
2009-12-16 06:35:08 +00:00
Eli Friedman
53b3cde60f
Add abort() as a builtin. This has two effects: one, we warn for incorrect
...
declarations of abort(), and two, we mark it noreturn. Missing the latter
shows up in one of the "embarassing" tests (from the thread on llvmdev
"detailed comparison of generated code size for LLVM and other compilers").
llvm-svn: 91515
2009-12-16 06:28:21 +00:00
Anders Carlsson
ce5b95c05a
More FullExpr work.
...
llvm-svn: 91514
2009-12-16 06:21:35 +00:00