Bogus fixinclude of stdio.h from glibc 2.2.3
Bruce Korb
bkorb@pacbell.net
Sat May 19 16:11:00 GMT 2001
Hi Joseph,
This patch has not been touched in a very long time.
I suspect you are seeing the results of switching from
no Linux fixes to the program. It is interesting that
it went unnoticed for so long.
At any rate, you said,
> The following are the diffs generated. This change is bogus; the
> va_list typedef under __USE_XOPEN is for Single Unix Specification
> conformance.
So, I need some more information. Can you help refine
the division between those stdio.h headers that need this
patch and those that do not?
/*
* Don't use or define the name va_list in stdio.h.
* This is for ANSI and also to interoperate properly with gcc's
* varargs.h. Note _BSD_VA_LIST_ is dealt with elsewhere.
*/
fix = {
hackname = stdio_va_list;
files = stdio.h;
bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list';
/*
* Use __gnuc_va_list in arg types in place of va_list.
* On 386BSD use __gnuc_va_list instead of _VA_LIST_. We're hoping the
* trailing parentheses and semicolon save all other systems from this.
* Define __not_va_list__ (something harmless and unused)
* instead of va_list.
* Don't claim to have defined va_list.
*/
sed = "s@ va_list @ __gnuc_va_list @\n"
"s@ va_list)@ __gnuc_va_list)@\n"
"s@ _VA_LIST_));@ __gnuc_va_list));@\n"
"s@ va_list@ __not_va_list__@\n"
"s@\\*va_list@*__not_va_list__@\n"
"s@ __va_list)@ __gnuc_va_list)@\n"
"s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;"
"@typedef \\1 __not_va_list__;@\n"
"s@GNUC_VA_LIST@GNUC_Va_LIST@\n"
"s@_NEED___VA_LIST@_NEED___Va_LIST@\n"
"s@VA_LIST@DUMMY_VA_LIST@\n"
"s@_Va_LIST@_VA_LIST@";
test_text = "extern void mumble( va_list);";
};
More information about the Gcc-bugs
mailing list