[Bug c++/126323] [13/14/15/16/17 Regression] ICE when parsing #pragma GCC ivdep or unroll(0) or novector inside a class definition before a for statement
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jul 26 14:51:11 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126323
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <jason@gcc.gnu.org>:
https://gcc.gnu.org/g:cd453025faf5ab3ada2428e5fc372d9a6328c9cb
commit r17-2717-gcd453025faf5ab3ada2428e5fc372d9a6328c9cb
Author: Odysseas Georgoudis <odygrd@hotmail.com>
Date: Fri Jul 24 15:17:32 2026 -0400
c++: Fix ICE with loop pragmas at class scope [PR126323]
cp_parser_pragma rejected GCC loop pragmas at namespace scope, but not
at class scope. Consequently, it attempted to parse the following loop
as a statement while in a member-declaration context, leading to an ICE
when processing the loop initializer.
Accept these pragmas only in statement contexts.
gcc/cp/ChangeLog:
PR c++/126323
* parser.cc (cp_parser_pragma): Reject GCC loop pragmas outside
statement contexts.
gcc/testsuite/ChangeLog:
PR c++/126323
* g++.dg/parse/pr126323.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
More information about the Gcc-bugs
mailing list