| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
review comment.
llvm-svn: 145741
|
|
|
|
|
|
| |
I'll be introducing uses of the specified alignment soon.
llvm-svn: 145736
|
|
|
|
|
|
|
|
|
|
| |
need to provide a 'dominating IP' which is guaranteed to
dominate the (de)activation point but which cannot be avoided
along any execution path from the (de)activation point to
the push-point of the cleanup. Using the entry block is
bad mojo.
llvm-svn: 144276
|
|
|
|
|
|
| |
zero-initialization before running its constructor.
llvm-svn: 141933
|
|
|
|
| |
llvm-svn: 141300
|
|
|
|
|
|
|
|
| |
possible for that to matter right now, but eventually I think we'll
need to unify this better, and then it might. Also, use a more
efficient looping structure.
llvm-svn: 139788
|
|
|
|
|
|
| |
exception is thrown constructing the array elements in an array new expression. Fixes PR10870.
llvm-svn: 139158
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
synthesized move assignment within an implicitly-defined move
assignment operator, be sure to treat the derived-to-base cast as an
xvalue (rather than an lvalue). Otherwise, we'll end up getting the
wrong constructor.
Optimize a direct call to a trivial move assignment operator to an
aggregate copy, as we do for trivial copy assignment operators, and
update the the assertion in CodeGenFunction::EmitAggregateCopy() to
cope with this optimization.
Fixes PR10860.
llvm-svn: 139143
|
|
|
|
|
|
|
|
|
| |
This makes the code duplication of implicit special member handling even worse,
but the cleanup will have to come later. For now, this works.
Follow-up with tests for explicit defaulting and enabling the __has_feature
flag to come.
llvm-svn: 138821
|
|
|
|
|
|
|
|
|
| |
really shouldn't be optional. Fix the remaining place where a
temporary was being passed as potentially-aliased memory.
Fixes PR10756.
llvm-svn: 138627
|
|
|
|
|
|
|
| |
creators to tell us whether something needs GC barriers.
No functionality change.
llvm-svn: 138581
|
|
|
|
|
|
| |
actually works.
llvm-svn: 136703
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
| |
ArrayRef.
llvm-svn: 135761
|
|
|
|
| |
llvm-svn: 135370
|
|
|
|
| |
llvm-svn: 135265
|
|
|
|
|
|
| |
function in LLVM does.
llvm-svn: 135155
|
|
|
|
|
|
| |
them, too.
llvm-svn: 135038
|
|
|
|
| |
llvm-svn: 135036
|
|
|
|
|
|
| |
partial destruction.
llvm-svn: 135033
|
|
|
|
|
|
| |
which implicitly makes it EH-safe as well.
llvm-svn: 135025
|
|
|
|
|
|
|
|
| |
the complete destructor and then invoke the global delete
operator. Previously, we would invoke the deleting destructor, which
calls the wrong delete operator. Fixes PR10341.
llvm-svn: 135021
|
|
|
|
|
|
| |
of flags. No functionality change.
llvm-svn: 134997
|
|
|
|
| |
llvm-svn: 134831
|
|
|
|
| |
llvm-svn: 133144
|
|
|
|
|
|
|
|
|
|
| |
Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type::isUnsignedIntegerOrEnumerationType(), which are like
Type::isSignedIntegerType() and Type::isUnsignedIntegerType() but also
consider the underlying type of a C++0x scoped enumeration type.
Audited all callers to the existing functions, switching those that
need to also handle scoped enumeration types (e.g., those that deal
with constant values) over to the new functions. Fixes PR9923 /
<rdar://problem/9447851>.
llvm-svn: 131735
|
|
|
|
|
|
|
|
|
| |
operators; their semantics are guaranteed by the language.
If someone wants to argue that freestanding compiles shouldn't recognize
this, I might be convinceable.
llvm-svn: 131395
|
|
|
|
|
|
|
| |
It can be larger, it can be smaller, it can be signed, whatever. Handle
all the crazy cases with grace and spirit.
llvm-svn: 131378
|
|
|
|
|
|
|
| |
modify the semantics slightly to accomodate default constructors (I
hope).
llvm-svn: 131087
|
|
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
|
|
|
| |
llvm-svn: 131019
|
|
|
|
|
|
| |
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
|