g++ 2.5.2 does not catch reference to local variable error.

2011-08-03 Thread LIM Fung-Chai
Hi, "g++ -Wall -Wextra ..." should flag a warning on the following code but does not. std::pair get_XYZ_data() { XYZ result; return std::pair(1, result); } This is a violation of Scott Meyer's "Effective C++" Item 21 "Don't try to return a reference when you must return an object." GCC

Re: libgcc: strange optimization

2011-08-03 Thread Hans-Peter Nilsson
On Wed, 3 Aug 2011, Ulrich Weigand wrote: > Richard Guenther wrote: > > asm ("scall" : : "asm("r0")" (10), ...) > Maybe it would be possible to implement this while keeping the syntax > of existing code by (re-)defining the semantics of register asm to > basically say that: > > If a variable X is

Re: [RFC] Remove -freorder-blocks-and-partition

2011-08-03 Thread Xinliang David Li
On Wed, Aug 3, 2011 at 2:06 PM, Jan Hubicka wrote: >> In xalancbmk, with the partition option, most of object files have >> nonzero size cold sections generated. The text size of the binary is >> increased to 3572728 bytes from 3466790 bytes.  Profiling the program >> using the training input show

Re: [RFC] Remove -freorder-blocks-and-partition

2011-08-03 Thread Jan Hubicka
> In xalancbmk, with the partition option, most of object files have > nonzero size cold sections generated. The text size of the binary is > increased to 3572728 bytes from 3466790 bytes. Profiling the program > using the training input shows the following differences. With > partitioning, number

Re: [RFC] Remove -freorder-blocks-and-partition

2011-08-03 Thread Jan Hubicka
> On 07/25/2011 06:42 AM, Xinliang David Li wrote: >> FYI the performance impact of this option with SPEC06 (built with >> google_46 compiler and measured on a core2 box). The base line number >> is FDO, and ref number is FDO + reorder_with_partitioning. >> >> xalancbmk improves> 3.5% >> perlben

Re: [RFC] Remove -freorder-blocks-and-partition

2011-08-03 Thread Jan Hubicka
Hi, > The worst part is that test coverage for this feature is > extremely poor. It's very difficult to tell if any cleanup > in this area is likely to introduce more bugs than it fixes. > > After 3 days fighting with this code, I had a bit of a > cathartic whine on IRC. I got two votes to just

Re: Performance degradation on g++ 4.6

2011-08-03 Thread Xinliang David Li
Scanning through the profile data you provided -- test functions such as test_constant ...> completely disappeared in 4.1's profile which means they are inlined by gcc4.1. They exist in 4.6's profile. For the unsigned short case where neither version inlines the call, 4.6 version is much faster. D

2011 GCC Summit.

2011-08-03 Thread Andrew J. Hutton
I wanted to let everyone know that the planning for the 2011 GCC and GNU Toolchain Developers' Summit is well underway and I hope to have the dates and locations confirmed any time now. The aim is the same timing as 2010 in the 3rd week of October. Start thinking about the topics you're most

Re: libgcc: strange optimization

2011-08-03 Thread Richard Henderson
On 08/03/2011 07:02 AM, Richard Guenther wrote: > Reserved registers are a no-go (like %esp), either global or local. Local register variables referring to anything in fixed_regs are trivial to handle -- continue to treat them exactly as we currently do. They won't be clobbered by random code mov

Re: libgcc: strange optimization

2011-08-03 Thread Georg-Johann Lay
Richard Guenther wrote: > On Wed, Aug 3, 2011 at 3:27 PM, Michael Matz wrote: >> Hi, >> >> On Wed, 3 Aug 2011, Richard Guenther wrote: >> Yes, that's reasonable. As I understand the docs, in code like void foo () { register int var asm ("r1") = 10; asm (";; use r

Re: libgcc: strange optimization

2011-08-03 Thread Richard Guenther
On Wed, Aug 3, 2011 at 3:27 PM, Michael Matz wrote: > Hi, > > On Wed, 3 Aug 2011, Richard Guenther wrote: > >> > Yes, that's reasonable.  As I understand the docs, in code like >> > >> > void foo () >> > { >> >   register int var asm ("r1") = 10; >> >   asm (";; use r1"); >> > } >> > >> > there is

Re: libgcc: strange optimization

2011-08-03 Thread Michael Matz
Hi, On Wed, 3 Aug 2011, Richard Guenther wrote: > > Yes, that's reasonable.  As I understand the docs, in code like > > > > void foo () > > { > >   register int var asm ("r1") = 10; > >   asm (";; use r1"); > > } > > > > there is nothing that connects var to the asm and assuming that > > r1 holds

Re: libgcc: strange optimization

2011-08-03 Thread Richard Guenther
On Wed, Aug 3, 2011 at 11:50 AM, Georg-Johann Lay wrote: > Ulrich Weigand wrote: >> Richard Guenther wrote: >>> On Tue, Aug 2, 2011 at 3:23 PM, Ian Lance Taylor wrote: Richard Guenther writes: > I suggest to amend the documentation for local call-clobbered register > variables to sa

Re: libgcc: strange optimization

2011-08-03 Thread Georg-Johann Lay
Ulrich Weigand wrote: > Richard Guenther wrote: >> On Tue, Aug 2, 2011 at 3:23 PM, Ian Lance Taylor wrote: >>> Richard Guenther writes: I suggest to amend the documentation for local call-clobbered register variables to say that the only valid sequence using them is from a non-inli

Re: libgcc: strange optimization

2011-08-03 Thread Ulrich Weigand
Richard Guenther wrote: > On Tue, Aug 2, 2011 at 3:23 PM, Ian Lance Taylor wrote: > > Richard Guenther writes: > >> I suggest to amend the documentation for local call-clobbered register > >> variables to say that the only valid sequence using them is from a > >> non-inlinable function that conta

Re: gcc.gnu.org Bugzilla: Perl error Can't locate mro.pm in @INC

2011-08-03 Thread Frédéric Buclin
Le 26. 01. 11 17:04, Frank Ch. Eigler a écrit : Can't locate mro.pm in @INC > > This may be fixed now, with a hand-made dummy mro.pm file. I think I know what's wrong. I will paste what I wrote at https://bugzilla.mozilla.org/show_bug.cgi?id=675633#c2: email_in.pl requires Email::Reply whic