public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/30660]  New: Allocatable components of a derived type "require" the SAVE attribute.
@ 2007-01-31 21:34 toon at moene dot indiv dot nluug dot nl
  2007-01-31 21:38 ` [Bug fortran/30660] " toon at moene dot indiv dot nluug dot nl
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: toon at moene dot indiv dot nluug dot nl @ 2007-01-31 21:34 UTC (permalink / raw)
  To: gcc-bugs

The attached code draws the following, bogus, error message from the compiler:

$ /usr/snp/bin/gfortran -c globals.f90
globals.f90:37.24:

  TYPE(weight_t) g_winfo ! weights info
                       1
Error: Object 'g_winfo' at (1) must have the SAVE attribute for default
initialization of a component
globals.f90:36.21:

  TYPE(grib_t) g_dest  ! output field
                    1
Error: Object 'g_dest' at (1) must have the SAVE attribute for default
initialization of a component

It's related to the allocatable components of said types.


-- 
           Summary: Allocatable components of a derived type "require" the
                    SAVE attribute.
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: toon at moene dot indiv dot nluug dot nl


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
@ 2007-01-31 21:38 ` toon at moene dot indiv dot nluug dot nl
  2007-02-02 13:14 ` pault at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: toon at moene dot indiv dot nluug dot nl @ 2007-01-31 21:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from toon at moene dot indiv dot nluug dot nl  2007-01-31 21:37 -------
I can't attach the source file, so I reproduce it here:

MODULE types_m
  INTEGER,PRIVATE,PARAMETER :: MXLEN = 2024, MXKEYS = 50, MXGRIBFLDS = 1000,
MXFIN = 2

  TYPE coord_t
    INTEGER ncord
    REAL,ALLOCATABLE,DIMENSION(:) :: x, y
  END TYPE

  TYPE weight_t
    INTEGER id
    CHARACTER(LEN=128) :: fname
    LOGICAL set, init
    INTEGER ksec2in(60), ksec2out(60)
    REAL psec2in(60), psec2out(60)
    INTEGER wdim
    INTEGER offset(16)
    INTEGER,ALLOCATABLE,DIMENSION(:) :: gridpts
    REAL,ALLOCATABLE,DIMENSION(:,:) :: weights
    REAL,ALLOCATABLE,DIMENSION(:) :: rotX, rotY, rotAngle
    LOGICAL rotatedComp
  END TYPE

  TYPE grib_t
    INTEGER ksec0(2), ksec1(64), ksec2(64), ksec3(2), ksec4(64)
    REAL psec2(512), psec3(3)
    LOGICAL packed ! if packed then the data are stored in g_work
    INTEGER npts
    REAL,DIMENSION(:),ALLOCATABLE :: vdata
    TYPE(coord_t) coords
  END TYPE

END MODULE

MODULE globals_m
  USE types_m
  TYPE(grib_t) g_dest           ! output field
  TYPE(weight_t) g_winfo        ! weights info
END MODULE

Hope this helps.


-- 


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
  2007-01-31 21:38 ` [Bug fortran/30660] " toon at moene dot indiv dot nluug dot nl
@ 2007-02-02 13:14 ` pault at gcc dot gnu dot org
  2007-02-02 16:15 ` pault at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-02 13:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pault at gcc dot gnu dot org  2007-02-02 13:14 -------
MODULE types_m
  TYPE grib_t
    REAL,DIMENSION(:),ALLOCATABLE :: vdata
  END TYPE
END MODULE

MODULE globals_m
  USE types_m
  TYPE(grib_t) g_dest           ! output field
END MODULE

Is all that is needed to trigger the fault.  I introduced the code that
generates the error but it looks to me as if it has been "touched" since.

Can you work around by giving the variables the SAVE attribute?

Paul


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-02-02 13:14:05
               date|                            |


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
  2007-01-31 21:38 ` [Bug fortran/30660] " toon at moene dot indiv dot nluug dot nl
  2007-02-02 13:14 ` pault at gcc dot gnu dot org
@ 2007-02-02 16:15 ` pault at gcc dot gnu dot org
  2007-02-03 12:46 ` fxcoudert at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-02 16:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2007-02-02 16:15 -------
This does the right thing and does not break anything.  However, it is still
not quite the definitive fix - it is not right for derived type components and
gfc_default_initializer now does not look right. I'll need a few days on this
one.

