mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/35031 (ELEMENTAL procedure with BIND(C))
2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/35031 * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby mis-indentation. 2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/35031 * gfortran.dg/pr35031.f90: new test. From-SVN: r267864
This commit is contained in:
parent
e334d7a702
commit
89508a3fc6
|
|
@ -1,3 +1,9 @@
|
|||
2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/35031
|
||||
* decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby
|
||||
mis-indentation.
|
||||
|
||||
2019-01-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/85956
|
||||
|
|
|
|||
|
|
@ -7431,9 +7431,11 @@ gfc_match_entry (void)
|
|||
gfc_error ("Missing required parentheses before BIND(C) at %C");
|
||||
return MATCH_ERROR;
|
||||
}
|
||||
if (!gfc_add_is_bind_c (&(entry->attr), entry->name,
|
||||
&(entry->declared_at), 1))
|
||||
return MATCH_ERROR;
|
||||
|
||||
if (!gfc_add_is_bind_c (&(entry->attr), entry->name,
|
||||
&(entry->declared_at), 1))
|
||||
return MATCH_ERROR;
|
||||
|
||||
}
|
||||
|
||||
if (!gfc_current_ns->parent
|
||||
|
|
@ -7517,6 +7519,14 @@ gfc_match_entry (void)
|
|||
return MATCH_ERROR;
|
||||
}
|
||||
|
||||
/* F2018:C1546 An elemental procedure shall not have the BIND attribute. */
|
||||
if (proc->attr.elemental && entry->attr.is_bind_c)
|
||||
{
|
||||
gfc_error ("ENTRY statement at %L with BIND(C) prohibited in an "
|
||||
"elemental procedure", &entry->declared_at);
|
||||
return MATCH_ERROR;
|
||||
}
|
||||
|
||||
entry->attr.recursive = proc->attr.recursive;
|
||||
entry->attr.elemental = proc->attr.elemental;
|
||||
entry->attr.pure = proc->attr.pure;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/35031
|
||||
* gfortran.dg/pr35031.f90: new test.
|
||||
|
||||
2019-01-11 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/88692, c++/87882 - -Wredundant-move false positive with *this.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
! { dg-do compile }
|
||||
elemental subroutine sub2(x)
|
||||
integer, intent(in) :: x
|
||||
entry sub2_c(x) bind(c) ! { dg-error "prohibited in an elemental" }
|
||||
end subroutine sub2
|
||||
|
||||
elemental function func2(x)
|
||||
integer, intent(in) :: x
|
||||
entry func2_c(x) bind(c) ! { dg-error "prohibited in an elemental" }
|
||||
end function func2
|
||||
Loading…
Reference in New Issue