Hi Jonathan --
I am responding because I've tried to use multiple instances of libtcc in various threads. i am not a tiny CC developer.
the short answer is no. libtcc is not designed to be reentrant. there is global state that messes stuff up sometimes when you try to use multiple instances simultaneously.
there have been several attempts to move TCC in the direction of reentrancy, but (to my knowledge) it has not happened yet.
personally, i've had luck getting two instances working by linking both statically and then dynamically in the same program. although, i'm not an expert and i could just be getting lucky. i'm now working to a "one process per two TCC instances" scheme.
for more, search the email archives for reentrant.
if i'm wrong about any of this, i hope someone with more knowledge will correct me :)