This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: [PATCH] More files need va_list fixed on HP-UX 11i


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 **


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