diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f488afc37bb7725a848f802c77c5f9dc4faebaa7..0234bede6f2d3aec477f84a3c7fbd15bed7c2949 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2012-03-03 Tobias Burnus <burnus@net-b.de> + + PR fortran/48820 + * resolve.c (resolve_actual_arglist): Properly reset + assumed_type_expr_allowed. + 2012-03-03 Tobias Burnus <burnus@net-b.de> * lang.opt (Wc-binding-type): New flag. diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 618c6f56c8c08ae3d5ab0676686207388b4d08c9..b63a0c69e6a6e452fd2f52b7a8745dba3e518c98 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1833,7 +1833,7 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype, return FAILURE; } } - assumed_type_expr_allowed = true; + assumed_type_expr_allowed = false; return SUCCESS; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a4275d9d8674757f8a0e1a3badecc383cebf89c6..090be6120aac49f9f37088db3197228b2b335c01 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-03-03 Tobias Burnus <burnus@net-b.de> + + PR fortran/48820 + * gfortran.dg/assumed_type_3.f90: Undo previous commit. + 2012-03-03 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bind_c_dts_4.f03: Add dg-options -Wc-binding-type. diff --git a/gcc/testsuite/gfortran.dg/assumed_type_3.f90 b/gcc/testsuite/gfortran.dg/assumed_type_3.f90 index 15619ce1b95d049347c91cfe0c491c4ec1d443fd..d88da34cf822955a383c209522bfbb3aa44a1596 100644 --- a/gcc/testsuite/gfortran.dg/assumed_type_3.f90 +++ b/gcc/testsuite/gfortran.dg/assumed_type_3.f90 @@ -5,11 +5,6 @@ ! ! Test TYPE(*) -subroutine fourteen(x) - type(*) :: x - x = x ! { dg-error "Invalid expression with assumed-type variable" } -end subroutine fourteen - subroutine one(a) ! { dg-error "may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute" } type(*), value :: a end subroutine one @@ -118,4 +113,7 @@ subroutine thirteen(x, y) print *, ubound(y, dim=x) ! { dg-error "must be INTEGER" } end subroutine thirteen - +subroutine fourteen(x) + type(*) :: x + x = x ! { dg-error "Invalid expression with assumed-type variable" } +end subroutine fourteen