[Patch, fortran] PR17737 - ICE when variable appears in two data statements

Paul Thomas paulthomas2@wanadoo.fr
Mon Oct 31 15:28:00 GMT 2005


:ADDPATCH fortran:

This is the fourth contribution to the reduction of the g77 meta-bug.

This PR concerned the ICE that occurred when a variable appeared in two 
DATA statements.  Removing the gcc_assert allows compilation to 
succeed.  Many compilers only warn of this constraint.  The most 
economical fix replaces the gcc_assert that causes the ICE with a 
standard dependent error.  Notice that treatment of all double 
initializations has been unified.  However, the order of arrival of the 
expressions differs according to whether they come from data statements 
or f95-style declarations.  This has been dealt with by choosing the 
last initialization, either for an error or to be used for sym->result.

Whilst doing this, I noticed that the standard constraints had only 
partially been applied to the DATA statement.  I have therefore done 
this as part of the patch.  Two of the three testscases test the 
constraints; one for those that are applied unconditionally and the 
other for  extensions, when -std=f95 is not in force.

Bootstrapped and regtested on FC3/Athlon.  OK for mainline and 4.0?

Paul T

 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: submit_data.txt
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20051031/49789943/attachment.txt>


More information about the Fortran mailing list