public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/49397] New: ICE with proc pointer assignment
@ 2011-06-13 21:46 burnus at gcc dot gnu.org
  2011-06-14  8:28 ` [Bug fortran/49397] " burnus at gcc dot gnu.org
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-06-13 21:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

           Summary: ICE with proc pointer assignment
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: janus@gcc.gnu.org


Let's claim the following code is valid.

Cf. Intepretation Request J3/11-198 at
http://j3-fortran.org/doc/meeting/195/11-198.txt

Without the "print *, f()" line, it is rejected with:
      p => f                           ! (1)
           1
Error: Invalid procedure pointer assignment at (1)

But with the line, one gets:
test.f90: In function 's':
test.f90:2:0: internal compiler error: in build_function_decl, at
fortran/trans-decl.c:1778


  Program m5
    Print *,f()
!    Call s
  Contains
    Subroutine s
      Procedure(Real),Pointer :: p
!      Print *,g()
      p => f                           ! (1)
!      Print *,p()
!     p => g                           ! (2)
!     Print *,p()
    End Subroutine
  End Program
  Function f()
    f = 1
  End Function
  Function g()
    g = 2
  End Function


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
@ 2011-06-14  8:28 ` burnus at gcc dot gnu.org
  2013-06-10 16:39 ` [Bug fortran/49397] [F03] " dominiq at lps dot ens.fr
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-06-14  8:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-06-14 08:27:44 UTC ---
More information:

* (2): Case "g" works: If the "print *, g()" as the "p => g" is in the same
  scoping unit, there is no error or ICE.
* (1) If the "print *, f" is in the host of "p => f", there is an ICE.
* (example (3) works - thus not shown, cf. IR 11-198).

My impression is that the error message is OK, but that the assert is wrong. If
you change the assert, please make sure it works also with additional nesting
due to BLOCK (cf. PR 49400).

The failing assert is:

1774   /* Allow only one nesting level.  Allow public declarations.  */
1775   gcc_assert (current_function_decl == NULL_TREE
1776               || DECL_FILE_SCOPE_P (current_function_decl)
1777               || (TREE_CODE (DECL_CONTEXT (current_function_decl))
1778                   == NAMESPACE_DECL));


The check leading to the error message is generated in
gfc_check_pointer_assign:

3349       attr = gfc_expr_attr (rvalue);
3350       if (!((rvalue->expr_type == EXPR_NULL)
3351             || (rvalue->expr_type == EXPR_FUNCTION && attr.proc_pointer)
3352             || (rvalue->expr_type == EXPR_VARIABLE && attr.proc_pointer)
3353             || (rvalue->expr_type == EXPR_VARIABLE
3354                 && attr.flavor == FL_PROCEDURE)))
3355         {
3356           gfc_error ("Invalid procedure pointer assignment at %L",
3357                      &rvalue->where);
3358           return FAILURE;
3359         }


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
  2011-06-14  8:28 ` [Bug fortran/49397] " burnus at gcc dot gnu.org
@ 2013-06-10 16:39 ` dominiq at lps dot ens.fr
  2013-12-11 12:06 ` janus at gcc dot gnu.org
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-06-10 16:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-06-10
     Ever confirmed|0                           |1

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Still present at revision 199873.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
  2011-06-14  8:28 ` [Bug fortran/49397] " burnus at gcc dot gnu.org
  2013-06-10 16:39 ` [Bug fortran/49397] [F03] " dominiq at lps dot ens.fr
@ 2013-12-11 12:06 ` janus at gcc dot gnu.org
  2013-12-11 13:12 ` janus at gcc dot gnu.org
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-11 12:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #3 from janus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #0)
> Let's claim the following code is valid.
> 
> Cf. Intepretation Request J3/11-198 at
> http://j3-fortran.org/doc/meeting/195/11-198.txt

Btw, the IR confirmed that the code is valid.

The relevant standard quote is F08:C729, which was:

"A procedure-name shall be the name of an internal, module, or dummy procedure,
a procedure pointer, an external procedure that is accessed by use or host
association and is referenced in the scoping unit as a procedure or that has
the EXTERNAL attribute, or a specific intrinsic function listed in 13.6 and not
marked with a bullet."

But, according to the IR should be changed to:

"A procedure-name shall be the name of an internal, module, or dummy procedure,
a procedure pointer, a specific intrinsic function listed in 13.6 and not
marked with a bullet, or an external procedure that is accessed by use or host
association, referenced in the scoping unit as a procedure, or that has the
EXTERNAL attribute".


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-12-11 12:06 ` janus at gcc dot gnu.org
@ 2013-12-11 13:12 ` janus at gcc dot gnu.org
  2013-12-11 14:14 ` [Bug fortran/49397] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-11 13:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|rejects-valid               |

--- Comment #4 from janus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #0)
> Without the "print *, f()" line, it is rejected with:
>       p => f                           ! (1)
>            1
> Error: Invalid procedure pointer assignment at (1)

This error message is gone since 4.8 (which is good, since the code is supposed
to be valid.

With 4.8 and trunk, unfortunately, both variants give the same ICE.


> But with the line, one gets:
> test.f90: In function 's':
> test.f90:2:0: internal compiler error: in build_function_decl, at
> fortran/trans-decl.c:1778

Note that the ICE does not occur with 4.4.7, but it does at least with 4.6 on
upwards (regression!). Have not checked 4.5.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2013-12-11 13:12 ` janus at gcc dot gnu.org
@ 2013-12-11 14:14 ` janus at gcc dot gnu.org
  2013-12-11 14:34 ` janus at gcc dot gnu.org
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-11 14:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[F03] ICE with proc pointer |[4.7/4.8/4.9 Regression]
                   |assignment                  |[F03] ICE with proc pointer
                   |                            |assignment

