This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/51754] New: [OOP] ICE on valid with class arrays
- From: "abenson at caltech dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 04 Jan 2012 17:28:24 +0000
- Subject: [Bug fortran/51754] New: [OOP] ICE on valid with class arrays
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51754
Bug #: 51754
Summary: [OOP] ICE on valid with class arrays
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: abenson@caltech.edu
This test case gives an ICE on valid related to class arrays:
module test
private
type :: componentB
end type componentB
type :: treeNode
class(componentB), allocatable, dimension(:) :: componentB
end type treeNode
contains
function BGet(self)
implicit none
class(componentB), pointer :: BGet
class(treeNode), intent(in) :: self
select type (self)
class is (treeNode)
BGet => self%componentB(1)
end select
return
end function BGet
end module test
$ gfortran -v
Using built-in specs.
COLLECT_GCC=/opt/gcc-4.7/bin/gfortran
COLLECT_LTO_WRAPPER=/opt/gcc-4.7/libexec/gcc/x86_64-unknown-linux-
gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.7/configure --prefix=/opt/gcc-4.7 --enable-
languages=c,c++,fortran --disable-multilib
Thread model: posix
gcc version 4.7.0 20120103 (experimental) (GCC)
$ gfortran -c test.F90 -o test.o
test.F90: In function âbgetâ:
test.F90:19:0: internal compiler error: in gfc_conv_descriptor_offset, at
fortran/trans-array.c:210
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
If I remove the "allocatable" I instead get:
$ gfortran -c test.F90 -o test.o
f951: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
If I remove the "dimension(:)" and change the pointer association to:
BGet => self%componentB
then it compiles successfully.