From: Iain Buclaw Date: Tue, 3 Feb 2026 23:21:32 +0000 (+0100) Subject: a68: Fix ICE in a68_extract_indicants X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=600b106d9bd3901bfbf3335124c57b1ad46d149d;p=thirdparty%2Fgcc.git a68: Fix ICE in a68_extract_indicants At the time a68_extract_indicants executes nothing guarantees that the module text following a module symbol is well formed. gcc/algol68/ChangeLog: * a68-parser-extract.cc (a68_extract_indicants): Don't call FORWARD if skip_module_text returns NO_NODE. gcc/testsuite/ChangeLog: * algol68/compile/error-module-definition-1.a68: New test. * algol68/compile/error-module-definition-2.a68: New test. --- diff --git a/gcc/algol68/a68-parser-extract.cc b/gcc/algol68/a68-parser-extract.cc index 32a9933bd72..34199595856 100644 --- a/gcc/algol68/a68-parser-extract.cc +++ b/gcc/algol68/a68-parser-extract.cc @@ -416,7 +416,10 @@ a68_extract_indicants (NODE_T *p) else { q = skip_module_text (NEXT (q)); - FORWARD (q); + if (q == NO_NODE) + siga = false; + else + FORWARD (q); } } else diff --git a/gcc/testsuite/algol68/compile/error-module-definition-1.a68 b/gcc/testsuite/algol68/compile/error-module-definition-1.a68 new file mode 100644 index 00000000000..bc763bd682b --- /dev/null +++ b/gcc/testsuite/algol68/compile/error-module-definition-1.a68 @@ -0,0 +1 @@ +module Module = { dg-error "" } diff --git a/gcc/testsuite/algol68/compile/error-module-definition-2.a68 b/gcc/testsuite/algol68/compile/error-module-definition-2.a68 new file mode 100644 index 00000000000..d2ad87b5d6c --- /dev/null +++ b/gcc/testsuite/algol68/compile/error-module-definition-2.a68 @@ -0,0 +1,3 @@ +module Module = { dg-error "" } +begin +end