--- Comment #5 from janus at gcc dot gnu.org ---
Here is a reduced test case for the ICE:


  Print *,f()
Contains
  Subroutine s
    Procedure(Real),Pointer :: p
    p => f 
  End Subroutine
End


No ICE with 4.4 and 4.5, but only with 4.6 and higher. Marking as regression.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2013-12-11 14:14 ` [Bug fortran/49397] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
@ 2013-12-11 14:34 ` janus at gcc dot gnu.org
  2013-12-11 14:41 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-11 14:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #6 from janus at gcc dot gnu.org ---
The ICE is probably due to this commit:

http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=164928


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2013-12-11 14:34 ` janus at gcc dot gnu.org
@ 2013-12-11 14:41 ` rguenth at gcc dot gnu.org
  2013-12-11 14:42 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-12-11 14:41 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.7.4


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2013-12-11 14:41 ` rguenth at gcc dot gnu.org
@ 2013-12-11 14:42 ` rguenth at gcc dot gnu.org
  2014-01-30 23:49 ` burnus at gcc dot gnu.org
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-12-11 14:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
1776               || DECL_FILE_SCOPE_P (current_function_decl)

also matches TRANSLATION_UNIT_DECL.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2013-12-11 14:42 ` rguenth at gcc dot gnu.org
@ 2014-01-30 23:49 ` burnus at gcc dot gnu.org
  2014-01-31  0:10 ` burnus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-01-30 23:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic,
                   |                            |ice-on-invalid-code

--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> ---
 (In reply to Tobias Burnus from comment #0)
> Cf. Intepretation Request J3/11-198 at
> http://j3-fortran.org/doc/meeting/195/11-198.txt

That became Interpretation Request F08/0060 - see
http://j3-fortran.org/doc/year/13/13-006A.txt; passed all ballots and is part
of Fortran 2008 Corr. 2.


(In reply to janus from comment #5)
> Here is a reduced test case for the ICE:
>   Print *,f()
> Contains
>   Subroutine s
>     Procedure(Real),Pointer :: p
>     p => f 
>   End Subroutine
> End

The problem seems to be that "f" is not marked as external. That's fixed by the
patch below. [ICE on VALID CODE]


However, the following code still ICEs:

Contains
  Subroutine s
    Procedure(Real),Pointer :: p
    p => g
  End Subroutine
End

That's invalid (C729: "... or an external procedure that is accessed by use or
host association, referenced in the scoping unit as a procedure, or that has
the EXTERNAL attribute".)

Thus, we need to issue an error in this case. (ICE on INVALID) - it currently
ICEs even with the patch below.


--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -2872,4 +2872,8 @@ resolve_function (gfc_expr *expr)
   if (sym && is_external_proc (sym))
-    resolve_global_procedure (sym, &expr->where,
-                  &expr->value.function.actual, 0);
+    {
+      resolve_global_procedure (sym, &expr->where,
+                &expr->value.function.actual, 0);
+      if (sym->attr.if_source == IFSRC_UNKNOWN)
+    sym->attr.external = 1;
+    }


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2014-01-30 23:49 ` burnus at gcc dot gnu.org
@ 2014-01-31  0:10 ` burnus at gcc dot gnu.org
  2014-02-18 20:44 ` burnus at gcc dot gnu.org
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-01-31  0:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #9 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #8)
> However, the following code still ICEs:

That's fixed by the following patch.

--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -3583,2 +3583,12 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr

+      /* Check F2008Cor2, C729.  */
+      if (!s2->attr.intrinsic && s2->attr.if_source == IFSRC_UNKNOWN
+      && !s2->attr.external && !s2->attr.subroutine && !s2->attr.function)
+    {
+      gfc_error ("Procedure pointer target '%s' at %L must be either an "
+             "intrinsic, host or use associated, referenced or have "
+             "the EXTERNAL attribute", s2->name, &rvalue->where);
+      return false;
+    }
+
       return true;


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2014-01-31  0:10 ` burnus at gcc dot gnu.org
@ 2014-02-18 20:44 ` burnus at gcc dot gnu.org
  2014-02-18 22:10 ` burnus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-02-18 20:44 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |burnus at gcc dot gnu.org

--- Comment #10 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Patch http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01065.html


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2014-02-18 20:44 ` burnus at gcc dot gnu.org
@ 2014-02-18 22:10 ` burnus at gcc dot gnu.org
  2014-02-18 22:17 ` janus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-02-18 22:10 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Tue Feb 18 22:09:39 2014
New Revision: 207854

URL: http://gcc.gnu.org/viewcvs?rev=207854&root=gcc&view=rev
Log:
2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * expr.c (gfc_check_pointer_assign): Add check for
        F2008Cor2, C729.
        * trans-decl.c (gfc_get_symbol_decl): Correctly generate
        * external
        decl in a corner case.

2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * gfortran.dg/proc_ptr_45.f90: New.
        * gfortran.dg/proc_ptr_46.f90: New.


Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2014-02-18 22:10 ` burnus at gcc dot gnu.org
@ 2014-02-18 22:17 ` janus at gcc dot gnu.org
  2014-02-18 22:29 ` burnus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-18 22:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #12 from janus at gcc dot gnu.org ---
(In reply to Tobias Burnus from comment #11)
> Modified:
>     trunk/gcc/fortran/ChangeLog
>     trunk/gcc/fortran/expr.c
>     trunk/gcc/fortran/trans-decl.c
>     trunk/gcc/testsuite/ChangeLog

Seems like you forgot to "svn add" the test cases?


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2014-02-18 22:17 ` janus at gcc dot gnu.org
@ 2014-02-18 22:29 ` burnus at gcc dot gnu.org
  2014-02-19 23:33 ` burnus at gcc dot gnu.org
  2014-02-19 23:53 ` burnus at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-02-18 22:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Tue Feb 18 22:29:00 2014
New Revision: 207855

URL: http://gcc.gnu.org/viewcvs?rev=207855&root=gcc&view=rev
Log:
Really add the new testsuite files missing from commit r207854

2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * gfortran.dg/proc_ptr_45.f90: New.
        * gfortran.dg/proc_ptr_46.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/proc_ptr_45.f90
    trunk/gcc/testsuite/gfortran.dg/proc_ptr_46.f90


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2014-02-18 22:29 ` burnus at gcc dot gnu.org
@ 2014-02-19 23:33 ` burnus at gcc dot gnu.org
  2014-02-19 23:53 ` burnus at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-02-19 23:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

--- Comment #14 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Wed Feb 19 23:32:46 2014
New Revision: 207927

URL: http://gcc.gnu.org/viewcvs?rev=207927&root=gcc&view=rev
Log:
2014-02-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * expr.c (gfc_check_pointer_assign): Add check for
        F2008Cor2, C729.
        * trans-decl.c (gfc_get_symbol_decl): Correctly generate
        external decl in a corner case.

2014-02-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * gfortran.dg/proc_ptr_45.f90: New.
        * gfortran.dg/proc_ptr_46.f90: New.


Added:
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/proc_ptr_45.f90
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/proc_ptr_46.f90
Modified:
    branches/gcc-4_8-branch/gcc/fortran/ChangeLog
    branches/gcc-4_8-branch/gcc/fortran/expr.c
    branches/gcc-4_8-branch/gcc/fortran/trans-decl.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug fortran/49397] [4.7/4.8/4.9 Regression] [F03] ICE with proc pointer assignment
  2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2014-02-19 23:33 ` burnus at gcc dot gnu.org
@ 2014-02-19 23:53 ` burnus at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2014-02-19 23:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49397

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|4.7.4                       |4.8.3

--- Comment #15 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Fixed on the trunk (4.9) and on the 4.8 branch.

For 4.7, the valid test case fails due to other bugs. Thus, I decided it is not
worthwhile to adapt the patch for 4.7.

Hence, I close this bug as FIXED.


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-02-19 23:53 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-13 21:46 [Bug fortran/49397] New: ICE with proc pointer assignment burnus at gcc dot gnu.org
2011-06-14  8:28 ` [Bug fortran/49397] " burnus at gcc dot gnu.org
2013-06-10 16:39 ` [Bug fortran/49397] [F03] " dominiq at lps dot ens.fr
2013-12-11 12:06 ` janus at gcc dot gnu.org
2013-12-11 13:12 ` janus at gcc dot gnu.org
2013-12-11 14:14 ` [Bug fortran/49397] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
2013-12-11 14:34 ` janus at gcc dot gnu.org
2013-12-11 14:41 ` rguenth at gcc dot gnu.org
2013-12-11 14:42 ` rguenth at gcc dot gnu.org
2014-01-30 23:49 ` burnus at gcc dot gnu.org
2014-01-31  0:10 ` burnus at gcc dot gnu.org
2014-02-18 20:44 ` burnus at gcc dot gnu.org
2014-02-18 22:10 ` burnus at gcc dot gnu.org
2014-02-18 22:17 ` janus at gcc dot gnu.org
2014-02-18 22:29 ` burnus at gcc dot gnu.org
2014-02-19 23:33 ` burnus at gcc dot gnu.org
2014-02-19 23:53 ` burnus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).