mirror of
https://github.com/mirror/tinycc.git
synced 2025-02-04 06:30:10 +08:00
update
This commit is contained in:
parent
540d31895c
commit
bc427f5bec
33
Makefile
33
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)
|
||||
|
13
TODO
13
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)
|
||||
|
||||
|
13
tcc-doc.texi
13
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
|
||||
|
Loading…
Reference in New Issue
Block a user