| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 151700
|
| |
|
|
|
|
| |
test case that only runs on debug builds.
llvm-svn: 151311
|
| |
|
|
|
|
| |
isTrivial() call.
llvm-svn: 151259
|
| |
|
|
| |
llvm-svn: 151203
|
| |
|
|
| |
llvm-svn: 151172
|
| |
|
|
|
|
| |
face of exceptions yet.
llvm-svn: 151171
|
| |
|
|
| |
llvm-svn: 150931
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
optional argument passed through the variadic ellipsis)
potentially affects how we need to lower it. Propagate
this information down to the various getFunctionInfo(...)
overloads on CodeGenTypes. Furthermore, rename those
overloads to clarify their distinct purposes, and make
sure we're calling the right one in the right place.
This has a nice side-effect of making it easier to construct
a function type, since the 'variadic' bit is no longer
separable.
This shouldn't really change anything for our existing
platforms, with one minor exception --- we should now call
variadic ObjC methods with the ... in the "right place"
(see the test case), which I guess matters for anyone
running GNUStep on MIPS. Mostly it's just a substantial
clean-up.
llvm-svn: 150788
|
| |
|
|
| |
llvm-svn: 150738
|
| |
|
|
|
|
|
|
| |
hold the used constructor itself.""
This reintroduces commit r150682 with a fix for the Bullet benchmark crash.
llvm-svn: 150685
|
| |
|
|
|
|
|
|
|
|
| |
used constructor itself."
It leads to a compiler crash in the Bullet benchmark.
This reverts commit r12014.
llvm-svn: 150684
|
| |
|
|
|
|
|
|
|
|
| |
constructor itself.
Holding the constructor directly makes no sense when list-initialized arrays come into play. The constructor is now held in a CXXConstructExpr, if construction is what is done. The new design can also distinguish properly between list-initialization and direct-initialization, as well as implicit default-initialization constructors and explicit value-initialization constructors. Finally, doing it this way removes redundance from the AST because CXXNewExpr doesn't try to handle both the allocation and the initialization responsibilities.
This breaks the static analysis of new expressions. I've filed PR12014 to track this.
llvm-svn: 150682
|
| |
|
|
| |
llvm-svn: 150452
|
| |
|
|
| |
llvm-svn: 150147
|
| |
|
|
| |
llvm-svn: 150146
|
| |
|
|
|
|
| |
CodeGenModule.
llvm-svn: 149943
|
| |
|
|
| |
llvm-svn: 146291
|
| |
|
|
|
|
| |
change.)
llvm-svn: 145753
|
| |
|
|
|
|
| |
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
|