[Bug c++/111274] ice in fixup_blocks_walker with -O1 and -fopenmp
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 7 17:52:05 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111274
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Sandra Loosemore <sandra@gcc.gnu.org>:
https://gcc.gnu.org/g:ab4bdad49716eb1c60e22e0e617d5eb56b0bac6f
commit r14-3791-gab4bdad49716eb1c60e22e0e617d5eb56b0bac6f
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Thu Sep 7 16:12:20 2023 +0000
OpenMP: Fix ICE in fixup_blocks_walker [PR111274]
This ICE was caused by an invalid assumption that all BIND_EXPRs have
a non-null BIND_EXPR_BLOCK. In C++ these do exist and are used for
temporaries introduced in expressions that are not full-expressions.
Since they have no block to fix up, the traversal can just ignore
these tree nodes.
gcc/cp/ChangeLog
PR c++/111274
* parser.cc (fixup_blocks_walker): Check for null BIND_EXPR_BLOCK.
gcc/testsuite/ChangeLog
PR c++/111274
* g++.dg/gomp/pr111274.C: New test case.
More information about the Gcc-bugs
mailing list