public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/28384]  New: ICE on non-existent COMMON block
@ 2006-07-14 19:43 pault at gcc dot gnu dot org
  2006-07-15 13:40 ` [Bug fortran/28384] " tkoenig at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-07-14 19:43 UTC (permalink / raw)
  To: gcc-bugs

The "program"

      save /rbuf_char/
      end

produces:

0x080b503c in translate_common (common=0xa5005c0, var_list=Variable "var_list"
is not available.
)
    at ../../trunk/gcc/fortran/trans-common.c:965
965       if (common_segment->offset != 0)

I propose to fix this directly with

Index: gcc/fortran/trans-common.c
===================================================================
*** gcc/fortran/trans-common.c  (revision 115409)
--- gcc/fortran/trans-common.c  (working copy)
*************** translate_common (gfc_common_head *commo
*** 962,967 ****
--- 962,974 ----
        current_offset += s->length;
      }

+   if (common_segment == NULL)
+     {
+       gfc_error ("COMMON '%s' at %L does not exist",
+                common->name, &common->where);
+       return;
+     }
+
    if (common_segment->offset != 0)
      {
        gfc_warning ("COMMON '%s' at %L requires %d bytes of padding at start",

Paul


-- 
           Summary: ICE on non-existent COMMON block
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pault at gcc dot gnu dot org


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


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

* [Bug fortran/28384] ICE on non-existent COMMON block
  2006-07-14 19:43 [Bug fortran/28384] New: ICE on non-existent COMMON block pault at gcc dot gnu dot org
@ 2006-07-15 13:40 ` tkoenig at gcc dot gnu dot org
  2006-07-16 15:02 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2006-07-15 13:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tkoenig at gcc dot gnu dot org  2006-07-15 13:40 -------

