diff options
author | Marek Polacek <polacek@redhat.com> | 2024-08-29 15:13:03 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-09-10 11:48:15 -0400 |
commit | 2801a49d1144bce5568b527d1972952ad3420f66 (patch) | |
tree | 379a3bbbfa6382e871b535b8ed5f9a270d5b6a04 /gcc/tree-vect-patterns.cc | |
parent | e783a4a683762487cb003ae48235f3d44875de1b (diff) | |
download | gcc-2801a49d1144bce5568b527d1972952ad3420f66.zip gcc-2801a49d1144bce5568b527d1972952ad3420f66.tar.gz gcc-2801a49d1144bce5568b527d1972952ad3420f66.tar.bz2 |
c++: mutable temps in rodata [PR116369]
Here we wrongly mark the reference temporary for g TREE_READONLY,
so it's put in .rodata and so we can't modify its subobject even
when the subobject is marked mutable. This is so since r9-869.
r14-1785 fixed a similar problem, but not in set_up_extended_ref_temp.
PR c++/116369
gcc/cp/ChangeLog:
* call.cc (set_up_extended_ref_temp): Don't mark a temporary
TREE_READONLY if its type is TYPE_HAS_MUTABLE_P.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/initlist-opt7.C: New test.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions