[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-19 Thread rguenth at gcc dot gnu dot org
--- Comment #43 from rguenth at gcc dot gnu dot org 2007-06-19 09:24 --- Subject: Bug 30252 Author: rguenth Date: Tue Jun 19 09:24:35 2007 New Revision: 125844 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125844 Log: 2007-06-19 Richard Guenther [EMAIL PROTECTED]

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-19 Thread rguenth at gcc dot gnu dot org
--- Comment #44 from rguenth at gcc dot gnu dot org 2007-06-19 09:45 --- Fixed on the 4.2 branch. Danny will fix this in a different way on the trunk. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-06 Thread rguenther at suse dot de
--- Comment #41 from rguenther at suse dot de 2007-06-06 08:49 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On Wed, 5 Jun 2007, dberlin at dberlin dot org wrote: q_2 = q_1 + 1 q_3 = q_2 + 1 q_4 = q_3 + 1 q_5 = q_4 + 1 p2 = q_5

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-06 Thread dberlin at dberlin dot org
--- Comment #42 from dberlin at gcc dot gnu dot org 2007-06-06 15:52 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On 6 Jun 2007 08:49:50 -, rguenther at suse dot de [EMAIL PROTECTED] wrote: --- Comment #41 from rguenther

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenth at gcc dot gnu dot org
--- Comment #30 from rguenth at gcc dot gnu dot org 2007-06-05 09:27 --- See this testcase (reduced from spec2k6 dealII by Micha): struct I { int ix; struct II { int j,i; void *ptr; } ii; };// inner; struct O : public I { // int x; int y; }; static int

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenth at gcc dot gnu dot org
--- Comment #31 from rguenth at gcc dot gnu dot org 2007-06-05 12:05 --- The problem in this PR is, that the structure we mess up points-to info has no fields in its lower half, but only two varinfos (D.2860, offset 128 size 64 and D.2860.visited_, offset 192 size 64 -- the first one

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenth at gcc dot gnu dot org
--- Comment #32 from rguenth at gcc dot gnu dot org 2007-06-05 15:01 --- Created an attachment (id=13657) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13657action=view) patch Patch in testing. It makes sure to create fields for all addressable components (such as empty bases)

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenth at gcc dot gnu dot org
--- Comment #33 from rguenth at gcc dot gnu dot org 2007-06-05 15:57 --- Actually, + if (minoffset != 0) must be changed to + if (minoffset != 0 count != 0) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30252

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread dberlin at dberlin dot org
--- Comment #34 from dberlin at gcc dot gnu dot org 2007-06-05 16:20 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On 5 Jun 2007 09:27:34 -, rguenth at gcc dot gnu dot org [EMAIL PROTECTED] wrote: --- Comment #30 from

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenther at suse dot de
--- Comment #35 from rguenther at suse dot de 2007-06-05 16:30 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On Tue, 5 Jun 2007, dberlin at dberlin dot org wrote: Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread dberlin at dberlin dot org
--- Comment #36 from dberlin at gcc dot gnu dot org 2007-06-05 17:45 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On 5 Jun 2007 16:30:32 -, rguenther at suse dot de [EMAIL PROTECTED] wrote: --- Comment #35 from rguenther

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread matz at gcc dot gnu dot org
--- Comment #37 from matz at gcc dot gnu dot org 2007-06-05 18:24 --- We are pointing to cell, and using that to access cell.i No. We are pointing to cell.ii, and use that pointer to access cell.ii.i (via in-i). Hence of course the points-to set of 'in' needs to include cell.in.i

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread dberlin at dberlin dot org
--- Comment #38 from dberlin at gcc dot gnu dot org 2007-06-05 19:07 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On 5 Jun 2007 18:24:54 -, matz at gcc dot gnu dot org [EMAIL PROTECTED] wrote: --- Comment #37 from matz at

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread rguenther at suse dot de
--- Comment #39 from rguenther at suse dot de 2007-06-05 19:59 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On Tue, 5 Jun 2007, dberlin at dberlin dot org wrote: --- Comment #38 from dberlin at gcc dot gnu dot org 2007-06-05

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread dberlin at dberlin dot org
--- Comment #40 from dberlin at gcc dot gnu dot org 2007-06-05 22:44 --- Subject: Re: [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing On 5 Jun 2007 19:59:32 -, rguenther at suse dot de [EMAIL PROTECTED] wrote: --- Comment #39 from rguenther

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-04 Thread rguenth at gcc dot gnu dot org
--- Comment #28 from rguenth at gcc dot gnu dot org 2007-06-04 15:28 --- solution_set_add () looks like the culprit (thx micha). So, the following will fix it in case we have offsets only from COMPONENT_REFs, not from regular pointer arithmetic (which is not true): Index:

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-04 Thread rguenth at gcc dot gnu dot org
--- Comment #29 from rguenth at gcc dot gnu dot org 2007-06-04 15:45 --- We can make it safe if we only really handle + in pointer arithmetic. Like with @@ -3258,7 +3255,7 @@ handle_ptr_arith (VEC (ce_s, heap) *lhsc unsigned int i = 0; unsigned int j = 0; VEC (ce_s, heap)

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-15 Thread rguenth at gcc dot gnu dot org
--- Comment #27 from rguenth at gcc dot gnu dot org 2007-05-15 08:59 --- Yes, that's a (part of!) a diff of a -details dump with the following patch Index: passes.c === --- passes.c(revision 124501) +++ passes.c

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-14 Thread dberlin at gcc dot gnu dot org
--- Comment #25 from dberlin at gcc dot gnu dot org 2007-05-14 20:01 --- which should be the most interesting parts of the diff (apart from the extra vops that prevent the DCE). Danny? Any hints on what can go wrong here? The first pass is obviously generating wrong answers,

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-14 Thread mmitchel at gcc dot gnu dot org
--- Comment #26 from mmitchel at gcc dot gnu dot org 2007-05-14 22:25 --- Will not be fixed in 4.2.0; retargeting at 4.2.1. -- mmitchel at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-13 Thread rguenth at gcc dot gnu dot org
--- Comment #23 from rguenth at gcc dot gnu dot org 2007-05-13 11:34 --- There are no overlapping fields created from push_fields_onto_fieldstack, so my pointing to PR22488 may be wrong. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30252

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-13 Thread rguenth at gcc dot gnu dot org
--- Comment #24 from rguenth at gcc dot gnu dot org 2007-05-13 13:02 --- That leaves aliasing and DCE. The following statement connects to the initializing of the function pointer. # SFT.78D.2952_55 = V_MAY_DEF SFT.78D.2952_31; # VUSE D.2838_29; thisD.2828_22-functor_D.2399

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-12 Thread ismail at pardus dot org dot tr
--- Comment #22 from ismail at pardus dot org dot tr 2007-05-13 01:43 --- This problem also breaks inkscape, it segfaults on startup when compiled with gcc 4.2.0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30252

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-02 Thread mmitchel at gcc dot gnu dot org
--- Comment #19 from mmitchel at gcc dot gnu dot org 2007-05-02 21:59 --- If this is a valid program, as we seem to think it is, then this is a serious bug. However, if it's the front-end bug that Richard suspects, there's not much we can do about it in the near term. The ball is

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-05-01 Thread rguenth at gcc dot gnu dot org
--- Comment #18 from rguenth at gcc dot gnu dot org 2007-05-01 14:05 --- So my guess is this is related to PR22488 which is rotting since some time... -- rguenth at gcc dot gnu dot org changed: What|Removed |Added