Re: PR c++/39480 not really fixed

2011-10-28 Thread Richard Guenther
On Fri, Oct 28, 2011 at 12:54 PM, David Miller wrote: > From: Richard Guenther > Date: Fri, 28 Oct 2011 12:47:30 +0200 > >> Then we have to fix the middle-end which will happily expand >> block-moves to memcpy with exact overlap (a = a is valid in C). >> See the PR and the C testcases therein. >>

Re: PR c++/39480 not really fixed

2011-10-28 Thread David Miller
From: Richard Guenther Date: Fri, 28 Oct 2011 12:47:30 +0200 > Then we have to fix the middle-end which will happily expand > block-moves to memcpy with exact overlap (a = a is valid in C). > See the PR and the C testcases therein. > > Just trying to avoid this in the C++ frontend is bogus. Agr

Re: PR c++/39480 not really fixed

2011-10-28 Thread Richard Guenther
On Fri, Oct 28, 2011 at 12:21 PM, David Miller wrote: > From: Richard Guenther > Date: Fri, 28 Oct 2011 11:27:25 +0200 > >> On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote: >>> >>> g++.dg/init/copy7.C makes sure that memcpy() is not emitted with >>> src and dst equal. >> >> The testcase is b

Re: PR c++/39480 not really fixed

2011-10-28 Thread David Miller
From: Richard Guenther Date: Fri, 28 Oct 2011 11:27:25 +0200 > On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote: >> >> g++.dg/init/copy7.C makes sure that memcpy() is not emitted with >> src and dst equal. > > The testcase is bogus and should be removed. See the patch I posted > (and the PR

Re: PR c++/39480 not really fixed

2011-10-28 Thread Richard Guenther
On Fri, Oct 28, 2011 at 9:48 AM, David Miller wrote: > > g++.dg/init/copy7.C makes sure that memcpy() is not emitted with > src and dst equal. The testcase is bogus and should be removed. See the patch I posted (and the PR). Unfortunately the patch didn't get any review yet. > The fix installe

PR c++/39480 not really fixed

2011-10-28 Thread David Miller
g++.dg/init/copy7.C makes sure that memcpy() is not emitted with src and dst equal. The fix installed absolutely relies upon a backend implementing the movmem pattern, and essentially that such a pattern will always succeed to emit for arbitrary circumstances. However 1) not all platforms implem