| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Material bugfixes to come this afternoon.
llvm-svn: 130782
|
| |
|
|
|
|
| |
eventually gain more members). Working towards modifying call emission to avoid unnecessary copies.
llvm-svn: 130700
|
| |
|
|
|
|
| |
change.
llvm-svn: 130699
|
| |
|
|
|
|
|
|
|
|
| |
As far as I know, this implementation is complete but might be missing a
few optimizations. Exceptions and virtual bases are handled correctly.
Because I'm an optimist, the web page has appropriately been updated. If
I'm wrong, feel free to downgrade its support categories.
llvm-svn: 130642
|
| |
|
|
|
|
|
| |
-C++ objects with user-declared constructor don't need zero'ing.
-We can zero-initialize arrays of C++ objects in "bulk" now, in which case don't zero-initialize each object again.
llvm-svn: 130453
|
| |
|
|
|
|
|
|
|
|
|
| |
bound
member function, i.e. something of the form 'x.f' where 'f' is a non-static
member function. Diagnose this in the general case. Some of the new diagnostics
are probably worse than the old ones, but we now get this right much more
universally, and there's certainly room for improvement in the diagnostics.
llvm-svn: 130239
|
| |
|
|
| |
llvm-svn: 129682
|
| |
|
|
| |
llvm-svn: 129424
|
| |
|
|
|
|
| |
calling the __cxa_bad_typeid function. Fixes PR7400.
llvm-svn: 129273
|
| |
|
|
| |
llvm-svn: 129269
|
| |
|
|
|
|
|
| |
CodeGenFunction::EmitDynamicCast always return null or throw a bad_cast
exception.
llvm-svn: 129264
|
| |
|
|
| |
llvm-svn: 129262
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 129261
|
| |
|
|
|
|
| |
devirtualized. Fixes the second half of PR9660.
llvm-svn: 129253
|
| |
|
|
|
|
| |
check is triggered appropriately. Reported on cfe-dev.
llvm-svn: 129231
|
| |
|
|
|
|
| |
PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128538
|
| |
|
|
|
|
| |
noexcept specifiers, unique FunctionProtoTypes with a ContextualFoldingSet, as suggested by John McCall.
llvm-svn: 127568
|
| |
|
|
|
|
|
|
| |
Change the interface to expose the new information and deal with the enormous fallout.
Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications.
Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support.
llvm-svn: 127537
|
| |
|
|
| |
llvm-svn: 127494
|
| |
|
|
|
|
| |
trivial to check this. Adjust for style.
llvm-svn: 127151
|
| |
|
|
|
|
|
|
| |
allocation and therefore requires a null-check. We were doing that, but
we weren't treating the new-initializer as being conditionally executed,
which means it was possible to get ill-formed IR as in PR9298.
llvm-svn: 127147
|
| |
|
|
|
|
| |
This reverts commit 126863.
llvm-svn: 126886
|
| |
|
|
| |
llvm-svn: 126863
|
| |
|
|
|
|
|
|
| |
Block{Function,Module} base class. Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085
|
| |
|
|
| |
llvm-svn: 124807
|
| |
|
|
| |
llvm-svn: 124701
|
| |
|
|
|
|
| |
all casts. We can only ignore derived-to-base and no-op casts. Fixes selfhost.
llvm-svn: 124528
|
| |
|
|
|
|
| |
class is marked 'final', we can devirtualize the call.
llvm-svn: 124524
|
| |
|
|
|
|
|
| |
indirect vf calls and addition of extra entry
at bottom of vtbls.
llvm-svn: 124507
|
| |
|
|
|
|
| |
Pure motion.
llvm-svn: 124484
|
| |
|
|
|
|
| |
for CodeGen's RValue type.
llvm-svn: 124483
|
| |
|
|
|
|
|
|
|
| |
fixing a crash which probably nobody was ever going to see. In doing so,
fix a horrendous number of problems with the conditional-cleanups code.
Also, make conditional cleanups re-use the cleanup's activation variable,
which avoids some unfortunate repetitiveness.
llvm-svn: 124481
|
| |
|
|
|
|
|
|
|
| |
deallocation function has a two-argument form. Store the result of this
check in new[] and delete[] nodes.
Fixes rdar://problem/8913519
llvm-svn: 124373
|
| |
|
|
| |
llvm-svn: 124122
|
| |
|
|
| |
llvm-svn: 124083
|
| |
|
|
|
|
| |
Improve on test case. Per Doug's comment. wip.
llvm-svn: 123954
|
| |
|
|
|
|
| |
vf calls, be made indirect. This patch is towards that goal.
llvm-svn: 123922
|
| |
|
|
|
|
| |
counterparts where char units are needed.
llvm-svn: 123805
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example:
class A{
public:
A& operator=(const A& that) {
if (this != &that) {
this->A::~A();
this->A::A(that); // <=== explicit constructor call.
}
return *this;
}
};
More work will be needed to support an explicit call to a template constructor.
llvm-svn: 123735
|
| |
|
|
| |
llvm-svn: 122634
|
| |
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121121
|
| |
|
|
|
|
| |
reason this is limited to C++, and it's certainly not limited to temporaries.
llvm-svn: 120996
|
| |
|
|
|
|
|
| |
be required, and then fix up some missing loads on overloaded-operator
paths which that exposed.
llvm-svn: 120896
|
| |
|
|
|
|
| |
the l-value.
llvm-svn: 120884
|
| |
|
|
|
|
|
|
| |
objects imported into blocks. //rdar://8594790.
Will have a test case coming (as well as one
sent to llvm test suite).
llvm-svn: 120713
|
| |
|
|
|
|
| |
expression into the assert.
llvm-svn: 119143
|
| |
|
|
|
|
|
|
| |
copy helper function and dtor of copied cxx objects
in dispose helper functions. __block variables
TBD next.
llvm-svn: 119011
|
| |
|
|
|
|
| |
been marked final.
llvm-svn: 117445
|
| |
|
|
|
|
| |
calls to it.
llvm-svn: 117444
|
| |
|
|
|
|
| |
so that it's done in one place.
llvm-svn: 117386
|