| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Patch by David Tweed, review by myself and John McCall.
llvm-svn: 163564
|
|
|
|
|
|
| |
check it. Fixes PR12178.
llvm-svn: 152048
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 150932
|
|
|
|
| |
llvm-svn: 150931
|
|
|
|
| |
llvm-svn: 150930
|
|
|
|
|
|
| |
std::initializer_list is now complete. Onward to array new.
llvm-svn: 150926
|
|
|
|
|
|
| |
crash by repeating an old hack.
llvm-svn: 150925
|
|
|
|
|
|
| |
destroyed correctly.
llvm-svn: 150924
|
|
We now generate temporary arrays to back std::initializer_list objects
initialized with braces. The initializer_list is then made to point at
the array. We support both ptr+size and start+end forms, although
the latter is untested.
Array lifetime is correct for temporary std::initializer_lists (e.g.
call arguments) and local variables. It is untested for new expressions
and member initializers.
Things left to do:
Massively increase the amount of testing. I need to write tests for
start+end init lists, temporary objects created as a side effect of
initializing init list objects, new expressions, member initialization,
creation of temporary objects (e.g. std::vector) for initializer lists,
and probably more.
Get lifetime "right" for member initializers and new expressions. Not
that either are very useful.
Implement list-initialization of array new expressions.
llvm-svn: 150803
|