aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2013-04-28 21:54:44 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-04-28 21:54:44 +0200
commit5e67a36916b402a029a7b1a5a86355ddbc75ef75 (patch)
tree7ebfe05b6c99400971b5cfbaa458f3382bf9f7ce
parenta2f7b4ad34f5690f71d95d4e438b9a8006d45bd9 (diff)
downloadgcc-5e67a36916b402a029a7b1a5a86355ddbc75ef75.zip
gcc-5e67a36916b402a029a7b1a5a86355ddbc75ef75.tar.gz
gcc-5e67a36916b402a029a7b1a5a86355ddbc75ef75.tar.bz2
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
-rw-r--r--gcc/fortran/ChangeLog13
-rw-r--r--gcc/fortran/intrinsic.texi2
-rw-r--r--gcc/fortran/trans-types.c2
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_30.f9015
5 files changed, 33 insertions, 6 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 9debee4..5536f5d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
@@ -6,9 +13,9 @@
2013-04-25 Janne Blomqvist <jb@gcc.gnu.org>
- PR bootstrap/57028
- * Make-lang.in (f951): Link in ZLIB.
- (CFLAGS-fortran/module.o): Add zlib include directory.
+ PR bootstrap/57028
+ * Make-lang.in (f951): Link in ZLIB.
+ (CFLAGS-fortran/module.o): Add zlib include directory.
2013-04-22 Janus Weil <janus@gcc.gnu.org>
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index ed464a6..63c352c 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -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
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 379fe94..806accc 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -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);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 41b155c..36ce9f0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
@@ -43,7 +48,7 @@
2013-04-25 Marek Polacek <polacek@redhat.com>
PR tree-optimization/57066
- * gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
+ * gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
2013-04-25 James Greenhalgh <james.greenhalgh@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
diff --git a/gcc/testsuite/gfortran.dg/coarray_30.f90 b/gcc/testsuite/gfortran.dg/coarray_30.f90
new file mode 100644
index 0000000..2cfb50a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/coarray_30.f90
@@ -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" } }