My 6502 C compiler tool chain as an early release. Send a private request to me for details on how to download it if you are interested.
Documentation is available here: https://drive.google.com/file/d/1Eai87NQhPZ_XoTtgwmo-g_Upk0xDAyx0/view?usp=sharing
I have installers for macOS, Arch and Debian Linux (x86_64).
Highlights:
ISO C 99 compiler for 6502/65C02. This is a freestanding implementation with many features you will typically find in a hosted compiler.
Fully reentrant code model.
Support for all integer types up to 64 bits 'long long'.
Floating point supported (32 bits IEEE-754).
Full support for struct, union, typedef and what you expect to find in C.
The C stack is located outside the zero page, which means it can be as large as available memory (in the full 64K address range).
Support for (stack allocated) variable sized arrays.
Run-time model based on using pseudo registers in the zero page.
Parameter passing uses A and pseudo zero page registers (up to 8 bytes). Any remaining arguments are passed on the stack.
The compiler utilizes zero page as much as possible for local and temporary variables.
Optimizing compiler that can output source level debugging information.
Source code debugger included.
Support for ELF/DWARF, hex output as well as RAW and PRG (Commodore) style program files.