aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Schlüter <tobi@gcc.gnu.org>2005-06-04 12:26:57 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2005-06-04 12:26:57 +0200
commitab21e2722dbe3f0677fcd2f8acc6ce078ae09a94 (patch)
tree41d4831261eba1773eac96fee365cb09ad137ef2 /gcc
parent9a28687dcfb8e850664915cf362102317498867b (diff)
downloadgcc-ab21e2722dbe3f0677fcd2f8acc6ce078ae09a94.zip
gcc-ab21e2722dbe3f0677fcd2f8acc6ce078ae09a94.tar.gz
gcc-ab21e2722dbe3f0677fcd2f8acc6ce078ae09a94.tar.bz2
array.c (gfc_match_array_constructor): Disallow empty array constructor.
fortran/ 2005-06-03 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> Erik Edelmann <erik.edelmann@iki.fi> * array.c (gfc_match_array_constructor): Disallow empty array constructor. testsuite/ 2005-06-04 Erik Edelmann <erik.edelmann@iki.fi> * gfortran.dg/array_constructor_3.f90: New test. From-SVN: r100579
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/array.c6
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/array_constructor_3.f905
4 files changed, 19 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 8327b51..bc0fa79 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-03 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+ Erik Edelmann <erik.edelmann@iki.fi>
+
+ * array.c (gfc_match_array_constructor): Disallow empty array
+ constructor.
+
2005-06-03 Jerry DeLisle <jvdelisle@verizon.net>
* fortran/intrinsic.texi: Add documentation for
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index f628440..3d90a55 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -887,7 +887,10 @@ gfc_match_array_constructor (gfc_expr ** result)
head = tail = NULL;
if (gfc_match (end_delim) == MATCH_YES)
- goto empty; /* Special case */
+ {
+ gfc_error ("Empty array constructor at %C is not allowed");
+ goto cleanup;
+ }
for (;;)
{
@@ -911,7 +914,6 @@ gfc_match_array_constructor (gfc_expr ** result)
if (gfc_match (end_delim) == MATCH_NO)
goto syntax;
-empty:
expr = gfc_get_expr ();
expr->expr_type = EXPR_ARRAY;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 78a2f57..acbdca2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-06-04 Erik Edelmann <erik.edelmann@iki.fi>
+
+ * gfortran.dg/array_constructor_3.f90: New test.
+
2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* gfortran.dg/ret_pointer_1.f90: Un-XFAIL.
diff --git a/gcc/testsuite/gfortran.dg/array_constructor_3.f90 b/gcc/testsuite/gfortran.dg/array_constructor_3.f90
new file mode 100644
index 0000000..7ddd1f4
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/array_constructor_3.f90
@@ -0,0 +1,5 @@
+! { dg-do compile }
+! Check that empty array constructors are rejected
+program hum
+ print *, (//) { dg-error "Empty array constructor" }
+end program hum