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



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

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

                 CC|                            |janus at gcc dot gnu.org

            Summary|ICE in                      |[OOP] ICE in

                   |gfc_create_module_variable, |gfc_create_module_variable,

                   |at                          |at

                   |fortran/trans-decl.c:4013   |fortran/trans-decl.c:4013



--- Comment #1 from janus at gcc dot gnu.org 2012-10-12 09:33:27 UTC ---

Huh, the procedure to reproduce the bug is rather strange. However, I can

confirm the error (with 4.7 and trunk). I could even reduce it a bit more:



> cat m1.f95

module solver_2D_m

  use adv_m

  class(adv_t), pointer :: adv

end module



> cat m2.f95

module adv_m

  type :: adv_t

  end type

end module



> cat m12.f95

#include "m1.f95"

#include "m2.f95"



> cat trigger.sh

#!/bin/bash

gfortran-4.8 -c m2.f95

gfortran-4.8 -cpp -c m12.f95





The error on the second line only happens if the module file of 'adv_m' is

present (created by the first line).



The example seems very 'constructed' to me. Does it have any practical

relevance to you?

Reply via email to