aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-12-09 18:49:13 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-12-09 18:49:13 +0000
commitb8c0f553ed6b7e52b12afa00ace3e30754482037 (patch)
tree17b50394cbd2219fdb1717c18dc437df586b12be /clang/lib/CodeGen/CodeGenModule.h
parent0c1c3bbc78e4548831e307c0e527449254a2bbbb (diff)
downloadllvm-b8c0f553ed6b7e52b12afa00ace3e30754482037.zip
llvm-b8c0f553ed6b7e52b12afa00ace3e30754482037.tar.gz
llvm-b8c0f553ed6b7e52b12afa00ace3e30754482037.tar.bz2
DR1295 and cleanup for P0135R1: Make our initialization code more directly
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. llvm-svn: 289250
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions