Skip to content
  • Richard Smith's avatar
    DR1213: element access on an array xvalue or prvalue produces an xvalue. In the · 88800602
    Richard Smith authored
    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.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288654 91177308-0d34-0410-b5e6-96231b3b80d8
    88800602