"The compiler has many bugs and limitations, but it works for
tinyasm purposes, and it's freely available. Supposedly it should support ANSI C, but I couldn't fit a
standard ANSI C function definition"
int f( int x, int y ) { return x * y; }
int main( void ) { return f( 3, 4 ); }
and it didn't complain? What's then that that didn't work?
(Also, I used Borland's C compiler for these platforms, and there is an official version now available for free, but it's a little annoying to download).
Just try changing the first function definition in my source for tinyasm code to "struct label define_label(char name, int value)" and it will complain of error. Same with all my functions. I didn't had time for further dive looking for the error cause, so I just resorted to K&R.
I haven't tried to use the whole setup (with all headers etc) but if I put in my .c file the definition of struct and the ANSI C version of the definition of define_label,
struct label *define_label(char* name, int value)
{ ..
then C88 compiles without errors. On the page about the compiler the author of the page writes that he had to fix the standard libraries, but the compiler (C88) is definitely made to work with ANSI C "draft" which matches my experiment.
And I surely understand it was "good enough" a solution for you to do what you did.
I've tried
from c88v31_1.zip (disk 1 on http://www.desmet-c.com/ver_31h.shtml ) with and it didn't complain? What's then that that didn't work?(Also, I used Borland's C compiler for these platforms, and there is an official version now available for free, but it's a little annoying to download).