> On Sat, Dec 27, 2025, at 1:56 PM, Jose E. Marchesi wrote:
>> Signed-off-by: Jose E. Marchesi <[email protected]>
>>
>> gcc/algol68/ChangeLog
>>
>>      * a68-parser-top-down.cc (a68_top_down_parser): Stop parsing after
>>      longjump.
>>
>> gcc/testsuite/ChangeLog
>>
>>      * algol68/compile/error-loop-1.a68: New test.
>> ---
>>  gcc/algol68/a68-parser-top-down.cc             | 8 ++++----
>>  gcc/testsuite/algol68/compile/error-loop-1.a68 | 1 +
>>  2 files changed, 5 insertions(+), 4 deletions(-)
>>  create mode 100644 gcc/testsuite/algol68/compile/error-loop-1.a68
>>
>> diff --git a/gcc/algol68/a68-parser-top-down.cc 
>> b/gcc/algol68/a68-parser-top-down.cc
>> index e4a3bf8c854..4a79e58217a 100644
>> --- a/gcc/algol68/a68-parser-top-down.cc
>> +++ b/gcc/algol68/a68-parser-top-down.cc
>> @@ -891,9 +891,9 @@ a68_top_down_parser (NODE_T *p)
>>      (void) top_down_prelude_packet (p);
>>        else
>
> Do you need to add an open bracket '{' here because now the top_down_xxx 
> calls are part of it?
>
>>      (void) top_down_particular_program (p);
>> -    }
>> 
>> -  top_down_loops (p);
>> -  top_down_formats (p);
>> -  top_down_access (p);
>> +      top_down_loops (p);
>> +      top_down_formats (p);
>> +      top_down_access (p);
>
> Similarly another close bracket '}' here?

No.  The top_down_{loops,formats,access} shall be executed after eitehr
top_down_prelude_packet or top_down_particular_program.

>
>> +    }
>>  }
>> diff --git a/gcc/testsuite/algol68/compile/error-loop-1.a68 
>> b/gcc/testsuite/algol68/compile/error-loop-1.a68
>> new file mode 100644
>> index 00000000000..bc3b2e2ad70
>> --- /dev/null
>> +++ b/gcc/testsuite/algol68/compile/error-loop-1.a68
>> @@ -0,0 +1 @@
>> +from i from 1 to 10 do skip od { dg-error "" }
>> -- 
>> 2.30.2
>
> pietro

Reply via email to