[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2010-01-18 Thread rguenth at gcc dot gnu dot org
--- Comment #27 from rguenth at gcc dot gnu dot org 2010-01-18 11:12 --- Testing a patch to do minimal surgery to restore previous behavior (thus, fix this regression but not the fundamental frontend / middle-end problem). -- rguenth at gcc dot gnu dot org changed: What

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2010-01-18 Thread rguenth at gcc dot gnu dot org
--- Comment #28 from rguenth at gcc dot gnu dot org 2010-01-18 11:24 --- Btw, get_pointer_alignment should get passed an access type to put it into context. For alignment of say INDIRECT_REFs it would be the pointed-to type but for function arguments in general it needs to be 'char'

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2010-01-18 Thread rguenth at gcc dot gnu dot org
--- Comment #29 from rguenth at gcc dot gnu dot org 2010-01-18 11:43 --- (In reply to comment #28) Btw, get_pointer_alignment should get passed an access type to put it into context. For alignment of say INDIRECT_REFs it would be the pointed-to type but for function arguments in

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2010-01-18 Thread rguenth at gcc dot gnu dot org
--- Comment #30 from rguenth at gcc dot gnu dot org 2010-01-18 12:59 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2010-01-18 Thread rguenth at gcc dot gnu dot org
--- Comment #31 from rguenth at gcc dot gnu dot org 2010-01-18 13:00 --- Subject: Bug 39954 Author: rguenth Date: Mon Jan 18 12:59:50 2010 New Revision: 156008 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156008 Log: 2010-01-18 Richard Guenther rguent...@suse.de PR

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-06-18 Thread matz at gcc dot gnu dot org
--- Comment #26 from matz at gcc dot gnu dot org 2009-06-18 11:26 --- Hmm, yeah, I should probably clean up my hack and formally submit it. But I had hoped to get some advise from the frontend guys, because I was surprised that the patch actually worked. --

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-06-17 Thread sje at cup dot hp dot com
--- Comment #25 from sje at cup dot hp dot com 2009-06-17 20:37 --- Micheal, are you still working on this bug? It looks like you had a patch for it that you were testing but I don't see anything after that and the test is still failing. -- sje at cup dot hp dot com changed:

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-10 Thread danglin at gcc dot gnu dot org
--- Comment #24 from danglin at gcc dot gnu dot org 2009-05-10 18:40 --- I see this on hppa64-hp-hpux11.11. -- danglin at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2009-05-06 09:48 --- Mark, I'm certainly willing to help fixing this, but it's not a new regression. Before my change TER _sometimes_ worked around the pre-existing problem, but it's trivial to construct a case exposing it also before

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2009-05-06 11:08 --- For optimization purposes differently aligned type variants should be treated as a variant type, thus liked in the TYPE_NEXT_VARIANT chain (probably also required to get correct behavior when assigning alias

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2009-05-06 11:20 --- Joseph: I'd need some advise where best starting to fix this. I see some options, when we want to deal with such construct: struct S { T member __attribute__((packed)); }; ... struct S s; ... s-member ... (1) make

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread rguenther at suse dot de
--- Comment #17 from rguenther at suse dot de 2009-05-06 11:45 --- Subject: Re: [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c On Wed, 6 May 2009, matz at gcc dot gnu dot org wrote: --- Comment #16 from matz at gcc dot gnu dot org

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at gcc dot gnu dot org
--- Comment #18 from matz at gcc dot gnu dot org 2009-05-06 11:57 --- The structure in this testcase is not packed. One member is. Or are you talking about some different case? Let's suppose you are and you mean something like this: struct S {T1 m1; T2 m2; ...}

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at gcc dot gnu dot org
--- Comment #19 from matz at gcc dot gnu dot org 2009-05-06 20:39 --- Something like this implements option 1. It's probably hopelessly inefficient (always generating a new type for each packed field), and wrong, and generally just a bad idea, but it does fix the testcase, execute.exp

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread rguenther at suse dot de
--- Comment #20 from rguenther at suse dot de 2009-05-06 21:02 --- Subject: Re: [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c On Wed, 6 May 2009, matz at gcc dot gnu dot org wrote: --- Comment #19 from matz at gcc dot gnu dot org

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at suse dot de
--- Comment #21 from matz at suse dot de 2009-05-06 21:39 --- Subject: Re: [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c On Wed, 6 May 2009, rguenther at suse dot de wrote: + tree ret; + if (TYPE_PACKED (t)) +return t; Walking

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread rguenther at suse dot de
--- Comment #22 from rguenther at suse dot de 2009-05-06 21:55 --- Subject: Re: [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c On Wed, 6 May 2009, matz at suse dot de wrote: --- Comment #21 from matz at suse dot de 2009-05-06 21:39 ---

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-06 Thread matz at gcc dot gnu dot org
--- Comment #23 from matz at gcc dot gnu dot org 2009-05-06 21:56 --- No regressions on x86_64-linux. I'm baffled. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39954

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-05 Thread mmitchel at gcc dot gnu dot org
--- Comment #12 from mmitchel at gcc dot gnu dot org 2009-05-05 15:48 --- Yes, we've been discussing the interaction between attributes and the type system for at least a decade. :-) In type-theoretic terms, the address of a packed int has type pointer-to-packed-int, not

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-05-05 Thread hjl dot tools at gmail dot com
--- Comment #13 from hjl dot tools at gmail dot com 2009-05-05 15:59 --- (In reply to comment #12) Michael, unfortunately, if it was your change that introduced this regression, you are responsible for solving the problem. The Right Answer, as you suggest, is to include the

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-29 Thread joseph at codesourcery dot com
--- Comment #10 from joseph at codesourcery dot com 2009-04-29 11:33 --- Subject: Re: [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c On Wed, 29 Apr 2009, matz at gcc dot gnu dot org wrote: The user should have the possibility to announce the

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-29 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2009-04-29 11:38 --- Thanks for the clarification. So there indeed is only one issue, that the temporary has an aligned type. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39954

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread hjl dot tools at gmail dot com
--- Comment #4 from hjl dot tools at gmail dot com 2009-04-28 23:43 --- Revision 146817: http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg01459.html is the cause. -- hjl dot tools at gmail dot com changed: What|Removed |Added

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2009-04-28 23:48 --- (In reply to comment #3) Indeed. We likely fold the memcpy, but that should better preserve the known alignment. What known alignment? The alignment of the type is known to be the same alignment as long inside a

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-04-29 00:17 --- Andrew is right. There is no known alignment (or misalignment) as far as the gimple code is concerned, only the natural alignment: send_probe (struct outdata * outdata, struct timeval * tp) { struct timeval *

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread hjl dot tools at gmail dot com
--- Comment #7 from hjl dot tools at gmail dot com 2009-04-29 00:33 --- (In reply to comment #6) Andrew is right. There is no known alignment (or misalignment) as far as the gimple code is concerned, only the natural alignment: send_probe (struct outdata * outdata, struct timeval

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread hjl dot tools at gmail dot com
--- Comment #8 from hjl dot tools at gmail dot com 2009-04-29 00:42 --- This code: --- void *memcpy(void *dest, const void *src, __SIZE_TYPE__ n); struct timeval { long tv_sec; }; typedef struct timeval packed __attribute__((aligned(1))); struct outdata { long align;

[Bug middle-end/39954] [4.5 Regression] Revision 146817 caused unaligned access in gcc.dg/torture/pr26565.c

2009-04-28 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2009-04-29 00:43 --- (In reply to comment #7) How does gimple handle typedef int foo __attribute__ ((aligned(1))); The C/C++ front-end ignores the aligned here but does not mention that to you. That is a different issue though,