- Feb 26, 2012
-
-
Richard Smith authored
- variant members with nontrivial destructors make the containing class's destructor deleted - check for a virtual destructor after checking for overridden methods in the base class(es) - check for an inaccessible operator delete for a class with a virtual destructor. Do not try to call an anonymous union field's destructor from the destructor of the containing class. llvm-svn: 151483
-
Chandler Carruth authored
Patch from Michel Dänzer, sent our way via Jeremy Huddleston who added 64-bit support. I just added one other place where powerpc64-linux-gnu was missing (we only had powerpc64-unknown-linux-gnu). I've also added a tree to test out the debian multiarch stuff. I don't use debian regularly, so I'm not certain this is entirely accurate. If anyone wants to check it against a debian system and fix any inaccuracies, fire away. This way at least folks can see how this is *supposed* to be tested. It'd be particularly good to get the Debian MIPS toolchains tested in this way. llvm-svn: 151482
-
Richard Smith authored
llvm-svn: 151478
-
Richard Smith authored
trivial if the implicit declaration would be. Don't forget to set the Trivial flag on the special member as well as on the class. It doesn't seem ideal that we have two separate mechanisms for storing this information, but this patch does not attempt to address that. This leaves us in an interesting position where the has_trivial_X trait for a class says 'yes' for a deleted but trivial X, but is_trivially_Xable says 'no'. This seems to be what the standard requires. llvm-svn: 151465
-
Argyrios Kyrtzidis authored
Original log: When evaluating integer expressions handle logical operators outside VisitBinaryOperator() to reduce stack pressure for source with huge number of logical operators. Fixes rdar://10913206. llvm-svn: 151464
-
- Feb 25, 2012
-
-
Sebastian Redl authored
llvm-svn: 151462
-
Argyrios Kyrtzidis authored
VisitBinaryOperator() to reduce stack pressure for source with huge number of logical operators. Fixes rdar://10913206. llvm-svn: 151460
-
Sebastian Redl authored
llvm-svn: 151458
-
Sebastian Redl authored
This emits a backing array with internal linkage and fills it with data, then has the initializer_list point at the array. Dynamic initialization and global destructors are correctly supported. What doesn't work is nested initializer_lists. I have no idea how to get them to work, either. However, these should be very rare, and so I'll just call it a known bug and declare generalized initializers DONE! llvm-svn: 151457
-
Sebastian Redl authored
llvm-svn: 151456
-
Sebastian Redl authored
Better mangling for new-expressions. Also, although we can't mangle arbitrary initializer lists yet (we will need this), turn the crash into a controlled error. llvm-svn: 151455
-
Chad Rosier authored
ARM: enable the integrated assembler by default for Darwin. llvm-svn: 151454
-
Ahmed Charles authored
llvm-svn: 151447
-
Richard Smith authored
likewise for __has_extension). Patch by Jonathan Sauer! llvm-svn: 151445
-
Richard Smith authored
in cases where we would otherwise disallow the access, and add a -Wc++98-compat diagnostic for this C++11 feature. llvm-svn: 151444
-
Richard Smith authored
unevaluated operands applies within member functions, too. llvm-svn: 151443
-
Richard Smith authored
llvm-svn: 151442
-
Richard Smith authored
data members for deleted or user-provided destructors. Now it's computed in advance, serialize it, and in passing fix all the other record DefinitionData flags whose serialization was missing. llvm-svn: 151441
-
Richard Smith authored
associated classes, since it can find friend functions declared within them, but overload resolution does not otherwise require argument types to be complete. llvm-svn: 151434
-
Chad Rosier authored
rdar://10921594 llvm-svn: 151430
-
Eli Friedman authored
Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure). llvm-svn: 151428
-
Argyrios Kyrtzidis authored
it can only bring pain when dealing with preprocessor abuse (see: boost). rdar://10898986 llvm-svn: 151427
-
Ted Kremenek authored
RetainCountChecker: don't adjust the retain count when analyzing a ReturnStmt unless we are in the top-level call frame. We can do more later, but this makes the checker self-consistent (and fixes a crash). llvm-svn: 151426
-
Argyrios Kyrtzidis authored
more harm than good. Fixes rdar://10522805&10521433 llvm-svn: 151424
-
Eli Friedman authored
Improve the diagnostic in ARC mode when a conditional with an Objective-C type and void* is used. <rdar://problem/10486347>. llvm-svn: 151416
-
Douglas Gregor authored
llvm-svn: 151414
-
DeLesley Hutchins authored
when a class is forward declared, and the reference to the data member in question does not occur within a method body. llvm-svn: 151413
-
Douglas Gregor authored
llvm-svn: 151412
-
Anna Zaks authored
Assume none of the ObjC messages defined in system headers free memory, except for the ones containing 'freeWhenDone' selector. Currently, just assume that the region escapes to the messages with 'freeWhenDone' (ideally, we want to treat it as 'free()'). For now, always assume that regions escape when passed to C++ methods. llvm-svn: 151410
-
Douglas Gregor authored
explicit conversion functions to initialize the argument to a copy/move constructor that itself is the subject of direct initialization. Since we don't have that much context in overload resolution, we end up threading more flags :(. Fixes <rdar://problem/10903741> / PR10456. llvm-svn: 151409
-
Eli Friedman authored
llvm-svn: 151407
-
- Feb 24, 2012
-
-
Douglas Gregor authored
enumeration type with a fixed underlying type is complete. Fixes <rdar://problem/10916155>. llvm-svn: 151403
-
Richard Smith authored
__keywords or none of them. llvm-svn: 151401
-
Benjamin Kramer authored
llvm-svn: 151400
-
Richard Smith authored
the declaration, not at the type of the DeclRefExpr, since within a lambda the DeclRefExpr can be more const than the declaration is. llvm-svn: 151399
-
Fariborz Jahanian authored
against a large project. llvm-svn: 151395
-
Douglas Gregor authored
A defaulted default constructor for a class X is defined as deleted if [...] - X is a union and all of its variant members are of const-qualified type. A pedantic reading therefore says that union X { }; has a deleted default constructor, which is both silly and almost certainly unintended. Pretend as if this this read - X is a union with one or more variant members, and all of its variant members are of const-qualified type. llvm-svn: 151394
-
Dmitri Gribenko authored
llvm-svn: 151389
-
Argyrios Kyrtzidis authored
llvm-svn: 151387
-
Richard Smith authored
llvm-svn: 151377
-