This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Bug c++/19199] [3.3/3.4/4.0/4.1 Regression] Wrong warning about returning a reference to a temporary


Steven Bosscher <stevenb@suse.de> wrote:

>> The way I think about this is that G++ has long supported the GNU
>> min/max expression extension -- and it's long been broken.  Over the
>> years, I've fielded several bug reports about that extension, and we've
>> gradually cleaned it up, but mostly it's just been neglected.
>
> Indeed, not so very long a go I helped pinning down a bug in the RTL
> expanders for MIN_EXPR and MAX_EXPR (I think that Roger fixed it) that
> made it impossible for that extension to work relyably.  The reason we
> found it is that the tree optimizers produces a few (and hopefully it
> will produce more of them soon), but the bug in the expanders had been
> there since the dawn of time.  And nobody noticed it before.

Well, that sounds largely impossible. Can you point exactly which bug are
you talking of? I know for a fact that the extension itself has always
worked for basic rvalue usage, with basic types. Instead, I would not be
surprised if some more complex usage of it used to be (or still is) broken,
like weird lvalue contexts, usage in templates, operator overloading or
similar.
-- 
Giovanni Bajo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]