public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/29786]  New: [4.1/4.2/4.3 Regression] rejects equivalence
@ 2006-11-09 19:50 aldot at gcc dot gnu dot org
  2006-11-09 20:14 ` [Bug fortran/29786] " pault at gcc dot gnu dot org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: aldot at gcc dot gnu dot org @ 2006-11-09 19:50 UTC (permalink / raw)
  To: gcc-bugs

$ cat equiv.hm.f 
      INTEGER         i
      PARAMETER           (i = 55)
      INTEGER         o
      INTEGER         NUNITS(i)
      equivalence (o,nunits(16))
      data o/16/
      data nunits(18)/18/
      end
$ gfortran-4.3-HEAD -c -o /dev/null equiv.hm.f
equiv.hm.f:5:

      equivalence (o,nunits(16))                                        
                          1
Error: Initialized objects 'o' and 'nunits'  cannot both be in the EQUIVALENCE
statement at (1)

Works fine with g77-3.4.6


-- 
           Summary: [4.1/4.2/4.3 Regression] rejects equivalence
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: aldot at gcc dot gnu dot org
 GCC build triplet: i686-linux-gnu
  GCC host triplet: i686-linux-gnu
GCC target triplet: i686-linux-gnu


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
@ 2006-11-09 20:14 ` pault at gcc dot gnu dot org
  2006-11-10  8:26 ` pault at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-09 20:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pault at gcc dot gnu dot org  2006-11-09 20:14 -------
Confirmed

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         |2006-11-09 20:14:18
               date|                            |


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
  2006-11-09 20:14 ` [Bug fortran/29786] " pault at gcc dot gnu dot org
@ 2006-11-10  8:26 ` pault at gcc dot gnu dot org
  2007-01-12  6:00 ` pault at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-11-10  8:26 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2230 bytes --]



