I admit it is confusing, and this is certainly my fault.
From Apollo's reaction I assume that he didn't expect the
kick13sm
config file to enable 16-bit int. He probably thought that the 's' stands for small code/data, which is also used here.
It adds to the confusion that small data linker libs have an 's' appended:
vcs.lib
,
amigas.lib
,
m881s.lib
.
But for the config files the 's' stands for "short int" (16-bit), as the 16-bit version of the m68k compiler backend is also called
vbccm68ks
instead of
vbccm68k
(default, 32 bit int).
The choice of the data model doesn't need a different config file. Just add
-sc
and/or
-sd
as you need it. But for small-data don't forget to link with the correct libraries:
-lvcs
is required to override the
-lvc
from the config file.
At last: As you already enabled C99, please feel free to include
<stdint.h>
which might replace your own
types.h
.