Paul

Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c       (revision 121497)
--- gcc/fortran/resolve.c       (working copy)
*************** resolve_fl_variable (gfc_symbol *sym, in
*** 5534,5540 ****
    int flag;
    int i;
    gfc_expr *e;
!   gfc_expr *constructor_expr;
    const char *auto_save_msg;

    auto_save_msg = "automatic object '%s' at %L cannot have the "
--- 5534,5540 ----
    int flag;
    int i;
    gfc_expr *e;
!   gfc_component *c;
    const char *auto_save_msg;

    auto_save_msg = "automatic object '%s' at %L cannot have the "
*************** resolve_fl_variable (gfc_symbol *sym, in
*** 5668,5685 ****
        }
      }

    /* 4th constraint in section 11.3:  "If an object of a type for which
       component-initialization is specified (R429) appears in the
       specification-part of a module and does not have the ALLOCATABLE
       or POINTER attribute, the object shall have the SAVE attribute."  */

!   constructor_expr = NULL;
!   if (sym->ts.type == BT_DERIVED && !(sym->value || flag))
!     constructor_expr = gfc_default_initializer (&sym->ts);
! 
!   if (sym->ns->proc_name
        && sym->ns->proc_name->attr.flavor == FL_MODULE
-       && constructor_expr
        && !sym->ns->save_all && !sym->attr.save
        && !sym->attr.pointer && !sym->attr.allocatable)
      {
--- 5668,5689 ----
        }
      }

+   /* Do not use gfc_default_initializer to test for a default initializer
+      in the fortran because it generates a hidden default for allocatable
+      components.  TODO - clean this up. */
+   c = NULL;
+   if (sym->ts.type == BT_DERIVED && !(sym->value || flag))
+     for (c = sym->ts.derived->components; c; c = c->next)
+       if (c->initializer)
+       break;
+ 
    /* 4th constraint in section 11.3:  "If an object of a type for which
       component-initialization is specified (R429) appears in the
       specification-part of a module and does not have the ALLOCATABLE
       or POINTER attribute, the object shall have the SAVE attribute."  */