------- Comment #2 from pault at gcc dot gnu dot org  2006-11-10 08:25 -------
(In reply to comment #1)
14.6.3.3 Association of scalar data objects
...snip...
A storage unit shall not be explicitly initialized more than once in a program.
Explicit initialization overrides default initialization, and default
initialization for an object of derived type overrides default initialization
for a component of the object (4.4.1). Default initialization may be specified
for a storage unit that is storage associated provided the objects or
subobjects supplying the default initialization are of the same type and type
parameters, and supply the same value for the storage unit.

This is intended to be general, I think; ie. to apply to more than scalar data
objects.  In any case, prior usage requires that "storage unit" be understood
in its complete generality.

The problem occurs in resolve.c:6674, where there is no attempt to see if the
storage unit is the same for scalar/array-ref or array-ref/array-ref
equivalences and data statements.  This is OK for F90 initialization, where
arrays are completely initialized, but not for data statements.

If the error is suppressed by excluding (sym->attr.data && sym->as != NULL), we
run into a todo in trans-common.c:

pr29786.f90: In function 'MAIN__':
pr29786.f90:1: fatal error: gfc_todo: Not Implemented: Initialization of
overlap
ping variables compilation terminated.

This looks like one of Sherlock Holme's "three pipers".

Paul

Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c       (révision 118551)
--- gcc/fortran/resolve.c       (copie de travail)
*************** resolve_equivalence (gfc_equiv *eq)
*** 6671,6677 ****

        /* An equivalence statement cannot have more than one initialized
         object.  */
!       if (sym->value)
        {
          if (value_name != NULL)
            {
--- 6671,6677 ----

        /* An equivalence statement cannot have more than one initialized
         object.  */
!       if (sym->value && !(sym->attr.data && sym->as != NULL))
        {
          if (value_name != NULL)
            {


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
  2006-11-09 20:14 ` [Bug fortran/29786] " pault at gcc dot gnu dot org
  2006-11-10  8:26 ` pault at gcc dot gnu dot org
@ 2007-01-12  6:00 ` pault at gcc dot gnu dot org
  2007-01-12  8:12 ` pault at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-01-12  6:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2007-01-12 06:00 -------
The attached bootstraps and regtests on IA64/FC5 - it even fixes the bug, as
the testcase shows. (I will have to do the attaching a bit later - whatever I
try with cookies does not seem to work right now.)

The patch works by checking for overlapping equivalence members with
initializers, which gfc already did; on detecting such overlaps, a new char*
field is created that spans the entire union. The equivalence group is then
scanned for initializers, which are then byte-wize converted to char* (Note
that this is half the job of simplify_array_transfer:) ).  The char* in it's
turn is converted into a tree-ssa vector constructor, which becomes the only
initializer for the union.

Another approach to this would have been to create a structure field, with
components corresponding to the non-null, non-overlapping constructors.  I did
not do this on grounds of simplicity.

The patch does not implement overlapping derived types with initializers; it
could be done without too much trouble and probably should be, in spite of all
the gotcha's that are involved in putting derived types in equivalences.

The part of the patch that is giving me pause is the conversion of integers;
because gmp does not offer a mpz_t to signed long long, I used the conversion
in tree-const.c and write from two longs.  These have to be ordered according
to endian-ness.  Could somebody advise on how to do this, please?

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-09 20:14:18         |2007-01-12 06:00:50
               date|                            |


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-01-12  6:00 ` pault at gcc dot gnu dot org
@ 2007-01-12  8:12 ` pault at gcc dot gnu dot org
  2007-01-14 13:32 ` pault at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-01-12  8:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2007-01-12 08:12 -------
Created an attachment (id=12894)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12894&action=view)
The patch promised above


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-01-12  8:12 ` pault at gcc dot gnu dot org
@ 2007-01-14 13:32 ` pault at gcc dot gnu dot org
  2007-01-14 13:42 ` pault at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-01-14 13:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pault at gcc dot gnu dot org  2007-01-14 13:32 -------
I do not seem able to fix the problem with attachments on my machine...

Following yesterday's discussion on the list,

trans-common.c:445

  switch (e->ts.type)
    {
      case BT_INTEGER:
        if (WORDS_BIG_ENDIAN)
          gfc_conv_mpz_to_integers (e->value.integer,
                                    &buffer[0], &buffer[1]);
        else
          gfc_conv_mpz_to_integers (e->value.integer,
                                    &buffer[1], &buffer[0]);
        memcpy (data, buffer, len);
        return;

to replace the BT_INTEGER case in the attachment should do the job.

It needs testing now on 64 bit machines with both endian-nesses.

Brooks, I have reassigned this PR to you; I am very happy to help
out/collaborate on it but I think you are right - I just do not have the time
to see it through, right now.

Paul 


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|pault at gcc dot gnu dot org|brooks at gcc dot gnu dot
                   |                            |org


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2007-01-14 13:32 ` pault at gcc dot gnu dot org
@ 2007-01-14 13:42 ` pault at gcc dot gnu dot org
  2007-02-03 16:20 ` pault at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-01-14 13:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pault at gcc dot gnu dot org  2007-01-14 13:42 -------
Forget the previous; it's wrong!

It does indicate that WORDS_BIG_ENDIAN and friends are available, however.

Paul


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2007-01-14 13:42 ` pault at gcc dot gnu dot org
@ 2007-02-03 16:20 ` pault at gcc dot gnu dot org
  2007-02-03 17:30 ` jsm28 at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-02-03 16:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pault at gcc dot gnu dot org  2007-02-03 16:20 -------
Brooks,

It wasn't fair to deposit this one on you so I have taken it back.

Cheers

Paul 


-- 

pault at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|brooks at gcc dot gnu dot   |pault at gcc dot gnu dot org
                   |org                         |


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2007-02-03 16:20 ` pault at gcc dot gnu dot org
@ 2007-02-03 17:30 ` jsm28 at gcc dot gnu dot org
  2007-02-05  5:28 ` mmitchel at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2007-02-03 17:30 UTC (permalink / raw)
  To: gcc-bugs



-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.1.2


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2007-02-03 17:30 ` jsm28 at gcc dot gnu dot org
@ 2007-02-05  5:28 ` mmitchel at gcc dot gnu dot org
  2007-02-14 10:04 ` mmitchel at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-05  5:28 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=29786


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2007-02-05  5:28 ` mmitchel at gcc dot gnu dot org
@ 2007-02-14 10:04 ` mmitchel at gcc dot gnu dot org
  2007-04-23 19:48 ` brooks at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14 10:04 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.1.2                       |4.1.3


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] rejects equivalence
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2007-02-14 10:04 ` mmitchel at gcc dot gnu dot org
@ 2007-04-23 19:48 ` brooks at gcc dot gnu dot org
  2007-04-23 19:49 ` [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented brooks at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: brooks at gcc dot gnu dot org @ 2007-04-23 19:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from brooks at gcc dot gnu dot org  2007-04-23 20:48 -------
*** Bug 31672 has been marked as a duplicate of this bug. ***


-- 

brooks at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |beliavsky at aol dot com


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2007-04-23 19:48 ` brooks at gcc dot gnu dot org
@ 2007-04-23 19:49 ` brooks at gcc dot gnu dot org
  2007-04-23 19:52 ` brooks at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: brooks at gcc dot gnu dot org @ 2007-04-23 19:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from brooks at gcc dot gnu dot org  2007-04-23 20:49 -------
I'm changing the name of this bug to make it a lot easier to find, now that we
know what the actual problem is.

Also, PR #31672 contains an excellent testcase for this, which I'll quote here:

----------------------------------------------
function d1mach(i)
implicit none
double precision d1mach,dmach(5)
integer i,large(4),small(4)
equivalence ( dmach(1), small(1) )
equivalence ( dmach(2), large(1) )
data small(1),small(2) / 0,   1048576/
data large(1),large(2) /-1,2146435071/
d1mach = 0.0d0
end function d1mach
----------------------------------------------


-- 

brooks at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.1/4.2/4.3 Regression]    |[4.1/4.2/4.3 Regression]
                   |rejects equivalence         |Initialization of
                   |                            |overlapping variables: Not
                   |                            |implemented


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2007-04-23 19:49 ` [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented brooks at gcc dot gnu dot org
@ 2007-04-23 19:52 ` brooks at gcc dot gnu dot org
  2007-04-23 20:50 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: brooks at gcc dot gnu dot org @ 2007-04-23 19:52 UTC (permalink / raw)
  To: gcc-bugs



-- 

brooks at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P5                          |P2


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2007-04-23 19:52 ` brooks at gcc dot gnu dot org
@ 2007-04-23 20:50 ` pinskia at gcc dot gnu dot org
  2007-05-24  7:11 ` pault at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-04-23 20:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from pinskia at gcc dot gnu dot org  2007-04-23 21:50 -------
> brooks@gcc.gnu.org  	2007-04-23 20:51:45  	Priority  	P5  	P2
The release manager is the only one who is able to change the priority. 
Changing the Priority back to P5 based on this is a fortran bug so not blocking
the release.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P5


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2007-04-23 20:50 ` pinskia at gcc dot gnu dot org
@ 2007-05-24  7:11 ` pault at gcc dot gnu dot org
  2007-05-24 12:58 ` patchapp at dberlin dot org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-05-24  7:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from pault at gcc dot gnu dot org  2007-05-24 08:10 -------
Just to let you all know; I have had a patch ready for this and PR30875 for
somewhile.  This was awaiting the commit of Brook's simplify_transfer patch and
all the machinery in target-memory.c.  Well, during the wait it suffered a bit
of x86_ia64 specific bit-rot, whose cause I just do not see right now. Ia m
working on it, though:)

Paul


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2007-05-24  7:11 ` pault at gcc dot gnu dot org
@ 2007-05-24 12:58 ` patchapp at dberlin dot org
  2007-06-11 22:39 ` pault at gcc dot gnu dot org
  2007-06-11 22:41 ` pault at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: patchapp at dberlin dot org @ 2007-05-24 12:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from patchapp at dberlin dot org  2007-05-24 13:57 -------
Subject: Bug number PR29786

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-05/msg01609.html


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2007-05-24 12:58 ` patchapp at dberlin dot org
@ 2007-06-11 22:39 ` pault at gcc dot gnu dot org
  2007-06-11 22:41 ` pault at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-06-11 22:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from pault at gcc dot gnu dot org  2007-06-11 22:39 -------
Subject: Bug 29786

Author: pault
Date: Mon Jun 11 22:39:21 2007
New Revision: 125628

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

        PR fortran/29786
        PR fortran/30875
        * trans-common.c (get_init_field): New function.
        (create_common): Call get_init_field for overlapping
        initializers in equivalence blocks.
        * resolve.c (resolve_equivalence_derived, resolve_equivalence):
        Remove constraints on initializers in equivalence blocks.
        * target-memory.c (expr_to_char, gfc_merge_initializers):
        New functions.
        (encode_derived): Add the bit offset to the byte offset to get
        the total offset to the field.
        * target-memory.h : Add prototype for gfc_merge_initializers.


2007-06-12  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/29786
        * gfortran.dg/equiv_7.f90: New test.
        * gfortran.dg/equiv_constraint_7.f90: Change error message.


        PR fortran/30875
        * gfortran.dg/equiv_constraint_5.f90: Correct code and error.

Added:
    trunk/gcc/testsuite/gfortran.dg/equiv_7.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/target-memory.c
    trunk/gcc/fortran/target-memory.h
    trunk/gcc/fortran/trans-common.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/equiv_constraint_5.f90
    trunk/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90


-- 


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


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

* [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented
  2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2007-06-11 22:39 ` pault at gcc dot gnu dot org
@ 2007-06-11 22:41 ` pault at gcc dot gnu dot org
  17 siblings, 0 replies; 19+ messages in thread
From: pault at gcc dot gnu dot org @ 2007-06-11 22:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pault at gcc dot gnu dot org  2007-06-11 22:41 -------
fixed on trunk

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


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

end of thread, other threads:[~2007-06-11 22:41 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-09 19:50 [Bug fortran/29786] New: [4.1/4.2/4.3 Regression] rejects equivalence aldot at gcc dot gnu dot org
2006-11-09 20:14 ` [Bug fortran/29786] " pault at gcc dot gnu dot org
2006-11-10  8:26 ` pault at gcc dot gnu dot org
2007-01-12  6:00 ` pault at gcc dot gnu dot org
2007-01-12  8:12 ` pault at gcc dot gnu dot org
2007-01-14 13:32 ` pault at gcc dot gnu dot org
2007-01-14 13:42 ` pault at gcc dot gnu dot org
2007-02-03 16:20 ` pault at gcc dot gnu dot org
2007-02-03 17:30 ` jsm28 at gcc dot gnu dot org
2007-02-05  5:28 ` mmitchel at gcc dot gnu dot org
2007-02-14 10:04 ` mmitchel at gcc dot gnu dot org
2007-04-23 19:48 ` brooks at gcc dot gnu dot org
2007-04-23 19:49 ` [Bug fortran/29786] [4.1/4.2/4.3 Regression] Initialization of overlapping variables: Not implemented brooks at gcc dot gnu dot org
2007-04-23 19:52 ` brooks at gcc dot gnu dot org
2007-04-23 20:50 ` pinskia at gcc dot gnu dot org
2007-05-24  7:11 ` pault at gcc dot gnu dot org
2007-05-24 12:58 ` patchapp at dberlin dot org
2007-06-11 22:39 ` pault at gcc dot gnu dot org
2007-06-11 22:41 ` 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).