[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-25 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #13 from janus at gcc dot gnu.org ---
Fixed on trunk and the 7 and 8 branches. Closing.

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-25 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

--- Comment #12 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Mar 25 19:58:04 2019
New Revision: 269922

URL: https://gcc.gnu.org/viewcvs?rev=269922=gcc=rev
Log:
fix PR 71861

2019-03-25  Janus Weil  

PR fortran/71861
* symbol.c (check_conflict): ABSTRACT attribute conflicts with
INTRINSIC attribute.

2019-03-25  Janus Weil  

PR fortran/71861
* gfortran.dg/interface_abstract_5.f90: New test case.

Added:
branches/gcc-7-branch/gcc/testsuite/gfortran.dg/interface_abstract_5.f90
Modified:
branches/gcc-7-branch/gcc/fortran/ChangeLog
branches/gcc-7-branch/gcc/fortran/symbol.c
branches/gcc-7-branch/gcc/testsuite/ChangeLog

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-24 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

--- Comment #11 from janus at gcc dot gnu.org ---
Author: janus
Date: Sun Mar 24 18:08:10 2019
New Revision: 269898

URL: https://gcc.gnu.org/viewcvs?rev=269898=gcc=rev
Log:
fix PR 71861

2019-03-24  Janus Weil  

PR fortran/71861
* symbol.c (check_conflict): ABSTRACT attribute conflicts with
INTRINSIC attribute.

2019-03-24  Janus Weil  

PR fortran/71861
* gfortran.dg/interface_abstract_5.f90: New test case.

Added:
branches/gcc-8-branch/gcc/testsuite/gfortran.dg/interface_abstract_5.f90
Modified:
branches/gcc-8-branch/gcc/fortran/ChangeLog
branches/gcc-8-branch/gcc/fortran/symbol.c
branches/gcc-8-branch/gcc/testsuite/ChangeLog

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-20 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

--- Comment #10 from janus at gcc dot gnu.org ---
Author: janus
Date: Wed Mar 20 21:32:23 2019
New Revision: 269827

URL: https://gcc.gnu.org/viewcvs?rev=269827=gcc=rev
Log:
fix PR 71861

2019-03-20  Janus Weil  

PR fortran/71861
* symbol.c (check_conflict): ABSTRACT attribute conflicts with
INTRINSIC attribute.

2019-03-20  Janus Weil  

PR fortran/71861
* gfortran.dg/interface_abstract_5.f90: New test case.

Added:
trunk/gcc/testsuite/gfortran.dg/interface_abstract_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/symbol.c
trunk/gcc/testsuite/ChangeLog

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|ice-on-valid-code   |ice-on-invalid-code

--- Comment #9 from janus at gcc dot gnu.org ---
(In reply to janus from comment #8)
> I'm about to regtest this ...

No failures observed.

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-19 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |janus at gcc dot gnu.org

--- Comment #8 from janus at gcc dot gnu.org ---
(In reply to kargl from comment #7)
> Does Note 15.2 in F2018 apply?
> 
>An interface body cannot be used to describe the interface of an
>internal procedure, a module procedure that is not a separate module
>procedure, or an intrinsic procedure because the interfaces of such
>procedures are already explicit. However, the name of a procedure
>can appear in a PROCEDURE statement in an interface block (15.4.3.2).

Probably yes. In any case, the test cases are rejected with an INTERFACE that
is not ABSTRACT:

Error: EXTERNAL attribute conflicts with INTRINSIC attribute at (1)


With an ABSTRACT INTERFACE, they can be rejected via:

diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index c342d62ead1..ec753229a98 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -557,6 +557,7 @@ check_conflict (symbol_attribute *attr, const char *name,
locus *where)

   conf (external, intrinsic);
   conf (entry, intrinsic);
+  conf (abstract, intrinsic);

   if ((attr->if_source == IFSRC_DECL && !attr->procedure) || attr->contained)
 conf (external, subroutine);



I'm about to regtest this ...

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-17 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #7 from kargl at gcc dot gnu.org ---
(In reply to Thomas Koenig from comment #6)
> > module m
> >intrinsic abs
> >abstract interface
> >   function abs(x)
> >  real :: abs, x
> >   end
> >end interface
> > end
> 
> I cannot tell if this is legal or not.  How should the compiler
> behave?

Does Note 15.2 in F2018 apply?

   An interface body cannot be used to describe the interface of an
   internal procedure, a module procedure that is not a separate module
   procedure, or an intrinsic procedure because the interfaces of such
   procedures are already explicit. However, the name of a procedure
   can appear in a PROCEDURE statement in an interface block (15.4.3.2).

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2019-03-17 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

Thomas Koenig  changed:

   What|Removed |Added

 CC||tkoenig at gcc dot gnu.org

--- Comment #6 from Thomas Koenig  ---

> module m
>intrinsic abs
>abstract interface
>   function abs(x)
>  real :: abs, x
>   end
>end interface
> end

I cannot tell if this is legal or not.  How should the compiler
behave?

[Bug fortran/71861] [7/8/9 Regression] [F03] ICE in write_symbol(): bad module symbol

2018-12-06 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71861

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|7.4 |7.5