!   if (c && sym->ns->proc_name
        && sym->ns->proc_name->attr.flavor == FL_MODULE
        && !sym->ns->save_all && !sym->attr.save
        && !sym->attr.pointer && !sym->attr.allocatable)
      {


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pault at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-02-02 13:14:05         |2007-02-02 16:15:26
               date|                            |


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (2 preceding siblings ...)
  2007-02-02 16:15 ` pault at gcc dot gnu dot org
@ 2007-02-03 12:46 ` fxcoudert at gcc dot gnu dot org
  2007-02-03 13:39 ` pault at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-02-03 12:46 UTC (permalink / raw)
  To: gcc-bugs



-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch, rejects-valid
      Known to fail|                            |4.3.0 4.2.0
   Target Milestone|---                         |4.2.0


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (3 preceding siblings ...)
  2007-02-03 12:46 ` fxcoudert at gcc dot gnu dot org
@ 2007-02-03 13:39 ` pault at gcc dot gnu dot org
  2007-02-04 13:17 ` [Bug fortran/30660] [4.2 and 4.1 only] " toon at moene dot indiv dot nluug dot nl
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-03 13:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2007-02-03 13:38 -------
Subject: Bug 30660

Author: pault
Date: Sat Feb  3 13:38:42 2007
New Revision: 121541

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=121541
Log:
2007-02-03  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/30514
        * array.c (match_array_element_spec): If the length of an array is
        negative, adjust the upper limit to make it zero length.

        PR fortran/30660
        * resolve.c (pure_function, resolve_function): Initialize name to
        null to clear up build warnings.
        (resolve_fl_variable): Look at components explicitly to check for
        default initializer, rather than using gfc_default_initializer.

2007-02-03  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/30514
        * gfortran.dg/zero_sized_2.f90: New test.

        PR fortran/30660
        * gfortran.dg/alloc_comp_basics_4.f90: New test.

        PR fortran/29820
        * gfortran.dg/actual_array_interface_1.f90: Copy source to empty
        file.



Added:
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90
    trunk/gcc/testsuite/gfortran.dg/zero_sized_2.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/array.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/actual_array_interface_1.f90


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (4 preceding siblings ...)
  2007-02-03 13:39 ` pault at gcc dot gnu dot org
@ 2007-02-04 13:17 ` toon at moene dot indiv dot nluug dot nl
  2007-02-05  9:37 ` paulthomas2 at wanadoo dot fr
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: toon at moene dot indiv dot nluug dot nl @ 2007-02-04 13:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from toon at moene dot indiv dot nluug dot nl  2007-02-04 13:17 -------
It's not completely fixed yet, though.

The following:

MODULE types_m

  TYPE coord_t
    INTEGER ncord
    REAL,ALLOCATABLE,DIMENSION(:) :: x, y
  END TYPE

  TYPE grib_t
    INTEGER ksec0(2), ksec1(64), ksec2(64), ksec3(2), ksec4(64)
    REAL psec2(512), psec3(3)
    LOGICAL packed ! if packed then the data are stored in g_work
    INTEGER npts
    REAL,DIMENSION(:),ALLOCATABLE :: vdata
    TYPE(coord_t) coords
  END TYPE

END MODULE

MODULE globals_m
  USE types_m
  TYPE(grib_t) g_dest           ! output field
END MODULE

still fails with:

globals.f90:21.21:

  TYPE(grib_t) g_dest  ! output field
                    1
Error: Object 'g_dest' at (1) must have the SAVE attribute for default
initialization of a component

probably because of the nested nature of the allocatable component in coord_t.

Hope this helps.


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (5 preceding siblings ...)
  2007-02-04 13:17 ` [Bug fortran/30660] [4.2 and 4.1 only] " toon at moene dot indiv dot nluug dot nl
@ 2007-02-05  9:37 ` paulthomas2 at wanadoo dot fr
  2007-02-11  9:57 ` pault at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: paulthomas2 at wanadoo dot fr @ 2007-02-05  9:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from paulthomas2 at wanadoo dot fr  2007-02-05 09:37 -------
Subject: Re:  [4.2 and 4.1 only] Allocatable components
 of a derived type "require" the SAVE attribute.

toon,
>                     1
> Error: Object 'g_dest' at (1) must have the SAVE attribute for default
> initialization of a component
>
> probably because of the nested nature of the allocatable component in coord_t.
>
> Hope this helps.
>   
Bother! Paul


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (6 preceding siblings ...)
  2007-02-05  9:37 ` paulthomas2 at wanadoo dot fr
@ 2007-02-11  9:57 ` pault at gcc dot gnu dot org
  2007-02-17 22:42 ` pault at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-11  9:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pault at gcc dot gnu dot org  2007-02-11 09:56 -------
Toon,

This is the next job on my list - I have an opportunity to work on it tonight. 
I have a patch that mostly works but does something very peculiar for a couple
of the testcase - the compiler just stops; no errors; no ICE; nothing;
niente....

Paul


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (7 preceding siblings ...)
  2007-02-11  9:57 ` pault at gcc dot gnu dot org
@ 2007-02-17 22:42 ` pault at gcc dot gnu dot org
  2007-02-19 21:02 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-17 22:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pault at gcc dot gnu dot org  2007-02-17 22:42 -------
This works and regtests OK:

Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c       (revision 121864)
--- gcc/fortran/resolve.c       (working copy)
*************** resolve_fl_var_and_proc (gfc_symbol *sym
*** 5529,5534 ****
--- 5529,5549 ----
  }


+ static gfc_component *
+ has_default_initializer (gfc_symbol *der)
+ {
+   gfc_component *c;
+   for (c = der->components; c; c = c->next)
+     if ((c->ts.type != BT_DERIVED && c->initializer)
+         || (c->ts.type == BT_DERIVED
+               && !c->pointer
+               && has_default_initializer (c->ts.derived)))
+       break;
+ 
+   return c;
+ }
+ 
+ 
  /* Resolve symbols with flavor variable.  */

  static try
*************** resolve_fl_variable (gfc_symbol *sym, in
*** 5676,5684 ****
       components.  */
    c = NULL;
    if (sym->ts.type == BT_DERIVED && !(sym->value || flag))
!     for (c = sym->ts.derived->components; c; c = c->next)
!       if (c->initializer)
!       break;

    /* 4th constraint in section 11.3:  "If an object of a type for which
       component-initialization is specified (R429) appears in the
--- 5691,5697 ----
       components.  */
    c = NULL;
    if (sym->ts.type == BT_DERIVED && !(sym->value || flag))
!     c = has_default_initializer (sym->ts.derived);

    /* 4th constraint in section 11.3:  "If an object of a type for which
       component-initialization is specified (R429) appears in the


I need to think about it - it looks a bit clumsy to me and I need also to think
through compliance with the standard.

Paul


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (8 preceding siblings ...)
  2007-02-17 22:42 ` pault at gcc dot gnu dot org
@ 2007-02-19 21:02 ` mmitchel at gcc dot gnu dot org
  2007-02-22 22:10 ` patchapp at dberlin dot org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-19 21:02 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P5


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (9 preceding siblings ...)
  2007-02-19 21:02 ` mmitchel at gcc dot gnu dot org
@ 2007-02-22 22:10 ` patchapp at dberlin dot org
  2007-02-23 16:35 ` burnus at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: patchapp at dberlin dot org @ 2007-02-22 22:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from patchapp at dberlin dot org  2007-02-22 22:10 -------
Subject: Bug number PR30660

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01848.html


-- 


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


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

* [Bug fortran/30660] [4.2 and 4.1 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (10 preceding siblings ...)
  2007-02-22 22:10 ` patchapp at dberlin dot org
@ 2007-02-23 16:35 ` burnus at gcc dot gnu dot org
  2007-03-01  9:44 ` [Bug fortran/30660] [4.2 " burnus at gcc dot gnu dot org
  2007-03-01  9:45 ` [Bug fortran/30660] " burnus at gcc dot gnu dot org
  13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-02-23 16:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from burnus at gcc dot gnu dot org  2007-02-23 16:35 -------
Subject: Bug 30660

Author: burnus
Date: Fri Feb 23 16:35:25 2007
New Revision: 122263

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122263
Log:
2007-02-23  Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30660
        * resolve.c (has_default_initializer): New function.
        (resolve_fl_variable): Call has_default_initializer to determine if
        the derived type has a default initializer to its ultimate
        components.

2007-02-23  Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30660
        * gfortran.dg/alloc_comp_basics_4.f90: Add component with an
        allocatable component.


Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90


-- 


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


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

* [Bug fortran/30660] [4.2 only] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (11 preceding siblings ...)
  2007-02-23 16:35 ` burnus at gcc dot gnu dot org
@ 2007-03-01  9:44 ` burnus at gcc dot gnu dot org
  2007-03-01  9:45 ` [Bug fortran/30660] " burnus at gcc dot gnu dot org
  13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-03-01  9:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from burnus at gcc dot gnu dot org  2007-03-01 09:44 -------
Subject: Bug 30660

Author: burnus
Date: Thu Mar  1 09:43:53 2007
New Revision: 122427

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122427
Log:
fortran/
2007-03-01  Paul Thomas <pault@gcc.gnu.org>

       Backport from trunk
       PR fortran/30660
       * resolve.c (pure_function, resolve_function): Initialize name to
       null to clear up build warnings.
       (has_default_initializer): New function.
       (resolve_fl_variable): Call has_default_initializer to determine if
       the derived type has a default initializer to its ultimate
       components.

testsuite/
2007-03-01  Paul Thomas <pault@gcc.gnu.org>

       Backport from trunk
       PR fortran/30660
       * gfortran.dg/alloc_comp_basics_4.f90: New test.

       PR fortran/29820
       * gfortran.dg/actual_array_interface_1.f90: Copy source to empty
       file.


Added:
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90
Modified:
    branches/gcc-4_2-branch/gcc/fortran/ChangeLog
    branches/gcc-4_2-branch/gcc/fortran/resolve.c
    branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
   
branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/actual_array_interface_1.f90


-- 


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


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

* [Bug fortran/30660] Allocatable components of a derived type "require" the SAVE attribute.
  2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
                   ` (12 preceding siblings ...)
  2007-03-01  9:44 ` [Bug fortran/30660] [4.2 " burnus at gcc dot gnu dot org
@ 2007-03-01  9:45 ` burnus at gcc dot gnu dot org
  13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2007-03-01  9:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from burnus at gcc dot gnu dot org  2007-03-01 09:45 -------
Backported to 4.2, not part of 4.1 =>  FIXED.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
            Summary|[4.2 only] Allocatable      |Allocatable components of a
                   |components of a derived type|derived type "require" the
                   |"require" the SAVE          |SAVE attribute.
                   |attribute.                  |


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


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

end of thread, other threads:[~2007-03-01  9:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-31 21:34 [Bug fortran/30660] New: Allocatable components of a derived type "require" the SAVE attribute toon at moene dot indiv dot nluug dot nl
2007-01-31 21:38 ` [Bug fortran/30660] " toon at moene dot indiv dot nluug dot nl
2007-02-02 13:14 ` pault at gcc dot gnu dot org
2007-02-02 16:15 ` pault at gcc dot gnu dot org
2007-02-03 12:46 ` fxcoudert at gcc dot gnu dot org
2007-02-03 13:39 ` pault at gcc dot gnu dot org
2007-02-04 13:17 ` [Bug fortran/30660] [4.2 and 4.1 only] " toon at moene dot indiv dot nluug dot nl
2007-02-05  9:37 ` paulthomas2 at wanadoo dot fr
2007-02-11  9:57 ` pault at gcc dot gnu dot org
2007-02-17 22:42 ` pault at gcc dot gnu dot org
2007-02-19 21:02 ` mmitchel at gcc dot gnu dot org
2007-02-22 22:10 ` patchapp at dberlin dot org
2007-02-23 16:35 ` burnus at gcc dot gnu dot org
2007-03-01  9:44 ` [Bug fortran/30660] [4.2 " burnus at gcc dot gnu dot org
2007-03-01  9:45 ` [Bug fortran/30660] " burnus 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).