Commit 85a3442c authored by Sandra Loosemore's avatar Sandra Loosemore
Browse files

Fortran: Fix ICE caused by missing error for untyped symbol [PR103258]

The bit on a symbol to mark that it had already been diagnosed as
lacking a type was getting set even when the error was suppressed or
discarded, specifically when doing early resolution on a character
length expression to see if it can be constant-folded.  Explicitly
suppress errors before doing that, then check whether they are
suppressed before setting the bit.

2022-01-04  Sandra Loosemore  <sandra@codesourcery.com>

	PR fortran/103258

	gcc/fortran/
	* decl.c (gfc_match_char_spec): Suppress errors around call
	to gfc_reduce_init_expr.
	* error.c (gfc_query_suppress_errors): New.
	* gfortran.h (gfc_query_suppress_errors): Declare.
	* symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors.

	gcc/testsuite/
	* gfortran.dg/pr103258.f90: New.
parent 6aa0859a
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment