Date: Thu, 1 Jul 1999 12:32:18 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Bill Currie cc: djgpp-workers AT delorie DOT com Subject: Re: Regparm and asm statements.. what now? In-Reply-To: <3779C9A1.35125F69@taniwha.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Precedence: bulk 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.