updated
[tinycc.git] / TODO
blob2c6d78fd35fcbc8d0beb8911e12873208548cc71
1 TODO list:
3 - add separate symbol/offset handling (= fix some constant
4   initialisation bugs)
5 - add 'CType' structure to optimize type handling (= compile even faster)
6 - suppress unneeded hash table for Symbols (= compile even faster)
7
8 - better local variables handling (needed for other targets)
9 - setjmp is not supported properly in bound checking.
10 - To check: bound checking and float/long long/struct copy code
11 - To fix: 'sizeof' generate code if too complex expression is given.
12 - fix bound check code with '&' on local variables (currently done
13   only for local arrays).
14 - free all allocated data and use longjmp for errors (useful for libtcc use)
16 Not critical:
18 - C99: add variable size arrays
19 - C99: add complex types
20 - add PowerPC or ARM code generator and improve codegen for RISC (need
21   to suppress VT_LOCAL and use a base register instead).
22 - interactive mode / integrated debugger
23 - C99: fix multiple compound literals inits in blocks (ISOC99
24   normative example - only relevant when using gotos! -> must add
25   boolean variable to tell if compound literal was already
26   initialized).
27 - fix preprocessor symbol redefinition
28 - better constant opt (&&, ||, ?:)
29 - add portable byte code generator and interpreter for other
30   unsupported architectures.
31 - C++: variable declaration in for, minimal 'class' support.
32 - win32: add __stdcall, __intxx. use resolve for bchecked malloc et
33   al. check GetModuleHandle for dlls. check exception code (exception
34   filter func).
35 - handle void (__attribute__() *ptr)()