Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jan 1997 15:43:21 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        jlemon@americantv.com, phk@freebsd.org
Cc:        current@freebsd.org
Subject:   Re: GCC or TEXINFO bug...
Message-ID:  <199701220443.PAA02264@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Compiling with -O3 inlines functions.  However the function that is being
>inlined in makeinfo.c (add_word_args()) is a vararg function and must not be 
>inlined. 
>
>The code in question is K&R style, and AFIK, there is no way for the compiler
>to determine that the function uses vararg.  Either change the code to use
>prototypes, or use stdarg, or add a directive to prevent inlining.

Not declaring a varargs function as varargs before it is used gives
undefined behaviour.

However, in practice the bug is probably in FreeBSD's <varargs.h>, which
doesn't use gcc's __builtin_next_arg().  gcc should notice that it is
used and not inline functions that have it.  <stdarg.h.> uses it, but I
think there's another gcc builtin that it should be using.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701220443.PAA02264>