TLC for C99 inline implementation
commitcb8bbf1ab933343a528daee03bed12a61c743d39
authorMichael Matz <matz@suse.de>
Mon, 17 Jun 2019 01:34:03 +0000 (17 03:34 +0200)
committerMichael Matz <matz@suse.de>
Mon, 17 Jun 2019 01:34:03 +0000 (17 03:34 +0200)
tree1b5893e323a7ea738fb771806ee46039d17f5984
parent4dfc27b101a8e8c7259d368dfe1c88cb13db525a
TLC for C99 inline implementation

there's no need for two new flags in type.t .  We just can't use
VT_EXTERN as marker if functions are defined or not (like we can
for objects), and then can simply implement the rules of C99/C11
by not overwriting VT_STATIC/VT_EXTERN at all but rather only
look at them.  A function already on the inline list can be
forced by removing the VT_INLINE flag, and then linkage
follows from some combination of VT_STATIC, VT_EXTERN and VT_INLINE.
tcc.h
tccgen.c
tests/tcctest.c