- Jun 11, 2011
-
-
Douglas Gregor authored
pointer assignment in C++. This was a longstanding problem spotted by Jordy Rose. llvm-svn: 132873
-
Chad Rosier authored
llvm-svn: 132872
-
Chad Rosier authored
llvm-svn: 132871
-
Eli Friedman authored
memcpy/memset symbol doesn't get marked up correctly in PIC modes otherwise. Should fix llvm-x86_64-linux-checks buildbot. Followup to r132864. llvm-svn: 132869
-
Douglas Gregor authored
Related result types apply Cocoa conventions to the type of message sends and property accesses to Objective-C methods that are known to always return objects whose type is the same as the type of the receiving class (or a subclass thereof), such as +alloc and -init. This tightens up static type safety for Objective-C, so that we now diagnose mistakes like this: t.m:4:10: warning: incompatible pointer types initializing 'NSSet *' with an expression of type 'NSArray *' [-Wincompatible-pointer-types] NSSet *array = [[NSArray alloc] init]; ^ ~~~~~~~~~~~~~~~~~~~~~~ /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:72:1: note: instance method 'init' is assumed to return an instance of its receiver type ('NSArray *') - (id)init; ^ It also means that we get decent type inference when writing code in Objective-C++0x: auto array = [[NSMutableArray alloc] initWithObjects:@"one", @"two",nil]; // ^ now infers NSMutableArray* rather than id llvm-svn: 132868
-
Andrew Trick authored
Patch by: Jakub Staszak! Introduces BranchProbability. Changes unsigned to uint32_t all over and uint64_t only when overflow is expected. llvm-svn: 132867
-
Fariborz Jahanian authored
properties. llvm-svn: 132866
-
Jakob Stoklund Olesen authored
Also move the sub-register index computations from RegisterInfoEmitter into CodeGenRegBank. llvm-svn: 132865
-
Eli Friedman authored
rdar://9431466 llvm-svn: 132864
-
Eric Christopher authored
llvm-svn: 132863
-
Dan Gohman authored
default, since it usually has very few elements. This speeds up alias queries in many cases, because AliasCache.clear() doesn't have to visit as many buckets. llvm-svn: 132862
-
- Jun 10, 2011
-
-
Eli Friedman authored
PR10120: Make CodeGenModule::getVTableLinkage use NamedDecl::getLinkage to determine whether the vtable should be externally visible, instead of a rough approximation of it which messes up with templates. While I'm here, zap the other user of isInAnonymousNamespace outside of Decl.cpp. llvm-svn: 132861
-
Bill Wendling authored
<rdar://problem/9583891> llvm-svn: 132860
-
Rafael Espindola authored
llvm-svn: 132857
-
Cameron Zwarich authored
CallOrPrologue correctly and eliminate the existing setter. llvm-svn: 132856
-
Nick Lewycky authored
llvm-svn: 132855
-
Cameron Zwarich authored
comment on their meaning. llvm-svn: 132854
-
Cameron Zwarich authored
llvm-svn: 132853
-
Cameron Zwarich authored
llvm-svn: 132852
-
Rafael Espindola authored
Thanks Bob Wilson for noticing it! llvm-svn: 132851
-
Jakob Stoklund Olesen authored
Create a new CodeGenRegBank class that will eventually hold all the code that computes the register structure from Records. llvm-svn: 132849
-
Richard Osborne authored
llvm-svn: 132844
-
Alexis Hunt authored
to study it. llvm-svn: 132843
-
Alexis Hunt authored
llvm-svn: 132842
-
Alexis Hunt authored
I believe, upon, careful review, that this code causes us to incorrectly handle exception specifications of copy assignment operators in C++03 mode. However, we currently do not seem to properly implement the subtle distinction between copying of members and bases made by implicit copy constructors and assignment operators in C++03 - namely that they are limited in their overload selection - in all cases. As such, I feel that committing this code is correct pending a careful review of our implementation of these semantics. llvm-svn: 132841
-
Jordy Rose authored
[analyzer] PR8962 again. Ban ParenExprs (and friends) from block-level expressions (by calling IgnoreParens before adding expressions to blocks). Undo 132769 (LiveVariables' local IgnoreParens), since it's no longer necessary. Also, have Environment stop looking through NoOp casts; it didn't match the behavior of LiveVariables. And once that's gone, the whole cast block of that switch is unnecessary. llvm-svn: 132840
-
Eli Friedman authored
llvm-svn: 132839
-
Galina Kistanova authored
llvm-svn: 132836
-
Alexis Hunt authored
llvm-svn: 132835
-
Galina Kistanova authored
llvm-svn: 132834
-
Alexis Hunt authored
isn't yet used for the less controlled environments of initialization. Also a few random text fixups. llvm-svn: 132833
-
Marshall Clow authored
llvm-svn: 132832
-
Richard Trieu authored
- Removed fix-it hints from template instaniations since changes to the templates are rarely helpful. - Changed the caret in template instaniations from the class/struct name to the class/struct keyword, matching the other warnings. - Do not offer fix-it hints when multiple declarations disagree. Warnings are still given. - Once a definition is found, offer a fix-it hint to all previous declarations with wrong tag. - Declarations that disagree with a previous definition will get a fix-it hint to change the declaration. llvm-svn: 132831
-
Chad Rosier authored
llvm-svn: 132830
-
Greg Clayton authored
llvm-svn: 132829
-
Greg Clayton authored
llvm-svn: 132828
-
Greg Clayton authored
llvm-svn: 132827
-
Eli Friedman authored
PR10092 (second try): Don't crash on a load without a momoperand; fast-isel creates loads like this. llvm-svn: 132826
-
Chad Rosier authored
and definitions when emitting global variables. This was causing global declarations to be emitted as if they were definitions. Fixes <rdar://problem/9429892>. llvm-svn: 132825
-
Eli Friedman authored
llvm-svn: 132824
-