On 18 August 2011 11:19, Paolo Carlini <paolo.carl...@oracle.com> wrote:
> On 08/18/2011 11:42 AM, Richard Guenther wrote:
>>
>> On Thu, Aug 18, 2011 at 11:34 AM, Gerald Pfeifer<ger...@pfeifer.com>
>>  wrote:
>>>
>>> On Tue, 2 Aug 2011, Jakub Jelinek wrote:
>>>>>
>>>>> Revisions 176335 removed the traditional "#include<unistd.h>" from
>>>>> gthr-posix.h. This breaks the build of many programs (Firefox,
>>>>> Chromium,
>>>>> etc.) that implicitly rely on it.
>>>>
>>>> This isn't the first time the libstdc++ headers were cleaned up, and
>>>> each time there are dozens of programs that need to be fixed up. Each
>>>> time they just were fixed.
>>>
>>> I think that is a bit too much of a cavalier approach.
>>
>> Because you ignore the fact that this change fixed a bug.
>
> Indeed and actually a rather serious one, already reported multiple times.
> When thanks to Jon's idea and Jukub refinements we have been able to fix it
> I was very happy!


As I've already explained, we rejected certain valid programs, and
accepted certain other invalid ones.
Now we accept those valid ones and reject the invalid ones.
Which do you prefer?

Working around the GCC bug required renaming functions or variables to
avoid collisions, not even possible for third-party code.
Working around the new compiler failures involves adding a missing
header, even if it's third-party code that's wrong you can include the
missing header before including the third-party ones.
Which is easier?

In many cases those invalid programs would have been rejected by other
compilers, which don't have the same namespace pollution problem that
GCC did. If the change makes us look so bad that users switch to a
different compiler then they'll probably still have to fix those
invalid programs anyway.

Reply via email to