public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/29820]  New: ICE in fold_convert, at fold-const.c:2146
@ 2006-11-13 19:56 anlauf at gmx dot de
  2006-11-13 19:57 ` [Bug fortran/29820] " anlauf at gmx dot de
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: anlauf at gmx dot de @ 2006-11-13 19:56 UTC (permalink / raw)
  To: gcc-bugs

Hi,

the attached code exhibits an ICE:

gfcbug44.f90: In function 'point':
gfcbug44.f90:28: internal compiler error: in fold_convert, at fold-const.c:2146

Cheers,
-ha


-- 
           Summary: ICE in fold_convert, at fold-const.c:2146
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: anlauf at gmx dot de
  GCC host triplet: i686-pc-linux-gnu


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
@ 2006-11-13 19:57 ` anlauf at gmx dot de
  2006-11-13 20:03 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: anlauf at gmx dot de @ 2006-11-13 19:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from anlauf at gmx dot de  2006-11-13 19:57 -------
Created an attachment (id=12611)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12611&action=view)
Demo code provoking ICE


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
  2006-11-13 19:57 ` [Bug fortran/29820] " anlauf at gmx dot de
@ 2006-11-13 20:03 ` pinskia at gcc dot gnu dot org
  2006-11-13 21:19 ` burnus at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-11-13 20:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-11-13 20:03 -------
Here is a shorter testcase:
module geo
  type geodetic
     real :: h
  end type geodetic
end module geo
module gfcbug44
  implicit none
contains
subroutine point ( gp)
  use geo
  type(geodetic),  intent(out) :: gp
  type(geodetic) :: gpx(1)
  gp = gpx(1)
end subroutine point
subroutine plane ()
  use geo
  type(geodetic)  :: gp
  call point ( gp)
end subroutine plane
end module gfcbug44


-- 

pinskia 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         |2006-11-13 20:03:19
               date|                            |


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
  2006-11-13 19:57 ` [Bug fortran/29820] " anlauf at gmx dot de
  2006-11-13 20:03 ` pinskia at gcc dot gnu dot org
@ 2006-11-13 21:19 ` burnus at gcc dot gnu dot org
  2006-11-14  9:50 ` rguenth at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: burnus at gcc dot gnu dot org @ 2006-11-13 21:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from burnus at gcc dot gnu dot org  2006-11-13 21:18 -------
Funny enough, gfortran does not crash when one reverts the order of point and
plane.

Debug information:

In trans-expr.c's gfc_trans_scalar_assign
      gfc_add_block_to_block (&block, &lse->pre);
      gfc_add_block_to_block (&block, &rse->pre);
      gfc_add_modify_expr (&block, lse->expr,
                           fold_convert (TREE_TYPE (lse->expr), rse->expr));

Where TREE_TYPE (lse->expr) and TREE_TYPE (rse->expr) are:
(gdb) p rse->expr->common.type->common.code
$4 = RECORD_TYPE
(gdb) p lse->expr->common.type->common.code
$5 = RECORD_TYPE

And in fold_convert:

fold_convert (tree type, tree arg)
{
  tree orig = TREE_TYPE (arg);
  tree tem;
  if (type == orig)
    return arg;

(gdb) p arg->common.type # TREE_TYPE (arg) == orig
$14 = (tree) 0x2b3117d25c60
(gdb) p type  # type
$15 = (tree) 0x2b3117d25a50

Thus the first "if" does not match. As RECORD_TYPE is not supported (except for
that if), the ICE happens.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
           Keywords|                            |ice-on-valid-code


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (2 preceding siblings ...)
  2006-11-13 21:19 ` burnus at gcc dot gnu dot org
@ 2006-11-14  9:50 ` rguenth at gcc dot gnu dot org
  2006-11-14 21:08 ` pault at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-11-14  9:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2006-11-14 09:50 -------
I'm confused that for

  type geodetic
     real :: h
  end type geodetic

gfortran is using a record type but still goes the scalar assignment path. 
With
gfc_trans_scalar_assign changed to read

      gcc_assert (!AGGREGATE_TYPE_P (TREE_TYPE (lse->expr))
                  || TREE_TYPE (lse->expr) == TREE_TYPE (rse->expr));
      gfc_add_modify_expr (&block, lse->expr,
                           !AGGREGATE_TYPE_P (TREE_TYPE (lse->expr))
                           ? fold_convert (TREE_TYPE (lse->expr), rse->expr)
                           : rse->expr);

we can see that we don't have the required type-unification for geodetic:

