From 4fec7f89f75ffcc961b5443af91b3d7323078709 Mon Sep 17 00:00:00 2001 From: pault Date: Wed, 28 Mar 2012 20:45:16 +0000 Subject: [PATCH] 2012-03-28 Paul Thomas Tobias Burnus PR fortran/52652 * match.c (gfc_match_allocate, gfc_match_deallocate): Change "not.. or" to "neither.. nor". * parse.c (decode_specification_statement): Correct error in chpice of matching function for "allocatable". 2012-03-28 Paul Thomas Tobias Burnus PR fortran/52652 * gfortran.dg/allocate_class_1.f90 : Change error test. * gfortran.dg/allocate_with_typespec_4.f90 : Change error test. * gfortran.dg/allocate_alloc_opt_1.f90 : Change error test. * gfortran.dg/deallocate_alloc_opt_1.f90 : Change error test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185924 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 9 +++++++++ gcc/fortran/match.c | 6 +++--- gcc/fortran/parse.c | 2 +- gcc/testsuite/ChangeLog | 9 +++++++++ gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 | 2 +- gcc/testsuite/gfortran.dg/allocate_class_1.f90 | 2 +- gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 | 2 +- gcc/testsuite/gfortran.dg/deallocate_alloc_opt_1.f90 | 2 +- 8 files changed, 26 insertions(+), 8 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index db6f87d..4a79df8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2012-03-28 Paul Thomas + Tobias Burnus + + PR fortran/52652 + * match.c (gfc_match_allocate, gfc_match_deallocate): Change + "not.. or" to "neither.. nor". + * parse.c (decode_specification_statement): Correct error in + chpice of matching function for "allocatable". + 2012-03-23 Janne Blomqvist * gfortran.h (GFC_MAX_LINE): Remove unused macro. diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 1438160..15edfc3 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -3572,8 +3572,8 @@ gfc_match_allocate (void) || sym->ns->proc_name->attr.proc_pointer); if (b1 && b2 && !b3) { - gfc_error ("Allocate-object at %L is not a nonprocedure pointer " - "or an allocatable variable", &tail->expr->where); + gfc_error ("Allocate-object at %L is neither a nonprocedure pointer " + "nor an allocatable variable", &tail->expr->where); goto cleanup; } @@ -3904,7 +3904,7 @@ gfc_match_deallocate (void) if (b1 && b2) { gfc_error ("Allocate-object at %C is not a nonprocedure pointer " - "or an allocatable variable"); + "nor an allocatable variable"); goto cleanup; } diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 317fb84..4e7f691 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -161,7 +161,7 @@ decode_specification_statement (void) case 'a': match ("abstract% interface", gfc_match_abstract_interface, ST_INTERFACE); - match ("allocatable", gfc_match_asynchronous, ST_ATTR_DECL); + match ("allocatable", gfc_match_allocatable, ST_ATTR_DECL); match ("asynchronous", gfc_match_asynchronous, ST_ATTR_DECL); break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b965221..945e507 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2012-03-28 Paul Thomas + Tobias Burnus + + PR fortran/52652 + * gfortran.dg/allocate_class_1.f90 : Change error test. + * gfortran.dg/allocate_with_typespec_4.f90 : Change error test. + * gfortran.dg/allocate_alloc_opt_1.f90 : Change error test. + * gfortran.dg/deallocate_alloc_opt_1.f90 : Change error test. + 2012-03-28 Jakub Jelinek PR middle-end/52691 diff --git a/gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 b/gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 index 52e0262..3a05e8c 100644 --- a/gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 +++ b/gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 @@ -24,7 +24,7 @@ program a allocate(i(2), errmsg=err) ! { dg-warning "useless without a STAT" } allocate(i(2), stat=j, errmsg=x) ! { dg-error "must be a scalar CHARACTER" } - allocate(err) ! { dg-error "nonprocedure pointer or an allocatable" } + allocate(err) ! { dg-error "neither a nonprocedure pointer nor an allocatable" } allocate(error(2),stat=j,errmsg=error(1)) ! { dg-error "shall not be ALLOCATEd within" } allocate(i(2), stat = i(1)) ! { dg-error "shall not be ALLOCATEd within" } diff --git a/gcc/testsuite/gfortran.dg/allocate_class_1.f90 b/gcc/testsuite/gfortran.dg/allocate_class_1.f90 index 1dea056..9a2a5cb 100644 --- a/gcc/testsuite/gfortran.dg/allocate_class_1.f90 +++ b/gcc/testsuite/gfortran.dg/allocate_class_1.f90 @@ -7,5 +7,5 @@ type :: t0 end type class(t0) :: x ! { dg-error "must be dummy, allocatable or pointer" } - allocate(x) ! { dg-error "is not a nonprocedure pointer or an allocatable variable" } + allocate(x) ! { dg-error "is neither a nonprocedure pointer nor an allocatable variable" } end diff --git a/gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 b/gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 index 327f28d..54ed109 100644 --- a/gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 +++ b/gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 @@ -21,7 +21,7 @@ subroutine not_an_f03_intrinsic allocate(real*8 :: y(1)) ! { dg-error "Invalid type-spec at" } allocate(real*4 :: x8) ! { dg-error "Invalid type-spec at" } allocate(real*4 :: y8(1)) ! { dg-error "Invalid type-spec at" } - allocate(double complex :: d1) ! { dg-error "not a nonprocedure pointer or an allocatable" } + allocate(double complex :: d1) ! { dg-error "neither a nonprocedure pointer nor an allocatable" } allocate(real_type :: b) allocate(real_type :: c(1)) diff --git a/gcc/testsuite/gfortran.dg/deallocate_alloc_opt_1.f90 b/gcc/testsuite/gfortran.dg/deallocate_alloc_opt_1.f90 index 5c00741..969ce25 100644 --- a/gcc/testsuite/gfortran.dg/deallocate_alloc_opt_1.f90 +++ b/gcc/testsuite/gfortran.dg/deallocate_alloc_opt_1.f90 @@ -24,7 +24,7 @@ program a deallocate(i, errmsg=err) ! { dg-warning "useless without a STAT" } deallocate(i, stat=j, errmsg=x) ! { dg-error "must be a scalar CHARACTER" } - deallocate(err) ! { dg-error "nonprocedure pointer or an allocatable" } + deallocate(err) ! { dg-error "nonprocedure pointer nor an allocatable" } deallocate(error,stat=j,errmsg=error(1)) ! { dg-error "shall not be DEALLOCATEd within" } deallocate(i, stat = i(1)) ! { dg-error "shall not be DEALLOCATEd within" } -- 2.7.4