From owner-freebsd-hackers Tue Jun 27 13:04:04 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id NAA00745 for hackers-outgoing; Tue, 27 Jun 1995 13:04:04 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id NAA00735 for ; Tue, 27 Jun 1995 13:03:58 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id FAA21846; Wed, 28 Jun 1995 05:59:48 +1000 Date: Wed, 28 Jun 1995 05:59:48 +1000 From: Bruce Evans Message-Id: <199506271959.FAA21846@godzilla.zeta.org.au> To: hackers@freebsd.org, hoppy@appsmiths.com Subject: Re: varargs.h / stdargs.h trouble Sender: hackers-owner@freebsd.org Precedence: bulk >It seems that varargs.h and stdargs.h in the distribution do not permit >vararg handling for anything smaller than an int. The macros simply call >abort, which is not the desired behavior. FreeBSD-2.x has the macros from 4.4lite. The behavior of va_start() in is undefined if the type of the arg isn't compatible with the type that results after the application of the default argument promotions (ISO C Standard 7.8.1.1). There is no standard for . >For now, I scarfed the ones that came with the gcc-2.6.2, and they work, but >I'm wonding if some repair is needed to the ones in /usr/include/sys. The in gcc-2.6.2 begins with a comment saying that va_arg(..., short) is not valid. I think older versions of gcc's went to more trouble to make it work. Bruce