delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/07/01/06:55:59

Date: Thu, 1 Jul 1999 12:32:18 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Bill Currie <bill AT taniwha DOT org>
cc: djgpp-workers AT delorie DOT com
Subject: Re: Regparm and asm statements.. what now?
In-Reply-To: <3779C9A1.35125F69@taniwha.org>
Message-ID: <Pine.SUN.3.91.990701123158.10503G-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Wed, 30 Jun 1999, Bill Currie wrote:

> > > According to ANSI C, users can legitimately do that, and still assume
> > > they get a working program.
> 
> IMHO, broken spec.  Nuff said.

This ``broken spec'' has survived for 10 years with virtually no
changes, C being the most used language all that time.

IMHO, every ruling of the ANSI C standard has very good reason for
being there.  In this case, there are tons of programs out there which
say things like "char *malloc();" instead of including the header,
because some old compilers didn't have prototypes for some functions,
notably those which return an int.

> On archs that use N (usually 4) regs by default (eg i860, pa-risc, most
> risc?), the convention is that the first N parameter words (not
> necessarily parameters themselves, depends on param size) are *ALWAYS*
> passed in the registers

I don't have anything against changing the default parameter-passing
convention in GCC.  I do see grave problems if we compile libc.a with a
non-default convention, and that was all I was trying to say.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019