diff options
author | Jason Merrill <jason@redhat.com> | 2021-04-05 15:50:48 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2021-04-05 17:27:00 -0400 |
commit | 07f56824fd4da14a48030e698c8eb58de951c741 (patch) | |
tree | 250ead25b891f8a61b1f898b7d0f32d2f9c09555 /gcc/tree-ssa-dse.c | |
parent | 9f4c41147a41d08a74990eafe69a1064a3c13435 (diff) | |
download | gcc-07f56824fd4da14a48030e698c8eb58de951c741.zip gcc-07f56824fd4da14a48030e698c8eb58de951c741.tar.gz gcc-07f56824fd4da14a48030e698c8eb58de951c741.tar.bz2 |
c++: reinterpret_cast from prvalue to rvalue ref [PR98440]
In r260622 I allowed this under the general principle that [basic.lval]
"Whenever a prvalue appears as an operand of an operator that expects a
glvalue for that operand, the temporary materialization conversion (7.3.4)
is applied to convert the expression to an xvalue." But
[expr.reinterpret.cast] specifically excludes creating a temporary in this
case.
gcc/cp/ChangeLog:
PR c++/98440
* typeck.c (build_reinterpret_cast_1): Don't perform
temporary materialization.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/rv-cast6.C: Expect reinterpret_cast error.
* g++.dg/cpp0x/reinterpret_cast2.C: Adjust message.
* g++.old-deja/g++.jason/rvalue3.C: Likewise.
Diffstat (limited to 'gcc/tree-ssa-dse.c')
0 files changed, 0 insertions, 0 deletions