Commit e6242bc7 by Tobias Burnus Committed by Tobias Burnus

re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * interface.c (compare_parameter): Skip diagnostic if
        actual argument is not an array; rank mismatch is diagnosted later.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.de/coarray_20.f90: New.

From-SVN: r173755
parent 4e4c4f41
...@@ -16,6 +16,12 @@ ...@@ -16,6 +16,12 @@
2011-05-14 Tobias Burnus <burnus@net-b.de> 2011-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* interface.c (compare_parameter): Skip diagnostic if
actual argument is not an array; rank mismatch is diagnosted later.
2011-05-14 Tobias Burnus <burnus@net-b.de>
* options.c (gfc_init_options, gfc_post_options): Enable * options.c (gfc_init_options, gfc_post_options): Enable
-fstack-arrays by default if -Ofast is used. -fstack-arrays by default if -Ofast is used.
* invoke.texi (-fstack-arrays): Document this. * invoke.texi (-fstack-arrays): Document this.
......
...@@ -1618,6 +1618,7 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual, ...@@ -1618,6 +1618,7 @@ compare_parameter (gfc_symbol *formal, gfc_expr *actual,
/* F2008, 12.5.2.8. */ /* F2008, 12.5.2.8. */
if (formal->attr.dimension if (formal->attr.dimension
&& (formal->attr.contiguous || formal->as->type != AS_ASSUMED_SHAPE) && (formal->attr.contiguous || formal->as->type != AS_ASSUMED_SHAPE)
&& gfc_expr_attr (actual).dimension
&& !gfc_is_simply_contiguous (actual, true)) && !gfc_is_simply_contiguous (actual, true))
{ {
if (where) if (where)
......
2011-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.de/coarray_20.f90: New.
2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> 2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/22572 PR fortran/22572
......
! { dg-do compile }
! { dg-options "-fcoarray=single" }
!
! Before a bogus error (argument not simply contiguous)
! was printed instead of the rank mismatch
!
! PR fortran/18918
!
integer :: A[*]
call bar(A) ! { dg-error "Rank mismatch in argument" }
contains
subroutine bar(x)
integer :: x(1)[*]
end subroutine bar
end
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