From owner-freebsd-current Tue Jan 21 21:15:45 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id VAA13358 for current-outgoing; Tue, 21 Jan 1997 21:15:45 -0800 (PST) Received: from mail.crl.com (mail.crl.com [165.113.1.22]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id VAA13340; Tue, 21 Jan 1997 21:15:39 -0800 (PST) Received: from godzilla.zeta.org.au by mail.crl.com with SMTP id AA20513 (5.65c/IDA-1.5); Tue, 21 Jan 1997 20:45:24 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.3/8.6.9) id PAA02264; Wed, 22 Jan 1997 15:43:21 +1100 Date: Wed, 22 Jan 1997 15:43:21 +1100 From: Bruce Evans Message-Id: <199701220443.PAA02264@godzilla.zeta.org.au> To: jlemon@americantv.com, phk@freebsd.org Subject: Re: GCC or TEXINFO bug... Cc: current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >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 , which doesn't use gcc's __builtin_next_arg(). gcc should notice that it is used and not inline functions that have it. uses it, but I think there's another gcc builtin that it should be using. Bruce