Skip to content
  • Richard Smith's avatar
    DR1295 and cleanup for P0135R1: Make our initialization code more directly · b40a34de
    Richard Smith authored
    mirror the description in the standard. Per DR1295, this means that binding a
    const / rvalue reference to a bit-field no longer "binds directly", and per
    P0135R1, this means that we materialize a temporary in reference binding
    after adjusting cv-qualifiers and before performing a derived-to-base cast.
    
    In C++11 onwards, this should have fixed the last case where we would
    materialize a temporary of the wrong type (with a subobject adjustment inside
    the MaterializeTemporaryExpr instead of outside), but we still have to deal
    with that possibility in C++98, unless we want to start using xvalues to
    represent materialized temporaries there too.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289250 91177308-0d34-0410-b5e6-96231b3b80d8
    b40a34de