This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.4 PATCH: Improve IRIX 6.5 <internal/stdio_core.h> fixing
Bruce Korb writes:
> I'm surprised it works. This expression:
> > + "s@[ \t]va_list _ap;@__gnuc_va_list _ap;@\n"
>
> ought to leave the above line looking like this:
> > + __SGI_LIBC_NAMESPACE_QUALIFIER__gnuc_va_list _ap;
>
> assuming I am not misreading :-}, that isn't exactly right,
> either. (easy to do, misreading that stuff ...)
> Ah, I get it, this new expression doesn't function
> anymore because the first substitution will always catch
> it first. Please, just delete the expression. Thanks.
Indeed: I've just removed it, rebuilt/reran fixincludes and verified that
interlal/stdio_core.h is still fixed correctly. Thanks for catching this.
Ok with that change?
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Thu Oct 2 19:24:42 2003 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
(irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
introduced some multi-line prototypes.
* fixinc/fixincl.x: Regenerate.
Index: inclhack.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fixinc/inclhack.def,v
retrieving revision 1.181
diff -u -p -r1.181 inclhack.def
--- inclhack.def 29 Sep 2003 20:02:07 -0000 1.181
+++ inclhack.def 6 Oct 2003 20:24:49 -0000
@@ -1480,9 +1480,9 @@ fix = {
files = stdio.h;
files = internal/stdio_core.h;
- select = '(printf\(.*), /\* va_list \*/ char \*';
+ select = '/\* va_list \*/ char \*';
c_fix = format;
- c_fix_arg = "%1, __gnuc_va_list";
+ c_fix_arg = "__gnuc_va_list";
test_text =
"extern int printf( const char *, /* va_list */ char * );";
};
@@ -2406,7 +2406,6 @@ fix = {
*/
sed = "s@ va_list @ __gnuc_va_list @\n"
"s@ va_list)@ __gnuc_va_list)@\n"
- "s@va_list _ap;@__gnuc_va_list _ap;@\n"
"s@(va_list)&@(__gnuc_va_list)\\&@\n"
"s@ _VA_LIST_));@ __gnuc_va_list));@\n"
"s@ __VA_LIST__));@ __gnuc_va_list));@\n"