This is the mail archive of the gcc@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]

Re: FreeBSD 4.0


Wes Morgan wrote:

> Trying to build the latest CVS snapshot under freebsd 4.0 fails with these
> errors:

...
> include/stdio.h:245: parse error before `__gnuc_va_list'
...

> There are a few mentions of fixing _BSD_VA_LIST_ to __gnuc_va_list in some
> of the changelogs, but I haven't seen anything conclusive... Is this a
> known problem, or is my CVS tree out of sync somehow? Or maybe I need to
> set some different CFLAGS?

I have built gcc_ss_19990913 on FreeBSD 3.2-RELEASE with the patches
in http://egcs.cygnus.com/ml/gcc-patches/1999-08/msg00728.html (they
have been *REQUIRED* on FreeBSD for some time).  The issue is that
ports may no longer override USER_T in order to keep fixinc from running.

Richard Henderson wrote:

> I just checked in a much simplified version of stdarg.h.
> Would you send me a preprocessed copy and we can figure
> out what went wrong.

Cool!  If you have upgraded past gcc_ss_19990913 and picked up
Richard's latest changes, then I can now confirm (since I just
finished a bootstrap on the mainline with his changes) that the
gcc/ginclude/stdarg.h and gcc/ginclude/varargs.h patches are no longer
needed (since he removed the code that those patches affected ;-)!

Unfortunately (although extremely minor), that means that until I get
around to investigating the root issue in fixinc, any C++ code that
relies on system headers which use _BSD_VA_LIST_ instead of va_list
(not including stdio.h which is now correctly fixed) will fail with
errors of this form:

cannot convert `void *' to `char *' for argument `X' to `foo(...)'

Richard, is it your position that all system headers must be fixed to
only reference __gnuc_va_list instead of va_list and/or
system-specific macros such as _BSD_VA_LIST_ (as was historically used
by BSD systems)?  If so, then fixinc's rule to mung _BSD_VA_LIST_ into
__gnuc_va_list must be expanded to operate on 10-15 other standard BSD
system headers...

Wes, if you could tell me if the referenced patches work for you under
FreeBSD 4.0, that could be helpful.

Regards,
Loren

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