(gdb) call debug_tree (lse->expr)
 <indirect_ref 0x2b0877c769c0
    type <record_type 0x2b0877d4ea50 geodetic SF
        size <integer_cst 0x2b0877c6cba0 constant invariant 32>
        unit size <integer_cst 0x2b0877c6c6c0 constant invariant 4>
        align 32 symtab 0 alias set -1
        fields <field_decl 0x2b0877d4ce40 h type <real_type 0x2b0877c87210
real4>
            SF file t.f90 line 9 size <integer_cst 0x2b0877c6cba0 32> unit size
<integer_cst 0x2b0877c6c6c0 4>
            align 32 offset_align 128
            offset <integer_cst 0x2b0877c6c6f0 constant invariant 0>
            bit offset <integer_cst 0x2b0877c842d0 constant invariant 0>
context <record_type 0x2b0877d4ea50 geodetic>>
        reference_to_this <reference_type 0x2b0877d4eb00> chain <type_decl
0x2b0877c91680 D.1330>>

(gdb) call debug_tree (rse->expr)
 <array_ref 0x2b0877d55180
    type <record_type 0x2b0877d4ec60 geodetic SF
        size <integer_cst 0x2b0877c6cba0 constant invariant 32>
        unit size <integer_cst 0x2b0877c6c6c0 constant invariant 4>
        align 32 symtab 0 alias set -1
        fields <field_decl 0x2b0877d4cf00 h type <real_type 0x2b0877c87210
real4>
            SF file t.f90 line 9 size <integer_cst 0x2b0877c6cba0 32> unit size
<integer_cst 0x2b0877c6c6c0 4>
            align 32 offset_align 128
            offset <integer_cst 0x2b0877c6c6f0 constant invariant 0>
            bit offset <integer_cst 0x2b0877c842d0 constant invariant 0>
context <record_type 0x2b0877d4ec60 geodetic>>
        pointer_to_this <pointer_type 0x2b0877d4edc0> chain <type_decl
0x2b0877c91750 D.1335>>

(while this should be the same type, one is record_type 0x2b0877d4ec60 and
the other is record_type 0x2b0877d4ea50, which is causing this bug)


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (3 preceding siblings ...)
  2006-11-14  9:50 ` rguenth at gcc dot gnu dot org
@ 2006-11-14 21:08 ` pault at gcc dot gnu dot org
  2006-11-15  7:29 ` rguenth at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-14 21:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pault at gcc dot gnu dot org  2006-11-14 21:08 -------
The remark in #3 that the bug clears if the order of the procedures is reversed
is a giveaway:

Index: gcc/fortran/trans-types.c
===================================================================
*** gcc/fortran/trans-types.c   (revision 118704)
--- gcc/fortran/trans-types.c   (working copy)
*************** gfc_get_derived_type (gfc_symbol * deriv
*** 1592,1602 ****
  other_equal_dts:
    /* Add this backend_decl to all the other, equal derived types and
       their components in this and sibling namespaces.  */
! 
!   for (dt = derived->ns->derived_types; dt; dt = dt->next)
!     copy_dt_decls_ifequal (derived, dt->derived);
! 
!   for (ns = derived->ns->sibling; ns; ns = ns->sibling)
      for (dt = ns->derived_types; dt; dt = dt->next)
        copy_dt_decls_ifequal (derived, dt->derived);

--- 1592,1599 ----
  other_equal_dts:
    /* Add this backend_decl to all the other, equal derived types and
       their components in this and sibling namespaces.  */
!   ns = derived->ns->parent ? derived->ns->parent->contained : derived->ns;
!   for (; ns; ns = ns->sibling)
      for (dt = ns->derived_types; dt; dt = dt->next)
        copy_dt_decls_ifequal (derived, dt->derived);

clears the problem by associated the derived types correctly.

I had previously convinced myself that this scan across all the contained
procedures was not necessary because it should by symmetric under the
interchange of the namespaces. I need to understand why this is not so before
submitting the patch.

Richard,

Could you explain in babytalk, please, what this does?

      gcc_assert (!AGGREGATE_TYPE_P (TREE_TYPE (lse->expr))
                  || TREE_TYPE (lse->expr) == TREE_TYPE (rse->expr));
      gfc_add_modify_expr (&block, lse->expr,
                           !AGGREGATE_TYPE_P (TREE_TYPE (lse->expr))
                           ? fold_convert (TREE_TYPE (lse->expr), rse->expr)
                           : rse->expr);

Is it simply that the fold_convert is simply not doing anything here? ie. when
lse and rse are not the same stuctures, having the fold_convert simply tosses
the detection of the problem elsewhere?

Paul





-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (4 preceding siblings ...)
  2006-11-14 21:08 ` pault at gcc dot gnu dot org
