public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/23799] New: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer
@ 2005-09-09 18:00 schwab at suse dot de
2005-09-09 18:03 ` [Bug c++/23799] " pinskia at gcc dot gnu dot org
` (10 more replies)
0 siblings, 11 replies; 17+ messages in thread
From: schwab at suse dot de @ 2005-09-09 18:00 UTC (permalink / raw)
To: gcc-bugs
Executing on host: /tmp/cvs/gcc-20050909/Build/gcc/testsuite/../g++
-B/tmp/cvs/gcc-20050909/Build/gcc/testsuite/../ /tmp/cvs/gcc-20050909/gcc/testsuite/g++.dg/init/pr23180-2.C
-nostdinc++
-I/tmp/cvs/gcc-20050909/Build/ia64-suse-linux/libstdc++-v3/include/ia64-suse-linux
-I/tmp/cvs/gcc-20050909/Build/ia64-suse-linux/libstdc++-v3/include
-I/tmp/cvs/gcc-20050909/libstdc++-v3/libsupc++
-I/tmp/cvs/gcc-20050909/libstdc++-v3/include/backward
-I/tmp/cvs/gcc-20050909/libstdc++-v3/testsuite -fmessage-length=0 -ansi
-pedantic-errors -Wno-long-long -S -o pr23180-2.s (timeout = 300)
/tmp/cvs/gcc-20050909/gcc/testsuite/g++.dg/init/pr23180-2.C:10: internal
compiler error: no-op convert from 8 to 4 bytes in initializer
--
Summary: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in
initializer
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: schwab at suse dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: ia64-suse-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23799
^ permalink raw reply [flat|nested] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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; 17+ 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] 17+ 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 ` 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; 17+ 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] 17+ 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 ` 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; 17+ 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] 17+ 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 ` 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; 17+ 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] 17+ messages in thread
end of thread, other threads:[~2005-10-13 0:16 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-09 18:00 [Bug c++/23799] New: [4.1 regression] ICE: no-op convert from 8 to 4 bytes in initializer 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
[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
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
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).