[Patch, fortran] PR31550 - f951: segfault in fold-const.c:1963

Paul Richard Thomas paul.richard.thomas@gmail.com
Fri Apr 13 13:24:00 GMT 2007


:ADDPATCH fortran:

I intend to commit the enclosed patch as 'obvious', just as soon as it
has finished regtesting.  I have to admit that the 'obvious' did not
hit me until I had posted a patch on Bugzilla that was rather less
than 'obvious':)

The copying of derived types on the derived type list wound up
breaking one of the cardinal rules of the game; thou shalt not build
the component declarations of pointers to other derived types because
there is no guarantee that they have already been declared. (Think of
a derived type with a component that points to itself.)  This was not
a problem until this PR came along because the gfc_derived_types list
stored them, it so happened, in the right order.  This particular PR
disrupted that.

By the time that it is done - bootstrapped and regtested on amd64/suse10.1.

Thanks, Daniel!

Paul

2007-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31550
	* trans-types.c (copy_dt_decls_ifequal): Do not get pointer
	derived type components.

2007-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31011
	* gfortran.dg/used_types_16.f90: New test.



-- 
Saint Augustine - "O Lord, help me to be pure, but not yet"
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: check.diff
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070413/c8022ab3/attachment.ksh>


More information about the Gcc-patches mailing list