diff options
author | Marek Polacek <polacek@redhat.com> | 2024-01-15 09:15:59 -0500 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-01-15 18:39:32 -0500 |
commit | a3054489117085c095e480c71b6aaeea9a463c37 (patch) | |
tree | b7a78a7e8458c36813b27c16cc9db364722baa47 /gcc/cfgexpand.cc | |
parent | 2e3a75f714c1bba876c31d0e68e903c6857d83a9 (diff) | |
download | gcc-a3054489117085c095e480c71b6aaeea9a463c37.zip gcc-a3054489117085c095e480c71b6aaeea9a463c37.tar.gz gcc-a3054489117085c095e480c71b6aaeea9a463c37.tar.bz2 |
c++: ICE with auto in template arg [PR110065]
Here we started crashing with r14-1659 because that removed the
auto checking in cp_parser_template_type_arg which seemed like
dead code. But the attached test shows that the code can still
be reached because cp_parser_type_id_1 checks auto only when
auto_is_implicit_function_template_parm_p is on.
Then I noticed that we're still crashing in C++20, and that ICE
started with r12-4772. So I changed the reemerged check to use
flag_concepts_ts rather than flag_concepts on the basis that
check_auto_in_tmpl_args also checks flag_concepts_ts.
PR c++/110065
gcc/cp/ChangeLog:
* parser.cc (cp_parser_template_type_arg): Add auto checking.
gcc/testsuite/ChangeLog:
* g++.dg/concepts/auto8.C: New test.
* g++.dg/concepts/auto8a.C: New test.
Diffstat (limited to 'gcc/cfgexpand.cc')
0 files changed, 0 insertions, 0 deletions