From 524be938fd042f395254336bdb0c8eb0ec9eee93 Mon Sep 17 00:00:00 2001
From: bellard <bellard>
Date: Sun, 18 Aug 2002 14:34:02 +0000
Subject: [PATCH] updated

---
 .cvsignore |  8 +++++---
 TODO       | 32 +++++++++++++++++---------------
 2 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/.cvsignore b/.cvsignore
index 40eed637..191165aa 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -55,6 +55,8 @@ libtcc_test
 p2.il
 short.prof
 tccp.c
-test1.out
-test2.out
-test3.out
+instr.S
+p.c
+p2.c
+tcctest[1234]
+test[1234].out
diff --git a/TODO b/TODO
index d0cc5d3d..2c6d78fd 100644
--- a/TODO
+++ b/TODO
@@ -1,33 +1,35 @@
 TODO list:
 
-- relocate .stabs information
-- fix -I search order (same as gcc)
-- dynamic hash table resizing
-- better section generator (suppress mmaps)
-- relocate .bounds section content
-- add size info on all ELF symbols
-- add separate symbol/offset handling
+- add separate symbol/offset handling (= fix some constant
+  initialisation bugs)
+- add 'CType' structure to optimize type handling (= compile even faster)
+- suppress unneeded hash table for Symbols (= compile even faster)
+- 
 - better local variables handling (needed for other targets)
-- handle void (__attribute__() *ptr)()
+- setjmp is not supported properly in bound checking.
 - To check: bound checking and float/long long/struct copy code
 - To fix: 'sizeof' generate code if too complex expression is given.
 - fix bound check code with '&' on local variables (currently done
   only for local arrays).
-- win32: add __stdcall, __intxx. use resolve for bchecked malloc et
-  al. check GetModuleHandle for dlls. check exception code (exception
-  filter func).
+- free all allocated data and use longjmp for errors (useful for libtcc use)
 
 Not critical:
 
+- C99: add variable size arrays
+- C99: add complex types
 - add PowerPC or ARM code generator and improve codegen for RISC (need
   to suppress VT_LOCAL and use a base register instead).
 - interactive mode / integrated debugger
-- fix multiple compound literals inits in blocks (ISOC99 normative
-  example - only relevant when using gotos! -> must add boolean
-  variable to tell if compound literal was already initialized).
-- fix L"\x1234" wide string case (need to store them as utf8 ?)
+- C99: fix multiple compound literals inits in blocks (ISOC99
+  normative example - only relevant when using gotos! -> must add
+  boolean variable to tell if compound literal was already
+  initialized).
 - fix preprocessor symbol redefinition
 - better constant opt (&&, ||, ?:)
 - add portable byte code generator and interpreter for other
   unsupported architectures.
 - C++: variable declaration in for, minimal 'class' support.
+- win32: add __stdcall, __intxx. use resolve for bchecked malloc et
+  al. check GetModuleHandle for dlls. check exception code (exception
+  filter func).
+- handle void (__attribute__() *ptr)()