diff options
author | Daniel Franke <franke.daniel@gmail.com> | 2009-12-07 12:32:29 -0500 |
---|---|---|
committer | Daniel Franke <dfranke@gcc.gnu.org> | 2009-12-07 12:32:29 -0500 |
commit | d59b1dcb19d9d8c6b69d00463ab7b4f5d5cd45a6 (patch) | |
tree | 924e144433c8bbe5db535407c689e688ea4f6d9f /gcc | |
parent | b3a00b5034c404458ba4a32c337bdc2c94f916ed (diff) | |
download | gcc-d59b1dcb19d9d8c6b69d00463ab7b4f5d5cd45a6.zip gcc-d59b1dcb19d9d8c6b69d00463ab7b4f5d5cd45a6.tar.gz gcc-d59b1dcb19d9d8c6b69d00463ab7b4f5d5cd45a6.tar.bz2 |
re PR fortran/41940 (Improve error message for allocating scalar with shape)
gcc/fortran:
2009-12-07 Daniel Franke <franke.daniel@gmail.com>
PR fortran/41940
* match.c (gfc_match_allocate): Improved error message for
allocatable scalars that are allocated with a shape.
gcc/testsuite:
2009-12-07 Daniel Franke <franke.daniel@gmail.com>
PR fortran/41940
* gfortran.dg/allocate_scalar_with_shape.f90: New.
From-SVN: r155049
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/match.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/allocate_scalar_with_shape.f90 | 13 |
4 files changed, 30 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9d0506e..49f6b8f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2009-12-07 Daniel Franke <franke.daniel@gmail.com> + + PR fortran/41940 + * match.c (gfc_match_allocate): Improved error message for + allocatable scalars that are allocated with a shape. + 2009-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> PR other/40302 diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 9e76818..c67427c 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -2502,6 +2502,12 @@ gfc_match_allocate (void) goto cleanup; } + if (gfc_peek_ascii_char () == '(' && !sym->attr.dimension) + { + gfc_error ("Shape specification for allocatable scalar at %C"); + goto cleanup; + } + if (gfc_match_char (',') != MATCH_YES) break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index edd2b46..da73c1e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-12-07 Daniel Franke <franke.daniel@gmail.com> + + PR fortran/41940 + * gfortran.dg/allocate_scalar_with_shape.f90: New. + 2009-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> PR other/40302 diff --git a/gcc/testsuite/gfortran.dg/allocate_scalar_with_shape.f90 b/gcc/testsuite/gfortran.dg/allocate_scalar_with_shape.f90 new file mode 100644 index 0000000..1f4f9d5 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/allocate_scalar_with_shape.f90 @@ -0,0 +1,13 @@ +! { dg-do "compile" } +! PR fortran/41940 + +integer, allocatable :: a +TYPE :: x + integer, allocatable :: a +END TYPE +TYPE (x) :: y + +allocate(a(4)) ! { dg-error "Shape specification for allocatable scalar" } +allocate(y%a(4)) ! { dg-error "Shape specification for allocatable scalar" } +end + |