diff options
author | dfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-10 18:25:56 +0000 |
---|---|---|
committer | dfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-10 18:25:56 +0000 |
commit | d1c662df00eb4568c99b0fa8e2307370ae01c615 (patch) | |
tree | c45163db1acd0734941abf9bd96a618ecb834a6b /gcc/fortran/interface.c | |
parent | 04e5ac1ad1b1da8816408483ed3364dde1ffad82 (diff) | |
download | gcc-d1c662df00eb4568c99b0fa8e2307370ae01c615.tar.gz |
gcc/fortran/:
2010-06-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44457
* interface.c (compare_actual_formal): Reject actual arguments with
array subscript passed to ASYNCHRONOUS dummys.
gcc/testsuite/:
2010-06-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/44457
* gfortran.dg/asynchronous_3.f03
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160567 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 379c636d695..284622f05e0 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -2133,13 +2133,15 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, if ((f->sym->attr.intent == INTENT_OUT || f->sym->attr.intent == INTENT_INOUT - || f->sym->attr.volatile_) + || f->sym->attr.volatile_ + || f->sym->attr.asynchronous) && gfc_has_vector_subscript (a->expr)) { if (where) - gfc_error ("Array-section actual argument with vector subscripts " - "at %L is incompatible with INTENT(OUT), INTENT(INOUT) " - "or VOLATILE attribute of the dummy argument '%s'", + gfc_error ("Array-section actual argument with vector " + "subscripts at %L is incompatible with INTENT(OUT), " + "INTENT(INOUT), VOLATILE or ASYNCHRONOUS attribute " + "of the dummy argument '%s'", &a->expr->where, f->sym->name); return 0; } |