http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54714



Tobias Burnus <burnus at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

           Keywords|                            |ice-on-invalid-code

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2012-09-26

                 CC|                            |burnus at gcc dot gnu.org

     Ever Confirmed|0                           |1



--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-26 
09:08:45 UTC ---

 Invalid read of size 4

    at 0x57EB174: __gmpz_sub (in /usr/lib64/libgmp.so.10.0.5)

    by 0x6540BE: transfer_array_component(tree_node*, gfc_component*, locus*)

(trans-io.c:1963)

    by 0x653C0E: transfer_expr(gfc_se*, gfc_typespec*, tree_node*, gfc_code*)

(trans-io.c:2168)

    by 0x6570E7: gfc_trans_transfer(gfc_code*) (trans-io.c:2308)





But the actual problem is that it isn't already rejected at resolving time; the

code is invalid.



"If a list item of derived type in a formatted input/output statement is not

processed by a defined input/output procedure, that list item is treated as if

all of the components of the list item were specified in the list in component

order; those components shall be accessible in the scoping unit containing the

input/output statement and shall not be pointers or allocatable."



(F2008, "9.6.3 Data transfer input/output list" paragraph 7, list item below

"NOTE 9.34")

Reply via email to