- Jul 27, 2011
-
-
Jakub Staszak authored
llvm-svn: 136244
-
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
-
Ted Kremenek authored
llvm-svn: 136239
-
Ted Kremenek authored
llvm-svn: 136238
-
Ted Kremenek authored
llvm-svn: 136237
-
Ted Kremenek authored
llvm-svn: 136236
-
Ted Kremenek authored
llvm-svn: 136235
-
Ted Kremenek authored
Add a generic 'capacity_in_bytes' function to allow inspection of memory usage of various data structures. llvm-svn: 136233
-
-
Johnny Chen authored
llvm-svn: 136230
-
Jim Grosbach authored
llvm-svn: 136229
-
Devang Patel authored
llvm-svn: 136228
-
Johnny Chen authored
llvm-svn: 136227
-
Jim Grosbach authored
Refactor the rest of the extend instructions to not artificially distinguish between a rotate of zero and a rotate of any other value. Replace the by-zero versions with Pat<>'s for ISel. llvm-svn: 136226
-
Jim Grosbach authored
Refactor the SXTB, SXTH, SXTB16, UXTB, UXTH, and UXTB16 instructions to not have an 'r' and an 'r_rot' version, but just a single version with a rotate that can be zero. Use plain Pat<>'s for the ISel of the non-rotated version. llvm-svn: 136225
-
Douglas Gregor authored
llvm-svn: 136224
-
Eric Christopher authored
Release+Asserts linux tests. llvm-svn: 136223
-
Jakub Staszak authored
llvm-svn: 136222
-
Jakub Staszak authored
llvm-svn: 136221
-
Jakub Staszak authored
llvm-svn: 136219
-
Frits van Bommel authored
llvm-svn: 136218
-
Douglas Gregor authored
Update C++0x status page to reflect support for unicode string and character literals, from Craig Topper llvm-svn: 136216
-
Frits van Bommel authored
llvm-svn: 136215
-
Jay Foad authored
to print STL containers. llvm-svn: 136213
-
Jay Foad authored
llvm-svn: 136212
-
Jeffrey Yasskin authored
C++0x. llvm-svn: 136211
-
Douglas Gregor authored
llvm-svn: 136210
-
-
rdar://9615812Argyrios Kyrtzidis authored
- Replace calling -zone with 'nil'. -zone is obsolete in ARC. - Allow removing retain/release on a static global var. - Fix assertion hit when scanning for name references outside a NSAutoreleasePool scope. - Automatically add bridged casts for results of objc method calls and when calling CFRetain, for example: NSString *s; CFStringRef ref = [s string]; -> CFStringRef ref = (__bridge CFStringRef)([s string]); ref = s.string; -> ref = (__bridge CFStringRef)(s.string); ref = [NSString new]; -> ref = (__bridge_retained CFStringRef)([NSString new]); ref = [s newString]; -> ref = (__bridge_retained CFStringRef)([s newString]); ref = [[NSString alloc] init]; -> ref = (__bridge_retained CFStringRef)([[NSString alloc] init]); ref = [[s string] retain]; -> ref = (__bridge_retained CFStringRef)([s string]); ref = CFRetain(s); -> ref = (__bridge_retained CFTypeRef)(s); ref = [s retain]; -> ref = (__bridge_retained CFStringRef)(s); - Emit migrator error when trying to cast to CF type the result of autorelease/release: for CFStringRef f3() { return (CFStringRef)[[[NSString alloc] init] autorelease]; } emits: t.m:12:10: error: [rewriter] it is not safe to cast to 'CFStringRef' the result of 'autorelease' message; a __bridge cast may result in a pointer to a destroyed object and a __bridge_retained may leak the object return (CFStringRef)[[[NSString alloc] init] autorelease]; ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ t.m:12:3: note: [rewriter] remove the cast and change return type of function to 'NSString *' to have the object automatically autoreleased return (CFStringRef)[[[NSString alloc] init] autorelease]; ^ - Before changing attributes to weak/unsafe_unretained, check if the backing ivar is set to a +1 object, in which case use 'strong' instead. llvm-svn: 136208
-
Douglas Gregor authored
llvm-svn: 136207
-
Dan Gohman authored
llvm-svn: 136206
-
Eli Friedman authored
llvm-svn: 136205
-
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
-
Francois Pichet authored
In Microsoft mode, if we are within a templated function and we can't resolve Identifier during BuildCXXNestedNameSpecifier, then extend the SS with Identifier. This will have the effect of resolving Identifier during template instantiation. The goal is to be able to resolve a function call whose nested-name-specifier is located inside a dependent base class. class C { public: static void foo2() { } }; template <class T> class A { public: typedef C D; }; template <class T> class B : public A<T> { public: void foo() { D::foo2(); } }; Note that this won't work if the NestedNameSpecifier refers to a type. This fixes 1 error when parsing the MSVC 2010 standard headers file with clang. llvm-svn: 136203
-
Eli Friedman authored
llvm-svn: 136202
-
Bruno Cardoso Lopes authored
llvm-svn: 136201
-
Bruno Cardoso Lopes authored
usage of the shuffle bitmask. Both work in 128-bit lanes without crossing, but in the former the mask of the high part is the same used by the low part while in the later both lanes have independent masks. Handle this properly and and add support for vpermilpd. llvm-svn: 136200
-
Bruno Cardoso Lopes authored
llvm-svn: 136199
-
Eli Friedman authored
Fix AliasSetTracker so that it doesn't make any assumptions about instructions it doesn't know about (like the atomic instructions I'm adding). llvm-svn: 136198
-
Evan Cheng authored
llvm-svn: 136197
-