From bc427f5bec9554d5759a2888daafc18b76056e11 Mon Sep 17 00:00:00 2001 From: bellard Date: Sat, 31 Aug 2002 12:44:16 +0000 Subject: [PATCH] update --- Makefile | 33 ++++++++++++++++++--------------- TODO | 13 ++++++++----- tcc-doc.texi | 13 ++++++++++++- 3 files changed, 38 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 98c45d1c..0abaa638 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ CFLAGS+=-m386 -malign-functions=0 CFLAGS+=-DCONFIG_TCC_PREFIX=\"$(prefix)\" DISAS=objdump -d INSTALL=install -VERSION=0.9.10 +VERSION=0.9.11 # run local version of tcc with local libraries and includes TCC=./tcc -B. -I. @@ -117,7 +117,7 @@ bcheck.o: bcheck.c install: tcc libtcc1.o bcheck.o $(INSTALL) -m755 tcc $(prefix)/bin - $(INSTALL) tcc.1 $(prefix)/share/man/man1 + $(INSTALL) tcc.1 $(prefix)/man/man1 mkdir -p $(prefix)/lib/tcc mkdir -p $(prefix)/lib/tcc/include $(INSTALL) -m644 libtcc1.o bcheck.o $(prefix)/lib/tcc @@ -179,21 +179,24 @@ instr.o: instr.S tcc-doc.html: tcc-doc.texi texi2html -monolithic -number $< +FILES= Makefile Makefile.uClibc \ + README TODO COPYING \ + Changelog tcc-doc.texi tcc-doc.html \ + tcc.1 \ + tcc.c i386-gen.c tccelf.c tcctok.h \ + bcheck.c libtcc1.c \ + il-opcodes.h il-gen.c \ + elf.h stab.h stab.def \ + stddef.h stdarg.h stdbool.h float.h \ + tcclib.h libtcc.h libtcc_test.c \ + ex1.c ex2.c ex3.c ex4.c ex5.c \ + tcctest.c boundtest.c + FILE=tcc-$(VERSION) tar: rm -rf /tmp/$(FILE) - cp -r ../tcc /tmp/$(FILE) - ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz \ - $(FILE)/Makefile $(FILE)/Makefile.uClibc \ - $(FILE)/README $(FILE)/TODO $(FILE)/COPYING \ - $(FILE)/Changelog $(FILE)/tcc-doc.texi $(FILE)/tcc-doc.html \ - $(FILE)/tcc.1 \ - $(FILE)/tcc.c $(FILE)/i386-gen.c $(FILE)/tccelf.c $(FILE)/tcctok.h \ - $(FILE)/bcheck.c $(FILE)/libtcc1.c \ - $(FILE)/il-opcodes.h $(FILE)/il-gen.c \ - $(FILE)/elf.h $(FILE)/stab.h $(FILE)/stab.def \ - $(FILE)/stddef.h $(FILE)/stdarg.h $(FILE)/stdbool.h $(FILE)/float.h \ - $(FILE)/tcclib.h $(FILE)/libtcc.h $(FILE)/libtcc_test.c \ - $(FILE)/ex*.c $(FILE)/tcctest.c $(FILE)/boundtest.c ) + mkdir -p /tmp/$(FILE) + cp -P $(FILES) /tmp/$(FILE) + ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) ) rm -rf /tmp/$(FILE) diff --git a/TODO b/TODO index 8c23290f..c8a092ad 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,18 @@ TODO list: -- add separate symbol/offset handling (= fix some constant - initialisation bugs) -- setjmp is not supported properly in bound checking. +- fix constant error msg +- add alloca() +- add typeof() +- add checks for multiple including of same file (= compile even faster) - add 'CType' structure to optimize type handling (= compile even faster) - suppress unneeded hash table for Symbols (= compile even faster) -- add checks for multiple including of same file (= compile even faster) +- ignore at least asm extension +- setjmp is not supported properly in bound checking. - better local variables handling (needed for other targets) - fix bound check code with '&' on local variables (currently done only for local arrays). -- To check: bound checking and float/long long/struct copy code +- To check: bound checking and float/long long/struct copy code. bound + checking and symbol + offset optimization - To fix: 'sizeof' generate code if too complex expression is given. - free all allocated data and use longjmp for errors (useful for libtcc use) diff --git a/tcc-doc.texi b/tcc-doc.texi index df50133f..d9abd168 100644 --- a/tcc-doc.texi +++ b/tcc-doc.texi @@ -67,9 +67,12 @@ Compile a.c and b.c, link them and generate the executable myprog. @item tcc -o myprog a.o b.o link a.o and b.o together and generate the executable myprog. -@item tcc -c -o a.o a.c +@item tcc -c a.c Compile a.c and generate object file a.o +@item tcc -r -o ab.o a.c b.c +Compile a.c and b.c, link them together and generate the object file ab.o. + @end table Scripting: @@ -163,6 +166,10 @@ must also be given). Generate a statically linked executable (default is a shared linked executable) (@samp{-o} option must also be given). +@item -r +Generate an object file combining all input files (@samp{-o} option must +also be given). + @end table @chapter C language support @@ -309,6 +316,10 @@ generate function @code{'my_add'} in section @code{.mycodesection}. dprintf("one arg %d\n", 1); @end example +@item @code{__FUNCTION__} is interpreted as C99 @code{__func__} +(so it has not exactly the same semantics as string literal GNUC +where it is a string literal). + @end itemize @section TinyCC extensions -- 2.11.4.GIT