aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2023-03-10 10:14:20 -0500
committerMarek Polacek <polacek@redhat.com>2023-03-15 14:23:06 -0400
commitbe20dcc359bcc4677c5b9ce011d3cd7b4ce94a64 (patch)
tree1a4fe7754ee9007fad482b065613da8ce7f9cd1d /gcc/fortran
parentcd394c542b73cab89228f4aad7afe757e58ef126 (diff)
downloadgcc-be20dcc359bcc4677c5b9ce011d3cd7b4ce94a64.zip
gcc-be20dcc359bcc4677c5b9ce011d3cd7b4ce94a64.tar.gz
gcc-be20dcc359bcc4677c5b9ce011d3cd7b4ce94a64.tar.bz2
c++: ICE with constexpr lambda [PR107280]
We crash here since r10-3661, the store_init_value hunk in particular. Before, we called cp_fully_fold_init, so e.g. {.str=VIEW_CONVERT_EXPR<char[8]>("")} was folded into {.str=""} but now we don't fold and keep the VCE around, and it causes trouble in cxx_eval_store_expression: in the !refs->is_empty () loop we descend on .str's initializer but since it's wrapped in a VCE, we skip the STRING_CST check and then crash on the CONSTRUCTOR_NO_CLEARING. PR c++/107280 gcc/cp/ChangeLog: * constexpr.cc (cxx_eval_store_expression): Strip location wrappers. gcc/testsuite/ChangeLog: * g++.dg/cpp1z/constexpr-lambda28.C: New test.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions