This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] More files need va_list fixed on HP-UX 11i
- From: Bruce Korb <bkorb at veritas dot com>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc-patches at gcc dot gnu dot org, bkorb at gnu dot org
- Date: Sat, 14 Aug 2004 12:35:41 -0700
- Subject: Re: [PATCH] More files need va_list fixed on HP-UX 11i
- Organization: Home
- References: <200408141756.i7EHu4sp003138@hiauly1.hia.nrc.ca>
John David Anglin wrote:
>
> The typedef for va_list is in /usr/include/varargs.h and we don't
> use varargs.h with GCC. So, we need to substitute __gnuc_va_list
> for va_list in a bunch of other headers under HP-UX 11i. These
> tend to be headers that aren't used much or when the default HP-UX
> namespace is extended (e.g., by defining _INCLUDE__STDC_A1_SOURCE).
>
> Is this ok for main?
It starts to look like maybe GCC ought to simply take
ownership of "va_list"??? Leastwise on selected systems, viz.
IRIX and HP-UX. For now, all active branches, please.
Also start a discussion of how to identify systems where fixinc
should either replace all "va_list"-s or leave them all alone.
> Dave
> --
> J. David Anglin dave.anglin@nrc-cnrc.gc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
>
> 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
>
> * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
> curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
>
> Index: fixinc/inclhack.def
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/fixinc/inclhack.def,v
> retrieving revision 1.198
> diff -u -3 -p -r1.198 inclhack.def
> --- fixinc/inclhack.def 13 Aug 2004 21:13:55 -0000 1.198
> +++ fixinc/inclhack.def 14 Aug 2004 17:42:25 -0000
> @@ -2653,6 +2653,14 @@ fix = {
> files = stdio.h;
> files = internal/stdio_core.h;
> files = internal/wchar_core.h;
> + files = com_err.h;
> + files = cps.h;
> + files = curses.h;
> + files = krb5.h;
> + files = lc_core.h;
> + files = pfmt.h;
> + files = wchar.h;
> + files = curses_colr/curses.h;
> bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list';
You missed a couple I have:
$ find /usr/include -type f|xargs fgrep -l va_list
/usr/include/sys/stdsyms.h **
/usr/include/curses.h
/usr/include/lc_core.h
/usr/include/pfmt.h
/usr/include/stdio.h
/usr/include/varargs.h <-- NOT
/usr/include/wchar.h
/usr/include/cps.h
/usr/include/curses_colr/curses.h
/usr/include/com_err.h
/usr/include/krb5.h
/usr/include/X11R6/X11/Xlcint.h **
/usr/include/X11R6/X11/Xvarargs.h **