diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-12-05 07:49:14 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-12-05 07:49:14 +0000 |
| commit | b3189a1802e493fd819b766c2051bda04f18617c (patch) | |
| tree | f2f4135e179e717581ffdc0ad34d708376db62bd /llvm/test | |
| parent | 215ff84b4082bea94dbf065d5fbac3cdd7f69516 (diff) | |
| download | bcm5719-llvm-b3189a1802e493fd819b766c2051bda04f18617c.tar.gz bcm5719-llvm-b3189a1802e493fd819b766c2051bda04f18617c.zip | |
DR1213: element access on an array xvalue or prvalue produces an xvalue. In the
latter case, a temporary array object is materialized, and can be
lifetime-extended by binding a reference to the member access. Likewise, in an
array-to-pointer decay, an rvalue array is materialized before being converted
into a pointer.
This caused IR generation to stop treating file-scope array compound literals
as having static storage duration in some cases in C++; that has been rectified
by modeling such a compound literal as an lvalue. This also improves clang's
compatibility with GCC for those cases.
llvm-svn: 288654
Diffstat (limited to 'llvm/test')
0 files changed, 0 insertions, 0 deletions