> Index: gcc/fortran/trans-common.c
> ===================================================================
> *** gcc/fortran/trans-common.c  (revision 115409)
> --- gcc/fortran/trans-common.c  (working copy)
> *************** translate_common (gfc_common_head *commo
> *** 962,967 ****
> --- 962,974 ----
>         current_offset += s->length;
>       }
> 
> +   if (common_segment == NULL)
> +     {
> +       gfc_error ("COMMON '%s' at %L does not exist",
> +                common->name, &common->where);
> +       return;
> +     }
> +
>     if (common_segment->offset != 0)
>       {
>         gfc_warning ("COMMON '%s' at %L requires %d bytes of padding at start",
> 

Yes, please go ahead.  Obvious, really :-)

Thomas


-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-07-15 13:40:25
               date|                            |


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


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

* [Bug fortran/28384] ICE on non-existent COMMON block
  2006-07-14 19:43 [Bug fortran/28384] New: ICE on non-existent COMMON block pault at gcc dot gnu dot org
  2006-07-15 13:40 ` [Bug fortran/28384] " tkoenig at gcc dot gnu dot org
@ 2006-07-16 15:02 ` pault at gcc dot gnu dot org
  2006-07-16 17:17 ` pault at gcc dot gnu dot org
  2006-07-16 17:18 ` pault at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-07-16 15:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pault at gcc dot gnu dot org  2006-07-16 15:02 -------
Subject: Bug 28384

Author: pault
Date: Sun Jul 16 15:01:59 2006
New Revision: 115499

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115499
Log:
2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/28384
        * trans-common.c (translate_common): If common_segment is NULL
        emit error that common block does not exist.

        PR fortran/20844
        * io.c (check_io_constraints): It is an error if an ADVANCE
        specifier appears without an explicit format.

        PR fortran/28201
        * resolve.c (resolve_generic_s): For a use_associated function,
        do not search for an alternative symbol in the parent name
        space.

        PR fortran/20893
        * resolve.c (resolve_elemental_actual): New function t combine
        all the checks of elemental procedure actual arguments. In
        addition, check of array valued optional args(this PR) has
        been added.
        (resolve_function, resolve_call): Remove parts that treated
        elemental procedure actual arguments and call the above.

2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/20844
        * gfortran.dg/io_constaints_2.f90: Add the test for ADVANCE
        specifiers requiring an explicit format tag..

        PR fortran/28201
        * gfortran.dg/generic_5: New test.

        PR fortran/20893
        * gfortran.dg/elemental_optional_args_1.f90: New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/elemental_optional_args_1.f90
    trunk/gcc/testsuite/gfortran.dg/generic_5.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/io.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-common.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/io_constraints_2.f90


-- 


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


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

* [Bug fortran/28384] ICE on non-existent COMMON block
  2006-07-14 19:43 [Bug fortran/28384] New: ICE on non-existent COMMON block pault at gcc dot gnu dot org
  2006-07-15 13:40 ` [Bug fortran/28384] " tkoenig at gcc dot gnu dot org
  2006-07-16 15:02 ` pault at gcc dot gnu dot org
@ 2006-07-16 17:17 ` pault at gcc dot gnu dot org
  2006-07-16 17:18 ` pault at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-07-16 17:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2006-07-16 17:17 -------
Subject: Bug 28384

Author: pault
Date: Sun Jul 16 17:17:04 2006
New Revision: 115502

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115502
Log:
2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/28384
        * trans-common.c (translate_common): If common_segment is NULL
        emit error that common block does not exist.

        PR fortran/20844
        * io.c (check_io_constraints): It is an error if an ADVANCE
        specifier appears without an explicit format.

        PR fortran/28201
        * resolve.c (resolve_generic_s): For a use_associated function,
        do not search for an alternative symbol in the parent name
        space.

        PR fortran/20893
        * resolve.c (resolve_elemental_actual): New function t combine
        all the checks of elemental procedure actual arguments. In
        addition, check of array valued optional args(this PR) has
        been added.
        (resolve_function, resolve_call): Remove parts that treated
        elemental procedure actual arguments and call the above.

        PR fortran/28353
        * trans-expr.c (gfc_conv_aliased_arg): Missing formal arg means
        that intent is INOUT (fixes regression).

        PR fortran/25097
        * check.c (check_present): The only permitted reference is a
        full array reference.

        PR fortran/20903
        * decl.c (variable_decl): Add error if a derived type is not
        from the current namespace if the namespace is an interface
        body.

2006-07-16  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/20844
        * gfortran.dg/io_constaints_2.f90: Add the test for ADVANCE
        specifiers requiring an explicit format tag..

        PR fortran/28201
        * gfortran.dg/generic_5: New test.

        PR fortran/20893
        * gfortran.dg/elemental_optional_args_1.f90: New test.

        PR fortran/25097
        * gfortran.dg/present_1.f90: New test.

        PR fortran/20903
        * gfortran.dg/interface_derived_type_1.f90: New test.

Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/elemental_optional_args_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/generic_5.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/interface_derived_type_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/present_1.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/check.c
    branches/gcc-4_1-branch/gcc/fortran/decl.c
    branches/gcc-4_1-branch/gcc/fortran/io.c
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-common.c
    branches/gcc-4_1-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/io_constraints_2.f90


-- 


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


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

* [Bug fortran/28384] ICE on non-existent COMMON block
  2006-07-14 19:43 [Bug fortran/28384] New: ICE on non-existent COMMON block pault at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-07-16 17:17 ` pault at gcc dot gnu dot org
@ 2006-07-16 17:18 ` pault at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-07-16 17:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2006-07-16 17:18 -------
Fixed on trunk and 4.2

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2006-07-16 17:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-14 19:43 [Bug fortran/28384] New: ICE on non-existent COMMON block pault at gcc dot gnu dot org
2006-07-15 13:40 ` [Bug fortran/28384] " tkoenig at gcc dot gnu dot org
2006-07-16 15:02 ` pault at gcc dot gnu dot org
2006-07-16 17:17 ` pault at gcc dot gnu dot org
2006-07-16 17:18 ` pault at gcc dot gnu dot 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).