[Bug fortran/19561] [gfortran] wrong code generation for pointers to derived types

paulthomas2 at wanadoo dot fr gcc-bugzilla@gcc.gnu.org
Fri Jan 21 13:04:00 GMT 2005


------- Additional Comments From paulthomas2 at wanadoo dot fr  2005-01-21 13:03 -------
Confirmed on Cygwin and RH9

In an attempt to reduce this a bit, I have produced a slightly more startling 
error:

$ cat point.f90
module mpoint
  type           ::       mytype
    integer      ::       i
  end type mytype
contains
  function get (a) result (b)
    type (mytype), target   ::      a
    type (mytype), pointer  ::      b
    b => a
  end function get
end module mpoint
program point
  use mpoint
  type (mytype), target  ::       x
  type (mytype), pointer ::       y
  x = mytype (42)
  print *, get (x)
end program point

$ d:/irun/bin/gfortran -c -v point.f90
Using built-in specs.
Configured with: ../gcc/configure --with-gmp=/usr/local --with-
mpfr=/usr/local -
-enable-languages=c,f95,c++ --prefix=/cygdrive/d/irun : 
(reconfigured) ../gcc/co
nfigure --with-gmp=/usr/local --with-mpfr=/usr/local --
prefix=/cygdrive/d/irun -
-with-gcc-version-trigger=/cygdrive/d/gcc-cvs/gcc/gcc/version.c --enable-
languag
es=c,c++,f95 --no-create --no-recursion : (reconfigured) ../gcc/configure --
with
-gmp=/usr/local --with-mpfr=/usr/local --prefix=/cygdrive/d/irun --with-gcc-
vers
ion-trigger=/cygdrive/d/gcc-cvs/gcc/gcc/version.c --enable-
languages=c,c++,f95 -
-no-create --no-recursion
Thread model: single
gcc version 4.0.0 20050116 (experimental)
 /cygdrive/d/irun/libexec/gcc/i686-pc-cygwin/4.0.0/f951.exe point.f90 -quiet -
du
mpbase point.f90 -mtune=pentiumpro -auxbase point -version -
o /cygdrive/c/DOCUME
~1/PAULTH~1/LOCALS~1/Temp/cc6mI8lv.s
GNU F95 version 4.0.0 20050117 (experimental) (i686-pc-cygwin)
        compiled by GNU C version 3.3.1 (cygming special).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
point.f90: In function 'MAIN__':
point.f90:16: internal compiler error: tree check: expected record_type or 
union
_type or qual_union_type, have pointer_type in find_compatible_field, at 
tree.c:
5995

-- 


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



More information about the Gcc-bugs mailing list