diff options
author | Jason Merrill <jason@redhat.com> | 2021-04-14 09:30:05 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2021-04-14 13:47:46 -0400 |
commit | 9b53edc796d284b6adec7f2996772dbddf4c341e (patch) | |
tree | 25e585b64c912f57d39957ed6368d4de3bf97b1d /gcc/fortran/trans-array.c | |
parent | f99f64f69db49ce6343d79a39eab28dcc6b91865 (diff) | |
download | gcc-9b53edc796d284b6adec7f2996772dbddf4c341e.zip gcc-9b53edc796d284b6adec7f2996772dbddf4c341e.tar.gz gcc-9b53edc796d284b6adec7f2996772dbddf4c341e.tar.bz2 |
c++: non-static member, array bound, sizeof [PR93314]
N2253 allowed referring to non-static data members without an object in
unevaluated operands like that of sizeof, but in a constant-expression
context like an array bound or template argument within such an unevaluated
operand we do actually need a value, so that permission cannot apply.
gcc/cp/ChangeLog:
PR c++/93314
* semantics.c (finish_id_expression_1): Clear cp_unevaluated_operand
for a non-static data member in a constant-expression.
gcc/testsuite/ChangeLog:
PR c++/93314
* g++.dg/parse/uneval1.C: New test.
Diffstat (limited to 'gcc/fortran/trans-array.c')
0 files changed, 0 insertions, 0 deletions