@ 2006-11-15  7:29 ` rguenth at gcc dot gnu dot org
  2006-11-15 17:24 ` pault at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-11-15  7:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2006-11-15 07:29 -------
fold_convert cannot handle casts between aggregates (what would that be
anyway...), but only scalars (including pointers).  But it also has an early
out
in case of the types are equal already, so in this case it is "fine" even for
aggregates.  So the place the fortran frontend calls fold_convert is somewhat
dubious.


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (5 preceding siblings ...)
  2006-11-15  7:29 ` rguenth at gcc dot gnu dot org
@ 2006-11-15 17:24 ` pault at gcc dot gnu dot org
  2006-11-15 17:45 ` patchapp at dberlin dot org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-15 17:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pault at gcc dot gnu dot org  2006-11-15 17:24 -------
(In reply to comment #6)
> fold_convert cannot handle casts between aggregates (what would that be
> anyway...), but only scalars (including pointers).  But it also has an early
> out
> in case of the types are equal already, so in this case it is "fine" even for
> aggregates.  So the place the fortran frontend calls fold_convert is somewhat
> dubious.
> 
Richard,

When the dust settles, I will implement something like it.  I am a couple of
minutes away from submitting the abovepatch and a testcase.

Thanks

Paul


-- 

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|2006-11-13 20:03:19         |2006-11-15 17:24:27
               date|                            |


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (6 preceding siblings ...)
  2006-11-15 17:24 ` pault at gcc dot gnu dot org
@ 2006-11-15 17:45 ` patchapp at dberlin dot org
  2006-11-21 23:42 ` pault at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: patchapp at dberlin dot org @ 2006-11-15 17:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from patchapp at dberlin dot org  2006-11-15 17:45 -------
Subject: Bug number PR29820

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/2006-11/msg01053.html


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (7 preceding siblings ...)
  2006-11-15 17:45 ` patchapp at dberlin dot org
@ 2006-11-21 23:42 ` pault at gcc dot gnu dot org
  2006-11-23 19:14 ` pault 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 @ 2006-11-21 23:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from pault at gcc dot gnu dot org  2006-11-21 23:42 -------
Subject: Bug 29820

Author: pault
Date: Tue Nov 21 23:42:17 2006
New Revision: 119073

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

        PR fortran/29820
        * trans-array.c (gfc_get_derived_type): Once done, spread the
        backend_decl to all identical derived types in all sibling
        namespaces.

2006-11-21 Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/29820
        * gfortran.dg/used_types_13.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/used_types_13.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/trans-types.c
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (8 preceding siblings ...)
  2006-11-21 23:42 ` pault at gcc dot gnu dot org
@ 2006-11-23 19:14 ` pault at gcc dot gnu dot org
  2006-11-23 19:19 ` pault at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-23 19:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from pault at gcc dot gnu dot org  2006-11-23 19:14 -------
Subject: Bug 29820

Author: pault
Date: Thu Nov 23 19:14:05 2006
New Revision: 119132

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

        PR fortran/25087
        * resolve.c (resolve_fl_procedure): Add an error if an external
        automatic character length function does not have an explicit
        interface.

        PR fortran/29652
        * interface.c (check_interface1): Use a local value, instead of
        the dummy, as the inner iterator over interface symbols.

        PR fortran/29820
        * trans-array.c (gfc_get_derived_type): Once done, spread the
        backend_decl to all identical derived types in all sibling
        namespaces.

2006-11-23 Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/25087
        * gfortran.dg/auto_char_len_4.f90: New test.

        PR fortran/29652
        * gfortran.dg/generic_7.f90: New test.
        * gfortran.dg/defined_operators_1.f90: Add new error.

        PR fortran/29820
        * gfortran.dg/used_types_13.f90: New test.



Added:
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/auto_char_len_4.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/generic_7.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/used_types_13.f90
Modified:
    branches/gcc-4_2-branch/gcc/fortran/ChangeLog
    branches/gcc-4_2-branch/gcc/fortran/interface.c
    branches/gcc-4_2-branch/gcc/fortran/resolve.c
    branches/gcc-4_2-branch/gcc/fortran/trans-types.c
    branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/defined_operators_1.f90


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (9 preceding siblings ...)
  2006-11-23 19:14 ` pault at gcc dot gnu dot org
@ 2006-11-23 19:19 ` pault at gcc dot gnu dot org
  2006-12-09 17:48 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-23 19:19 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from pault at gcc dot gnu dot org  2006-11-23 19:19 -------
Fixed on trunk and 4.2

