This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: gets with C++ and GCC before 4.7


I do generally agree with the principle of not rendering things broken.
But sometimes it is better for things to be broken for a little while than
to have a band-aid fix go in and risk the proper fix being dropped on the
floor because the immediate pain point has been eased.  Moreover, I really
consider anything involving C++ far less critical that an issue like
building libc itself being broken.

I agree with Ulrich about the right answer being for newer GCC to predefine
a specific symbol about this, e.g. __cplusplus_no_gets.  Then anyone doing
backports of the relevant libstdc++ work can add this predefine to their
backport GCC version, though they cannot change its __GNUC_MINOR__ value.

Given that 4.7 has not actually been released yet, there is no reason we
cannot get that resolved forthwith.  Ideally the predefine change would be
committed on the GCC trunk and 4.7 branch before we commit a change
expecting it to libc.  But even just getting assent from GCC maintainers on
what the name and meaning should be is enough (though I really don't see
why it wouldn't be immediately committed at least to the trunk).

Since the sense of the test will be that the macro being missing will mean
stdio.h does the most-compatible thing, there is no real risk in putting in
the libc change before there is actually a new GCC to test it with.  But
I'd still like to see the scheme made firm on the GCC side before we touch
libc again, both to avoid unnecessary flutter and since there is no earthly
reason it cannot all be resolved quite quickly.


Thanks,
Roland


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