[Bug modula2/109586] cc1gm2 ICE when compiling large source file
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 27 21:12:48 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109586
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Gaius Mulley
<gaius@gcc.gnu.org>:
https://gcc.gnu.org/g:2286745b12070320c8dcc5c75d76dd184cb7645e
commit r13-7616-g2286745b12070320c8dcc5c75d76dd184cb7645e
Author: Gaius Mulley <gaiusmod2@gmail.com>
Date: Thu Jul 27 22:11:26 2023 +0100
PR modula2/109586 cc1gm2 ICE when compiling large source files.
The function m2block_RememberConstant calls m2tree_IsAConstant.
However IsAConstant does not recognise TREE_CODE(t) ==
CONSTRUCTOR as a constant. Without this patch CONSTRUCTOR
contants are garbage collected (and not preserved) resulting in
a corrupt tree and crash.
gcc/m2/ChangeLog:
PR modula2/109586
* gm2-gcc/m2tree.cc (m2tree_IsAConstant): Add (TREE_CODE
(t) == CONSTRUCTOR) to expression.
(cherry picked from commit a7e1ee39e4fa37d005929c4ff9457d1a199559c6)
Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
More information about the Gcc-bugs
mailing list