Commit b59e9071 by Paul Thomas

re PR fortran/52652 (call to gfc_match_asynchronous for allocatable at parse.c line 164)

2012-03-28  Paul Thomas  <pault@gcc.gnu.org>
	Tobias Burnus  <burnus@gcc.gnu.org>

	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  <pault@gcc.gnu.org>
	Tobias Burnus  <burnus@gcc.gnu.org>

	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.


Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>

From-SVN: r185924
parent 32e8bfc3
2012-03-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
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 <jb@gcc.gnu.org>
* gfortran.h (GFC_MAX_LINE): Remove unused macro.
......
......@@ -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;
}
......
......@@ -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;
......
2012-03-28 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
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 <jakub@redhat.com>
PR middle-end/52691
......
......@@ -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" }
......
......@@ -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
......@@ -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))
......
......@@ -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" }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment