Re: [cc65] __fastcall__

From: Alan Cox <>
Date: 2015-01-12 21:49:44
It saves me about 500 bytes on 37K of code - nice to have.

However it was far too painful to go and add __fastcall__ to
everything in the tree, especially as it has to build on Z80, 6809 and
6502 already with more to follow.

Instead I added --all-fastcall to the compiler (patch attached).

When this is set all functions except varadic ones become __fastcall
and all function pointers are implicitly forced to __fastcall. Your
runtime needs to expect main() to be a fastcall and to be compiled
__fastcall (or all __fastcall anyway). The other restriction is the
same one you get with __fastcall functions and pointers, the pointer
type must match. That effectively means you can't use --all-fastcall
if you have pointers to varadic functions. Hopefully very few people
do that.


To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Jan 12 21:49:54 2015

This archive was generated by hypermail 2.1.8 : 2015-01-12 21:49:56 CET