grischka
2d3b9559bf
tcctools.c: integrate tiny_libmaker/_impdef
...
usage:
tcc -ar [rcsv] lib files...
tcc -impdef lib.dll [-v] [-o lib.def]
also:
- support more files with -c: tcc -c f1.c f2.c ...
- fix a bug which caused tcc f1.c f2.S to produce no asm
- allow tcc -ar @listfile too
- change prototype: _void_ tcc_set_options(...)
- apply -Wl,-whole-archive when a librariy is given
as libxxx.a also (not just for -lxxx)
2017-02-18 09:55:34 +01:00
grischka
43d9a7de9b
updates & cleanups (tcc-doc/Changelog/TODO ...)
...
- tcc-doc.texi: commandline option info update
- Changelog/TODO: update
- tests/tcctest.py: removed
- tests/Makefile: weaktest fixed
- tests/tests2: some files renamed and/or converted to unix LF
- configure/Makefile: --enable-static option (no dll on win32)
- win32/build-tcc.bat: msvc support
- win32/tcc-win32.txt: build info update
- win32/vs2015/: VS solution removed
- win32/include/tcc/tcc_libm.h: #include statement fixed
- tcc.c: -include <file> option help info
- .gitignore: cleanup
2017-02-13 19:03:29 +01:00
Edmund Grimley Evans
f5f82abc99
Insert spaces between certain tokens when tcc is invoked with -E.
...
Insert a space when it is required to prevent mistokenisation of
the output, and also in a few cases where it is not strictly
required, imitating GCC's behaviour.
2016-05-09 19:27:31 +01:00
Edmund Grimley Evans
68ce8639bb
TODO: Add two issues.
2016-04-24 22:44:57 +01:00
Edmund Grimley Evans
1c2dfa1f4b
Change the way struct CStrings are handled.
...
A CString used to be copied into a token string, which is an int array.
On a 64-bit architecture the pointers were misaligned, so ASan gave
lots of warnings. On a 64-bit architecture that required memory
accesses to be correctly aligned it would not work at all.
The CString is now included in CValue instead.
2015-11-26 12:40:50 +00:00
Edmund Grimley Evans
4886d2c640
TODO: Add two issues.
2015-11-26 12:31:23 +00:00
Edmund Grimley Evans
cfef9ac3f5
TODO: Add note on handling of floating-point values.
2015-11-21 10:35:47 +00:00
Edmund Grimley Evans
dd40d6a068
TODO: Add some issues.
2015-11-21 00:04:58 +00:00
Edmund Grimley Evans
3ff77a1d6f
Improve constant propagation with "&&" and "||".
2015-11-20 23:33:49 +00:00
gus knight
89ad24e7d6
Revert all of my changes to directories & codingstyle.
2015-07-29 16:57:12 -04:00
gus knight
47e06c6d4e
Reorganize the source tree.
...
* Documentation is now in "docs".
* Source code is now in "src".
* Misc. fixes here and there so that everything still works.
I think I got everything in this commit, but I only tested this
on Linux (Make) and Windows (CMake), so I might've messed
something up on other platforms...
2015-07-27 16:03:25 -04:00
Urs Janssen
0db7f616ad
remove doubled prototype
...
fix documentation about __TINYC__
define __STDC_HOSTED__ like __STDC__
2013-02-18 15:44:18 +01:00
Joe Soroka
ace0f7f259
re-apply VLA by Thomas Preud'homme
2011-04-06 09:17:03 -07:00
Thomas Preud'homme
db560e9439
Revert "Implement C99 Variable Length Arrays"
...
This reverts commit a5a50eaafe
.
2011-02-05 02:33:46 +01:00
Thomas Preud'homme
a5a50eaafe
Implement C99 Variable Length Arrays
...
Implement C99 Variable Length Arrays in tinycc:
- Support VLA with multiple level (nested vla)
- Update documentation with regards to VT_VLA
- Add a testsuite in tcctest.c
2011-02-04 02:22:25 +01:00
Kirill Smelkov
0c928da96d
tcc: Draft suppoprt for -MD/-MF options
...
In build systems, this is used to automatically collect target
dependencies, e.g.
---- 8< (hello.c) ----
#include "hello.h"
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
$ tcc -MD -c hello.c # -> hello.o, hello.d
$ cat hello.d
hello.o : \
hello.c \
hello.h \
/usr/include/stdio.h \
/usr/include/features.h \
/usr/include/bits/predefs.h \
/usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h \
/usr/include/bits/wordsize.h \
/usr/include/gnu/stubs-32.h \
/home/kirr/local/tcc/lib/tcc/include/stddef.h \
/usr/include/bits/types.h \
/usr/include/bits/wordsize.h \
/usr/include/bits/typesizes.h \
/usr/include/libio.h \
/usr/include/_G_config.h \
/usr/include/wchar.h \
/home/kirr/local/tcc/lib/tcc/include/stdarg.h \
/usr/include/bits/stdio_lim.h \
/usr/include/bits/sys_errlist.h \
NOTE: gcc supports -MD only for .c -> .o, but in tcc, we generate
dependencies for whatever action is being taken. E.g. for .c -> exe, the
result will be:
$ tcc -MD -o hello hello.c # -> hello, hello.d
hello: \
/usr/lib/crt1.o \
/usr/lib/crti.o \
hello.c \
hello.h \
/usr/include/stdio.h \
/usr/include/features.h \
/usr/include/bits/predefs.h \
/usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h \
/usr/include/bits/wordsize.h \
/usr/include/gnu/stubs-32.h \
/home/kirr/local/tcc/lib/tcc/include/stddef.h \
/usr/include/bits/types.h \
/usr/include/bits/wordsize.h \
/usr/include/bits/typesizes.h \
/usr/include/libio.h \
/usr/include/_G_config.h \
/usr/include/wchar.h \
/home/kirr/local/tcc/lib/tcc/include/stdarg.h \
/usr/include/bits/stdio_lim.h \
/usr/include/bits/sys_errlist.h \
/usr/lib/libc.so \
/lib/libc.so.6 \
/usr/lib/ld-linux.so.2 \
/lib/ld-linux.so.2 \
/usr/lib/libc_nonshared.a \
/lib/libc.so.6 \
/usr/lib/libc_nonshared.a \
/home/kirr/local/tcc/lib/tcc/libtcc1.a \
/usr/lib/crtn.o \
So tcc dependency generator is a bit more clever than one used in gcc :)
Also, I've updated TODO and Changelog (in not-yet-released section).
v2:
(Taking inputs from grischka and me myself)
- put code to generate deps file into a function.
- used tcc_fileextension() instead of open-coding
- generate deps only when compilation/preprocessing was successful
v3:
- use pstrcpy instead of snprintf(buf, sizeof(buf), "%s", ...)
2010-06-21 20:49:02 +04:00
grischka
265dddbecf
Udated and cleaned up TODO.
2008-01-16 22:33:56 +00:00
grischka
3667408a57
Just warn about unknown directives, define __STDC_VERSION__=199901L
2008-01-16 20:16:35 +00:00
bellard
1c1919072b
update
2004-11-07 15:51:57 +00:00
bellard
2a6c104722
update
2004-10-23 23:11:05 +00:00
bellard
b7f12dfbdf
update
2003-10-04 21:29:04 +00:00
bellard
4e6edcdcdd
update
2003-05-24 16:12:58 +00:00
bellard
0d6f8021ee
update
2003-04-14 22:23:55 +00:00
bellard
dd56ab8c77
added configure support
2003-04-13 19:50:35 +00:00
bellard
75e743d23e
update
2003-01-06 20:19:20 +00:00
bellard
dc685c6b7d
update
2002-12-08 14:34:02 +00:00
bellard
122198a8c2
update
2002-11-24 15:58:28 +00:00
bellard
6cd2d5d2c8
update
2002-11-03 00:44:38 +00:00
bellard
10f5d44f43
update
2002-09-08 22:13:54 +00:00
bellard
bc427f5bec
update
2002-08-31 12:44:16 +00:00
bellard
5370be48e2
updated
2002-08-18 14:44:08 +00:00
bellard
524be938fd
updated
2002-08-18 14:34:02 +00:00
bellard
840d197e87
update
2002-07-24 22:13:02 +00:00
bellard
e5de65fcec
update
2002-02-10 16:15:08 +00:00
bellard
ebe9e87ccf
update
2002-01-05 19:50:17 +00:00
bellard
b0b2d5d2e9
update
2001-12-17 21:57:01 +00:00
bellard
a88b855866
update
2001-12-02 21:44:40 +00:00
bellard
34a14a08a3
update
2001-11-18 16:33:35 +00:00
bellard
4dceee3677
update
2001-11-11 22:51:50 +00:00
bellard
eb0e3e70dc
update
2001-11-11 18:01:29 +00:00
bellard
58f3296a6e
updated
2001-10-28 15:29:01 +00:00
bellard
27f6e16bae
Initial revision
2001-10-27 23:48:39 +00:00