URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [character_array_constructor_1.f90] - Rev 694
Compare with Previous | Blame | View Log
! { dg-do run }! Tests the fix for PR27113, in which character structure! components would produce the TODO compilation error "complex! character array constructors".!! Test based on part of tonto-2.2;! Contributed by Paul Thomas <pault@gcc.gnu.org>!type BASIS_TYPEcharacter(len=8) :: labelend typetype(BASIS_TYPE), dimension(:), pointer :: ptrcharacter(8), dimension(2) :: carrayallocate (ptr(2))ptr(1)%label = "Label 1"ptr(2)%label = "Label 2"! This is the original bugcall read_library_data_((/ptr%label/))carray(1) = "Label 3"carray(2) = "Label 4"! Mix a character array with the character component of a derived type pointer array.call read_library_data_((/carray, ptr%label/))! Finally, add a constant (character(8)).call read_library_data_((/carray, ptr%label, "Label 5 "/))containssubroutine read_library_data_ (chr)character(*), dimension(:) :: chrcharacter(len = len(chr)) :: tmpif (size(chr,1) == 2) thenif (any (chr .ne. (/"Label 1", "Label 2"/))) call abort ()elseif (size(chr,1) == 4) thenif (any (chr .ne. (/"Label 3", "Label 4","Label 1", "Label 2"/))) call abort ()elseif (size(chr,1) == 5) thenif (any (chr .ne. (/"Label 3", "Label 4","Label 1", "Label 2", "Label 5"/))) &call abort ()end ifend subroutine read_library_data_end
