From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14441 invoked by alias); 24 Jul 2002 11:53:02 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 14428 invoked from network); 24 Jul 2002 11:52:59 -0000 Received: from unknown (HELO fadata.bg) (80.72.64.67) by sources.redhat.com with SMTP; 24 Jul 2002 11:52:59 -0000 Received: (qmail 10909 invoked by uid 1000); 24 Jul 2002 11:52:55 -0000 To: gcc@gcc.gnu.org Subject: PROMOTE_PROTOTYPES nonstandard ? X-No-CC: Reply to lists, not to me. From: Momchil Velikov Date: Wed, 24 Jul 2002 11:38:00 -0000 Message-ID: <87n0shs7sa.fsf@fadata.bg> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-07/txt/msg01155.txt.bz2 ISO/IEC 9899:1999 - 6.5.2.2 Function calls [#7] If the expression that denotes the called function has a type that does include a prototype, the arguments are implicitly converted, as if by assignment, to the types of the corresponding parameters, taking the type of each parameter to be the unqualified version of its declared type. The ellipsis notation in a function prototype declarator causes argument type conversion to stop after the last declared parameter. The default argument promotions are performed on trailing arguments. [#8] No other conversions are performed implicitly; gccint.texi `PROMOTE_PROTOTYPES' A C expression whose value is nonzero if an argument declared in a prototype as an integral type smaller than `int' should actually be passed as an `int'. Does that mean that targets, which #define PROMOTE_PROTOTYPES 1 (almost all) are non iso9899:1999 compliant ? ~velco