| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
over into Stmt.
Apply the inheritance-padding trick to FloatingLiteral.
Shrinks CharacterLiteral from 32 to 24 bytes and the other two from 40 to 32 bytes (x86_64).
llvm-svn: 151500
|
| |
|
|
|
|
|
| |
Inheritance allows us to use padding across classes.
40 -> 32 bytes on x86_64.
llvm-svn: 151499
|
| |
|
|
|
|
| |
48 -> 40 bytes on x86_64.
llvm-svn: 151498
|
| |
|
|
|
|
| |
56 -> 48 bytes on x86_64.
llvm-svn: 151497
|
| |
|
|
|
|
| |
48 -> 40 bytes on x86_64.
llvm-svn: 151496
|
| |
|
|
|
|
| |
40 -> 32 bytes on x86_64.
llvm-svn: 151495
|
| |
|
|
| |
llvm-svn: 151494
|
| |
|
|
|
|
| |
this into every TU that includes SourceLocation.h.
llvm-svn: 151493
|
| |
|
|
| |
llvm-svn: 151491
|
| |
|
|
|
|
| |
Turns out this can be .exe or .EXE, depending on the build system.
llvm-svn: 151490
|
| |
|
|
|
|
| |
non-trivial.
llvm-svn: 151486
|
| |
|
|
|
|
| |
r151482 and r151484 to work. Sorry about the fallout...
llvm-svn: 151485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Debian multiarch libraries, this should in theory add support for those
platform's header search rules. I don't have a system to check this
with, so review appreciated. I've added the corresponding tests
referring to the debian multiarch tree.
We are starting to have a relatively completely tested Linux platform
for header search and library search, with several interesting
peculiarities. We should point people at the debian_multiarch_tree when
suggesting new tests. Folks with Debian systems that can check this for
correctness, it would be much appreciated. The missing chunks I know of
are testing bi-arch peudo-cross-compiling toolchains betwen 32-bit and
64-bit variants of platforms, and the MIPS and ARM Debian toolchains.
llvm-svn: 151484
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151478
|
| |
|
|
|
|
| |
generalized initializers is available.
llvm-svn: 151477
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
mangling.
llvm-svn: 151462
|
| |
|
|
|
|
|
|
|
| |
VisitBinaryOperator() to reduce stack pressure for source with huge number
of logical operators.
Fixes rdar://10913206.
llvm-svn: 151460
|
| |
|
|
| |
llvm-svn: 151458
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151456
|
| |
|
|
|
|
| |
arbitrary initializer lists yet (we will need this), turn the crash into a controlled error.
llvm-svn: 151455
|
| |
|
|
|
|
| |
ARM: enable the integrated assembler by default for Darwin.
llvm-svn: 151454
|
| |
|
|
|
|
| |
Patch by Joe Groff.
llvm-svn: 151448
|
| |
|
|
| |
llvm-svn: 151447
|
| |
|
|
|
|
| |
likewise for __has_extension). Patch by Jonathan Sauer!
llvm-svn: 151445
|
| |
|
|
|
|
|
| |
in cases where we would otherwise disallow the access, and add a -Wc++98-compat
diagnostic for this C++11 feature.
llvm-svn: 151444
|
| |
|
|
|
|
| |
unevaluated operands applies within member functions, too.
llvm-svn: 151443
|
| |
|
|
| |
llvm-svn: 151442
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
rdar://10921594
llvm-svn: 151430
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
it can only bring pain when dealing with preprocessor abuse (see: boost).
rdar://10898986
llvm-svn: 151427
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
more harm than good.
Fixes rdar://10522805&10521433
llvm-svn: 151424
|
| |
|
|
|
|
| |
type and void* is used. <rdar://problem/10486347>.
llvm-svn: 151416
|
| |
|
|
| |
llvm-svn: 151414
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151412
|
| |
|
|
| |
llvm-svn: 151411
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 151407
|
| |
|
|
| |
llvm-svn: 151405
|
| |
|
|
|
|
|
| |
enumeration type with a fixed underlying type is complete. Fixes
<rdar://problem/10916155>.
llvm-svn: 151403
|
| |
|
|
|
|
| |
__keywords or none of them.
llvm-svn: 151401
|