Dwight Schauer wrote:
Initially it looks like I would need to compile each code in a separate TCC State and update the symbols for each subsequent TCC State. I'd like to look investigate as well what it would take to not use additional states, and just use the same state, and doing delta management as opposed to managing multiple TCC State segments, which may quickly snowball in terms of symbol management depending on the type of application I'd be using this in.
It is currently possible to create as many states as you want, and each new state starts with a fresh symbol space, but for each state compilation needs to be finished before other states are created. (That is because many global variables are used during compilation). After that there is only symbols and debug info in the state which you can keep or delete as needed.
On a side note: tcc does not build cleanly on 64 bit for 64 bit development. It has some warnings which are very disturbing, "warning: cast to pointer from integer of different size" and "warning: field width should have type ‘int’, but argument 3 has type ‘long int’" . If I do pursue libtcc for anything I do, the first thing I'm going to need is turn on -Werror for the compile options and correct all the sizes, and in the end have with patches to submit. (My approach for this sort of thing is to always correct the sizes where need and never massage the casts). I'm not promising anything though....
That's from 0.9.25? Should be fixed mostly in current master branch. http://repo.or.cz/w/tinycc.git Commit patches (if any) directly on our "mob" branch. Thanks, --- grischka
Dwight
_______________________________________________ Tinycc-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/tinycc-devel
