- Jul 27, 2011
-
-
Peter Collingbourne authored
llvm-svn: 136254
-
Eli Friedman authored
Make CodeGen for array delete involving incomplete class work without crashing. Should fix regression on g++.dg/init/delete1.C. llvm-svn: 136241
-
Douglas Gregor authored
llvm-svn: 136210
-
John McCall authored
for-in statements; specifically, make sure to close over any temporaries or cleanups it might require. In ARC, this has implications for the lifetime of the collection, so emit it with a retain and release it upon exit from the loop. rdar://problem/9817306 llvm-svn: 136204
-
Douglas Gregor authored
destructors of abstract classes. It's undefined behavior to actually call the destructor (e.g., via delete), but the presence of code that calls this destructor doesn't make the program ill-formed. Fixes <rdar://problem/9819242>. llvm-svn: 136180
-
- Jul 25, 2011
-
-
Chandler Carruth authored
SourceManager and FullSourceLoc. llvm-svn: 135969
-
Chandler Carruth authored
FullSourceLoc::getInstantiationLoc to ...::getExpansionLoc. This is part of the API and documentation update from 'instantiation' as the term for macros to 'expansion'. llvm-svn: 135914
-
Frits van Bommel authored
llvm-svn: 135910
-
- Jul 23, 2011
-
-
Chris Lattner authored
to avoid extraneous \n's. llvm-svn: 135862
-
Chris Lattner authored
llvm-svn: 135855
-
Chris Lattner authored
them into the clang namespace. llvm-svn: 135852
-
Chris Lattner authored
patch by Jon Mulder! llvm-svn: 135851
-
- Jul 22, 2011
-
-
John McCall authored
Introduce and document a new objc_returns_inner_pointer attribute, and consume it by performing a retain+autorelease on message receivers when they're not immediately loaded from an object with precise lifetime. llvm-svn: 135764
-
Jay Foad authored
ArrayRef. llvm-svn: 135761
-
Chris Lattner authored
Many thanks to Eli for reducing this great testcase. llvm-svn: 135752
-
John McCall authored
their loaded values, although it still worth doing this for __weak properties to get the autoreleased-return-value optimization. llvm-svn: 135747
-
Jordy Rose authored
This was previously not-const only because it has to lazily construct a chain of ivars the first time it is called (and after the chain is invalidated). In practice, all the clients were just const_casting their const Decls; all those now-unnecessary const_casts have been removed. llvm-svn: 135741
-
- Jul 21, 2011
-
-
Jay Foad authored
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. llvm-svn: 135673
-
- Jul 20, 2011
-
-
Benjamin Kramer authored
llvm-svn: 135585
-
Chris Lattner authored
llvm-svn: 135577
-
Chris Lattner authored
some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. llvm-svn: 135576
-
rdar://9780211Chris Lattner authored
This is something of a hack, the problem is as follows: 1. we instantiate both copied of RetainPtr with the two different argument types (an id and protocol-qualified id). 2. We refer to the ctor of one of the instantiations when introducing global "x", this causes us to emit an llvm::Function for a prototype whose "this" has type "RetainPtr<id<bork> >*". 3. We refer to the ctor of the other instantiation when introducing global "y", however, because it *mangles to the same name as the other ctor* we just use a bitcasted version of the llvm::Function we previously emitted. 4. We emit deferred declarations, causing us to emit the body of the ctor, however the body we emit is for RetainPtr<id>, which expects its 'this' to have an IR type of "RetainPtr<id>*". Because of the mangling collision, we don't have this case, and explode. This is really some sort of weird AST invariant violation or something, but hey a bitcast makes the pain go away. llvm-svn: 135572
-
Chris Lattner authored
It doesn't matter in practice, but it is good to be tidy. llvm-svn: 135571
-
Chris Lattner authored
and ConvertTypeForMem are the same for pointers, it is best to just use ConvertType. Thanks Eli! llvm-svn: 135567
-
Chris Lattner authored
decaying an array of incomplete type (which has type [0 x i8]*) to a normal pointer (which has incompletetype*). llvm-svn: 135565
-
- Jul 19, 2011
-
-
Evan Cheng authored
llvm-svn: 135469
-
Devang Patel authored
llvm-svn: 135456
-
Devang Patel authored
llvm-svn: 135437
-
- Jul 18, 2011
-
-
Frits van Bommel authored
Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used. Mostly mechanical with some manual reformatting. llvm-svn: 135390
-
Nick Lewycky authored
Fixes PR10233! llvm-svn: 135377
-
Chris Lattner authored
llvm-svn: 135370
-
- Jul 15, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 135285
-
Jay Foad authored
llvm-svn: 135265
-
John McCall authored
is right --- shouldn't there be a TypeLoc in here somewhere? --- but at least it doesn't have a redundant QualType and a broken children() method. Noticed this while doing things in serialization. llvm-svn: 135257
-
Chris Lattner authored
to prevent recursive compilation problems. This fixes a failure of CodeGen/decl.c on x86-32 targets that don't fill in the coerce-to type. llvm-svn: 135256
-
Chris Lattner authored
types. Fore xample, we used to lower: struct bar { int a; }; struct foo { void (*FP)(struct bar); } G; to: %struct.foo = type { {}* } since the function pointer would cause recursive translation of bar and we didn't know if that would get us into trouble. We are now smart enough to know that it is fine, so we get this type instead: %struct.foo = type { void (i32)* } Codegen still needs to be prepared for uncooperative types at any place, which is why I let the maximally uncooperative code sit around for awhile to help shake out the bugs. llvm-svn: 135244
-
John McCall authored
to represent a fully-substituted non-type template parameter. This should improve source fidelity, as well as being generically useful for diagnostics and such. llvm-svn: 135243
-
- Jul 14, 2011
-
-
Benjamin Kramer authored
llvm-svn: 135155
-
- Jul 13, 2011
-
-
Bruno Cardoso Lopes authored
llvm-svn: 135091
-
Devang Patel authored
llvm-svn: 135083
-