Paul


-- 

pault at gcc dot gnu dot org changed:

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


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (10 preceding siblings ...)
  2006-11-23 19:19 ` pault at gcc dot gnu dot org
@ 2006-12-09 17:48 ` pault at gcc dot gnu dot org
  2007-02-03 13:39 ` pault at gcc dot gnu dot org
  2007-03-01  9:44 ` burnus at gcc dot gnu dot org
  13 siblings, 0 replies; 15+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-12-09 17:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pault at gcc dot gnu dot org  2006-12-09 17:48 -------
Subject: Bug 29820

Author: pault
Date: Sat Dec  9 17:47:45 2006
New Revision: 119694

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

        Backports from trunk

        PR fortran/29821
        * resolve.c (resolve_operator): Only return result of
        gfc_simplify_expr if expression is constant.

        PR fortran/29912
        * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
        lhs and rhs character lengths are not constant and equal for
        character array valued functions.

        PR fortran/29916
        * resolve.c (resolve_symbol): Allow host-associated variables
        in the specification expression of an array-valued function.
        * expr.c (check_restricted): Accept host-associated dummy
        array indices.

        PR fortran/30003
        * trans-array.c (gfc_trans_create_temp_array): Set the section
        ends to zero.
        (gfc_conv_section_startstride): Declare an expression for end,
        set it from a the array reference and evaluate it for the info
        structure. Zero the ends in the ss structure and set end, used
        in the bounds check, from the info structure.
        trans.h: Add and end array to the gfc_ss_info structure.

        PR fortran/29820
        * trans-array.c (gfc_get_derived_type): Once done, spread the
        backend_decl to all identical derived types in all sibling
        namespaces.

2006-12-09  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/29821
        * gfortran.dg/parameter_array_section_1.f90: New test.

        PR fortran/29912
        * gfortran.dg/char_result_12.f90: New test.

        PR fortran/29916
        * gfortran.dg/host_dummy_index_1.f90: Added additional test.

        PR fortran/30003
        * gfortran.dg/allocatable_function_1.f90: Increase the number
        of expected calls of free to 10; the lhs section reference is
        now evaluated so there is another call to bar.  Change the
        comment appropriately.
        * gfortran.dg/array_section_1.f90: New test.

        PR fortran/29820
        * gfortran.dg/used_types_13.f90: New test.


Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/array_section_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/char_result_12.f90
   
branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/parameter_array_section_1.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_types_13.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/expr.c
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-array.c
    branches/gcc-4_1-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_1-branch/gcc/fortran/trans-types.c
    branches/gcc-4_1-branch/gcc/fortran/trans.h
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/host_dummy_index_1.f90


-- 


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


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (11 preceding siblings ...)
  2006-12-09 17:48 ` pault at gcc dot gnu dot org
@ 2007-02-03 13:39 ` pault at gcc dot gnu dot org
  2007-03-01  9:44 ` burnus at gcc dot gnu dot org
  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 #13 from pault at gcc dot gnu dot org  2007-02-03 13:38 -------
Subject: Bug 29820

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=29820


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

* [Bug fortran/29820] ICE in fold_convert, at fold-const.c:2146
  2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
                   ` (12 preceding siblings ...)
  2007-02-03 13:39 ` pault at gcc dot gnu dot org
@ 2007-03-01  9:44 ` 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 #14 from burnus at gcc dot gnu dot org  2007-03-01 09:44 -------
Subject: Bug 29820

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=29820


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

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

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-13 19:56 [Bug fortran/29820] New: ICE in fold_convert, at fold-const.c:2146 anlauf at gmx dot de
2006-11-13 19:57 ` [Bug fortran/29820] " anlauf at gmx dot de
2006-11-13 20:03 ` pinskia at gcc dot gnu dot org
2006-11-13 21:19 ` burnus at gcc dot gnu dot org
2006-11-14  9:50 ` rguenth at gcc dot gnu dot org
2006-11-14 21:08 ` pault at gcc dot gnu dot org
2006-11-15  7:29 ` rguenth at gcc dot gnu dot org
2006-11-15 17:24 ` pault at gcc dot gnu dot org
2006-11-15 17:45 ` patchapp at dberlin dot org
2006-11-21 23:42 ` pault at gcc dot gnu dot org
2006-11-23 19:14 ` pault at gcc dot gnu dot org
2006-11-23 19:19 ` pault at gcc dot gnu dot org
2006-12-09 17:48 ` pault at gcc dot gnu dot org
2007-02-03 13:39 ` pault at gcc dot gnu dot org
2007-03-01  9:44 ` 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).