Dear Dominique, I have fixed all the problems except the last one. For that case, the other brand gives type_to_class_30.f90(19): error #7822: Variables containing ultimate allocatable array components are forbidden from appearing directly in input/output lists. print *, TestReference([Test(99), Test(199)]) ---------^ compilation aborted for type_to_class_30.f90 (code 1)
which seems to me to be correct. I'll see what I can do to fix it. Thanks for the help Paul On 2 February 2015 at 17:53, Dominique Dhumieres <domi...@lps.ens.fr> wrote: > Dear Paul, > > I have tested your patch at > https://gcc.gnu.org/ml/fortran/2015-01/txtwnaoa1115V.txt > (the latest version) and I found that the test type_to_class_3.f03 is > miscompiled > (FAIL) with -flto -O0 -m64 (this does not happens with -flto -O0 -m32 or with > -Ox and > x!=0). > > In addition, while the reduced test > > type :: Test > integer :: i > end type > > type :: TestReference > class(Test), allocatable :: test(:) > end type > > type(TestReference) :: testList > type(test), allocatable :: x(:) > > allocate (testList%test(2), source = [Test(99), Test(199)]) ! Works, of > course > print *, size(testList%test) > x = testList%test > print *, x > end > > gives what I expect, i.e., > > 2 > 99 199 > > type :: Test > integer :: i > end type > > type :: TestReference > class(Test), allocatable :: test(:) > end type > > type(TestReference) :: testList > type(test), allocatable :: x(:) > > testList = TestReference([Test(99), Test(199)]) ! Gave: The rank of the > element in the > ! structure constructor at > (1) does not > ! match that of the > component (1/0) > print *, size(testList%test) > x = testList%test > print *, x > end > > gives > > 1 > 99 > > Last problem I see, > > print *, TestReference([Test(99), Test(199)]) > > gives the following ICE > > f951: internal compiler error: Bad IO basetype (7) > > type_to_class_3_red_2.f03:12:0: > > print *, TestReference([Test(99), Test(199)]) > > > Cheers, > > Dominique -- Outside of a dog, a book is a man's best friend. Inside of a dog it's too dark to read. Groucho Marx