public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
       [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
@ 2005-10-05  9:11 ` rguenth at gcc dot gnu dot org
  2005-10-06 21:26 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-10-05  9:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from rguenth at gcc dot gnu dot org  2005-10-05 09:11 -------
Any progress on this one?


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
       [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
  2005-10-05  9:11 ` [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer rguenth at gcc dot gnu dot org
@ 2005-10-06 21:26 ` rguenth at gcc dot gnu dot org
  2005-10-12  8:56 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-10-06 21:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from rguenth at gcc dot gnu dot org  2005-10-06 21:26 -------
For the testcase we get at output_constant time for the

C++ frontend: (intD.2) (long intD.5) &42B->soundNameD.2065[-42]                 
C frontend: (intD.0) (long intD.2) &42B->soundNameD.1608 - 42

the C++ frontend ICEs, the C frontend not (as we have an outer MINUS_EXPR).

Whatever you wanted to fix with your patch will not work in every case - but
you didn't add a testcase. 


-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
       [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
  2005-10-05  9:11 ` [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer rguenth at gcc dot gnu dot org
  2005-10-06 21:26 ` rguenth at gcc dot gnu dot org
@ 2005-10-12  8:56 ` cvs-commit at gcc dot gnu dot org
  2005-10-12  8:57 ` rguenth at gcc dot gnu dot org
  2005-10-13  0:16 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-12  8:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from cvs-commit at gcc dot gnu dot org  2005-10-12 08:56 -------
Subject: Bug 23799

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     rguenth@gcc.gnu.org     2005-10-12 08:55:59

Modified files:
        gcc            : ChangeLog varasm.c 

Log message:
        2005-10-12  Richard Guenther  <rguenther@suse.de>

        PR c++/23799
        * varasm.c (output_constant): Correct typo from previous
        patch by DJ.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10142&r2=2.10143
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&r1=1.531&r2=1.532


-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
       [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2005-10-12  8:56 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-12  8:57 ` rguenth at gcc dot gnu dot org
  2005-10-13  0:16 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-10-12  8:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from rguenth at gcc dot gnu dot org  2005-10-12 08:57 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

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


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
       [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2005-10-12  8:57 ` rguenth at gcc dot gnu dot org
@ 2005-10-13  0:16 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-13  0:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from pinskia at gcc dot gnu dot org  2005-10-13 00:16 -------
*** Bug 24343 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hp at gcc dot gnu dot org


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (9 preceding siblings ...)
  2005-09-23  5:24 ` amodra at bigpond dot net dot au
@ 2005-09-23 17:22 ` dj at redhat dot com
  10 siblings, 0 replies; 16+ messages in thread
From: dj at redhat dot com @ 2005-09-23 17:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dj at redhat dot com  2005-09-23 17:22 -------
Subject: Re:  [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer


I recall that the opposite case is problematic; initializing a large
int from a smaller one, because gcc always zero pads at the end.
Perhaps a lt/gt comparison would be more appropriate?


-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (8 preceding siblings ...)
  2005-09-19 19:57 ` dj at redhat dot com
@ 2005-09-23  5:24 ` amodra at bigpond dot net dot au
  2005-09-23 17:22 ` dj at redhat dot com
  10 siblings, 0 replies; 16+ messages in thread
From: amodra at bigpond dot net dot au @ 2005-09-23  5:24 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From amodra at bigpond dot net dot au  2005-09-23 05:24 -------
The failures on powerpc64-linux are due to a long (64-bit) to int (32-bit)
conversion.  When such a conversion is the outermost one, as in this case, it
ought to be allowed.  The assembler will (or should) handle big/little endian
issues and give an error on overflow.

-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (7 preceding siblings ...)
  2005-09-18 10:37 ` steven at gcc dot gnu dot org
@ 2005-09-19 19:57 ` dj at redhat dot com
  2005-09-23  5:24 ` amodra at bigpond dot net dot au
  2005-09-23 17:22 ` dj at redhat dot com
  10 siblings, 0 replies; 16+ messages in thread
From: dj at redhat dot com @ 2005-09-19 19:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dj at redhat dot com  2005-09-19 19:57 -------
Subject: Re:  [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer


> DJ, apparently you caused this one. 

Yup, and I had reservations about that portion of the patch at the
time, too, which have turned out to be justified (the reservations,
not the patch).

I think the best option at this point is to just take the check out
(leaving in the other part of the patch, which is needed for m32c).

The code will still be buggy if the no-op converts to a larger size,
though, because it doesn't take endianness into account when padding.
I'm rather surprised that the test case works for sizeof(long) >
sizeof(int), I'd expect the bytes to be truncated in amusing ways.


-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (6 preceding siblings ...)
  2005-09-14 17:45 ` pinskia at gcc dot gnu dot org
@ 2005-09-18 10:37 ` steven at gcc dot gnu dot org
  2005-09-19 19:57 ` dj at redhat dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: steven at gcc dot gnu dot org @ 2005-09-18 10:37 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From steven at gcc dot gnu dot org  2005-09-18 10:37 -------
DJ, apparently you caused this one. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dj at redhat dot com


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (5 preceding siblings ...)
  2005-09-14 14:32 ` pinskia at gcc dot gnu dot org
@ 2005-09-14 17:45 ` pinskia at gcc dot gnu dot org
  2005-09-18 10:37 ` steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-14 17:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-14 17:45 -------
Caused by:
http://gcc.gnu.org/ml/gcc-cvs/2005-09/msg00040.html



Reduced testcase:
struct Track {
  char soundName[15];
};
int foobar = ((long) (& ((Track *) 42)->soundName[0])) - 42;

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|*64-*-*                     |64bit targets


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (4 preceding siblings ...)
  2005-09-10 10:19 ` schwab at suse dot de
@ 2005-09-14 14:32 ` pinskia at gcc dot gnu dot org
  2005-09-14 17:45 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-14 14:32 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-14 14:32 -------
Note the testcase is now called struct3.C.

Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-09-14 14:32:23
               date|                            |


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (3 preceding siblings ...)
  2005-09-09 20:19 ` jsm28 at gcc dot gnu dot org
@ 2005-09-10 10:19 ` schwab at suse dot de
  2005-09-14 14:32 ` pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: schwab at suse dot de @ 2005-09-10 10:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From schwab at suse dot de  2005-09-10 10:19 -------
Also fails on x86-64, according to  
<http://gcc.gnu.org/ml/gcc-testresults/2005-09/msg00458.html>.  All 64-bit 
targets appear to be affected. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|ia64-*-*                    |*64-*-*


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
                   ` (2 preceding siblings ...)
  2005-09-09 18:51 ` schwab at suse dot de
@ 2005-09-09 20:19 ` jsm28 at gcc dot gnu dot org
  2005-09-10 10:19 ` schwab at suse dot de
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2005-09-09 20:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jsm28 at gcc dot gnu dot org  2005-09-09 20:19 -------
Also appears on ia64-hp-hpux11.23 (-mlp64 only).


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jsm28 at gcc dot gnu dot org
 GCC target triplet|ia64-suse-linux             |ia64-*-*


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
  2005-09-09 18:03 ` [Bug c++/23799] " pinskia at gcc dot gnu dot org
  2005-09-09 18:05 ` pinskia at gcc dot gnu dot org
@ 2005-09-09 18:51 ` schwab at suse dot de
  2005-09-09 20:19 ` jsm28 at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: schwab at suse dot de @ 2005-09-09 18:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From schwab at suse dot de  2005-09-09 18:51 -------
Sure I did. 

-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
  2005-09-09 18:03 ` [Bug c++/23799] " pinskia at gcc dot gnu dot org
@ 2005-09-09 18:05 ` pinskia at gcc dot gnu dot org
  2005-09-09 18:51 ` schwab at suse dot de
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-09 18:05 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-09 18:05 -------
Note this is a new testcase for 4.1.  Just to double check, did you try compiling it with 4.0?

-- 


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


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

* [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
  2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
@ 2005-09-09 18:03 ` pinskia at gcc dot gnu dot org
  2005-09-09 18:05 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-09 18:03 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
   Target Milestone|---                         |4.1.0


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


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

end of thread, other threads:[~2005-10-13  0:16 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-23799-50@http.gcc.gnu.org/bugzilla/>
2005-10-05  9:11 ` [Bug c++/23799] [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer rguenth at gcc dot gnu dot org
2005-10-06 21:26 ` rguenth at gcc dot gnu dot org
2005-10-12  8:56 ` cvs-commit at gcc dot gnu dot org
2005-10-12  8:57 ` rguenth at gcc dot gnu dot org
2005-10-13  0:16 ` pinskia at gcc dot gnu dot org
2005-09-09 18:00 [Bug c++/23799] New: " schwab at suse dot de
2005-09-09 18:03 ` [Bug c++/23799] " pinskia at gcc dot gnu dot org
2005-09-09 18:05 ` pinskia at gcc dot gnu dot org
2005-09-09 18:51 ` schwab at suse dot de
2005-09-09 20:19 ` jsm28 at gcc dot gnu dot org
2005-09-10 10:19 ` schwab at suse dot de
2005-09-14 14:32 ` pinskia at gcc dot gnu dot org
2005-09-14 17:45 ` pinskia at gcc dot gnu dot org
2005-09-18 10:37 ` steven at gcc dot gnu dot org
2005-09-19 19:57 ` dj at redhat dot com
2005-09-23  5:24 ` amodra at bigpond dot net dot au
2005-09-23 17:22 ` dj at redhat dot com

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).