This commit is contained in:
bellard 2002-12-08 14:34:02 +00:00
parent abf909e1ac
commit dc685c6b7d
3 changed files with 18 additions and 8 deletions

View file

@ -9,11 +9,11 @@ LIBS=-ldl
CFLAGS_P=$(CFLAGS) -pg -static -DCONFIG_TCC_STATIC CFLAGS_P=$(CFLAGS) -pg -static -DCONFIG_TCC_STATIC
LIBS_P= LIBS_P=
CFLAGS+=-m386 -malign-functions=0 CFLAGS+=-m386 -malign-functions=0 -mpreferred-stack-boundary=2
CFLAGS+=-DCONFIG_TCC_PREFIX=\"$(prefix)\" CFLAGS+=-DCONFIG_TCC_PREFIX=\"$(prefix)\"
DISAS=objdump -d DISAS=objdump -d
INSTALL=install INSTALL=install
VERSION=0.9.14 VERSION=0.9.15
# run local version of tcc with local libraries and includes # run local version of tcc with local libraries and includes
TCC=./tcc -B. -I. TCC=./tcc -B. -I.
@ -164,6 +164,9 @@ libtcc.a: libtcc.o
libtcc_test: libtcc_test.c libtcc.a libtcc_test: libtcc_test.c libtcc.a
gcc $(CFLAGS) -I. -o $@ $< -L. -ltcc -ldl gcc $(CFLAGS) -I. -o $@ $< -L. -ltcc -ldl
libtest: libtcc_test
./libtcc_test
# targets for development # targets for development
%.bin: %.c tcc %.bin: %.c tcc

7
README
View file

@ -35,6 +35,11 @@ Documentation:
Type 'make install' to compile and install tcc in /usr/local/bin and Type 'make install' to compile and install tcc in /usr/local/bin and
/usr/local/lib/tcc. /usr/local/lib/tcc.
Or type 'make all' to only compile it.
Type 'make libinstall' to compile and install libtcc.
Or type 'make libtcc_test' to only compile it.
2) Introduction 2) Introduction
We assume here that you know ANSI C. Look at the example ex1.c to know We assume here that you know ANSI C. Look at the example ex1.c to know
@ -68,7 +73,7 @@ ex5.c: 'hello world' with standard glibc headers.
tcc.c: TCC can of course compile itself. Used to check the code tcc.c: TCC can of course compile itself. Used to check the code
generator. generator.
prog.c: auto test for TCC which tests many subtle possible bugs. Used tcctest.c: auto test for TCC which tests many subtle possible bugs. Used
when doing 'make test'. when doing 'make test'.
4) Full Documentation 4) Full Documentation

12
TODO
View file

@ -1,12 +1,15 @@
TODO list: TODO list:
- finish varargs.h support - add statment expressions (linux kernel compilation)
- implement minimal 'asm' extension (linux kernel compilation)
- handle static inline, then normal prototype.
- support link once trick (gcc 3.2 / glibc compilation issue)
- finish varargs.h support (gcc 3.2 testsuite issue)
- add alloca() - add alloca()
- fix static functions declared inside block - fix static functions declared inside block
- fix bitfield binary operations - fix bitfield binary operations
- C99: add variable size arrays - C99: add variable size arrays (gcc 3.2 testsuite issue)
- C99: add complex types - C99: add complex types (gcc 3.2 testsuite issue)
- GCC: add statment expressions
- ignore __extension__ keyword (see 20010328-1.c). - ignore __extension__ keyword (see 20010328-1.c).
- Add __restrict keyword (20010611-1.c). - Add __restrict keyword (20010611-1.c).
- postfix compound literals (see 20010124-1.c) - postfix compound literals (see 20010124-1.c)
@ -17,7 +20,6 @@ TODO list:
- test includes in libtcc_test. - test includes in libtcc_test.
- look at GCC 3.2 compatibility problems. - look at GCC 3.2 compatibility problems.
- add option for auto run - add option for auto run
- implement minimal 'asm' extension
- setjmp is not supported properly in bound checking. - setjmp is not supported properly in bound checking.
- better local variables handling (needed for other targets) - better local variables handling (needed for other targets)
- fix bound check code with '&' on local variables (currently done - fix bound check code with '&' on local variables (currently done