Steven Bosscher <[EMAIL PROTECTED]> 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