re PR fortran/57093 (Seg fault on internal output to a character scalar coarray)

2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57093
        * trans-types.c (gfc_get_element_type): Fix handling
        of scalar coarrays of type character.
        * intrinsic.texi (PACK): Add missing ")".

2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57093
        * gfortran.dg/coarray_30.f90: New.

From-SVN: r198379
This commit is contained in:
Tobias Burnus 2013-04-28 21:54:44 +02:00
parent a2f7b4ad34
commit 5e67a36916
5 changed files with 33 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2013-04-28 Tobias Burnus <burnus@net-b.de>
PR fortran/57093
* trans-types.c (gfc_get_element_type): Fix handling
of scalar coarrays of type character.
* intrinsic.texi (PACK): Add missing ")".
2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/57071

View File

@ -9619,7 +9619,7 @@ Fortran 95 and later
Transformational function
@item @emph{Syntax}:
@code{RESULT = PACK(ARRAY, MASK[,VECTOR]}
@code{RESULT = PACK(ARRAY, MASK[,VECTOR])}
@item @emph{Arguments}:
@multitable @columnfractions .15 .70

View File

@ -1179,7 +1179,7 @@ gfc_get_element_type (tree type)
element = TREE_TYPE (element);
/* For arrays, which are not scalar coarrays. */
if (TREE_CODE (element) == ARRAY_TYPE)
if (TREE_CODE (element) == ARRAY_TYPE && !TYPE_STRING_FLAG (element))
element = TREE_TYPE (element);
}

View File

@ -1,3 +1,8 @@
2013-04-28 Tobias Burnus <burnus@net-b.de>
PR fortran/57093
* gfortran.dg/coarray_30.f90: New.
2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/57071

View File

@ -0,0 +1,15 @@
! { dg-do compile }
! { dg-options "-fcoarray=single -fdump-tree-original" }
!
! PR fortran/57093
!
! Contributed by Damian Rouson
!
program main
character(len=25), allocatable :: greeting[:]
allocate(greeting[*])
write(greeting,"(a)") "z"
end
! { dg-final { scan-tree-dump-times "greeting.data = \\(void . restrict\\) __builtin_malloc \\(25\\);" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }