re PR fortran/71861 ([F03] ICE in write_symbol(): bad module symbol)
fix PR 71861 2019-03-20 Janus Weil <janus@gcc.gnu.org> PR fortran/71861 * symbol.c (check_conflict): ABSTRACT attribute conflicts with INTRINSIC attribute. 2019-03-20 Janus Weil <janus@gcc.gnu.org> PR fortran/71861 * gfortran.dg/interface_abstract_5.f90: New test case. From-SVN: r269827
This commit is contained in:
parent
292a8bbb27
commit
5d2df818b7
|
@ -1,3 +1,9 @@
|
||||||
|
2019-03-20 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/71861
|
||||||
|
* symbol.c (check_conflict): ABSTRACT attribute conflicts with
|
||||||
|
INTRINSIC attribute.
|
||||||
|
|
||||||
2019-03-18 Thomas Koenig <tkoeng@gcc.gnu.org>
|
2019-03-18 Thomas Koenig <tkoeng@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/68009
|
PR fortran/68009
|
||||||
|
|
|
@ -557,6 +557,7 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
|
||||||
|
|
||||||
conf (external, intrinsic);
|
conf (external, intrinsic);
|
||||||
conf (entry, intrinsic);
|
conf (entry, intrinsic);
|
||||||
|
conf (abstract, intrinsic);
|
||||||
|
|
||||||
if ((attr->if_source == IFSRC_DECL && !attr->procedure) || attr->contained)
|
if ((attr->if_source == IFSRC_DECL && !attr->procedure) || attr->contained)
|
||||||
conf (external, subroutine);
|
conf (external, subroutine);
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-03-20 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/71861
|
||||||
|
* gfortran.dg/interface_abstract_5.f90: New test case.
|
||||||
|
|
||||||
2019-03-20 Jakub Jelinek <jakub@redhat.com>
|
2019-03-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR target/89775
|
PR target/89775
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
!
|
||||||
|
! PR 71861: [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol
|
||||||
|
!
|
||||||
|
! Contributed by Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de>
|
||||||
|
|
||||||
|
module m1
|
||||||
|
intrinsic abs
|
||||||
|
abstract interface
|
||||||
|
function abs(x) ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
|
||||||
|
real :: abs, x
|
||||||
|
end
|
||||||
|
end interface
|
||||||
|
end
|
||||||
|
|
||||||
|
module m2
|
||||||
|
abstract interface
|
||||||
|
function abs(x)
|
||||||
|
real :: abs, x
|
||||||
|
end
|
||||||
|
end interface
|
||||||
|
intrinsic abs ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
|
||||||
|
end
|
||||||
|
|
||||||
|
module m3
|
||||||
|
abstract interface
|
||||||
|
function f(x)
|
||||||
|
real :: f, x
|
||||||
|
end
|
||||||
|
end interface
|
||||||
|
intrinsic f ! { dg-error "ABSTRACT attribute conflicts with INTRINSIC attribute" }
|
||||||
|
end
|
Loading…
Reference in New Issue