diff options
author | grischka <grischka> | 2008-03-31 19:50:58 +0000 |
---|---|---|
committer | grischka <grischka> | 2008-03-31 19:50:58 +0000 |
commit | f22e961f805d25482d0eefabc7a1bca202cbe599 (patch) | |
tree | 8da5d1e7cf2b1c303bbce38e83ac52fffda2daac | |
parent | a327c7a55245536a00539f46b0cee689875e3754 (diff) |
update manual, changelogrelease_0_9_24
-rw-r--r-- | Changelog | 5 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | tcc-doc.texi | 31 | ||||
-rw-r--r-- | tcc.c | 2 | ||||
-rw-r--r-- | tcctest.c | 2 |
5 files changed, 27 insertions, 15 deletions
@@ -1,8 +1,11 @@ version 0.9.24: +- added verbosity levels -v, -vv, -vvv +- Accept standard input as an inputstream (Hanzac Chen) +- Support c89 compilers other than gcc (Hanzac Chen) +- -soname linker option (Marc Andre Tanner) - Just warn about unknown directives, ignore quotes in #error/#warning - Define __STDC_VERSION__=199901L (477) - - Switch to newer tccpe.c (includes support for resources) - Handle backslashes within #include/#error/#warning - Import changesets (part 4) 428,457,460,467: defines for openbsd etc. @@ -66,7 +66,7 @@ test: test.ref test.out @if diff -u test.ref test.out ; then echo "Auto Test OK"; fi tcctest.ref: tcctest.c - $(CC) $(CFLAGS) -I. -o $@ $< + $(CC) $(CFLAGS) -w -I. -o $@ $< test.ref: tcctest.ref ./tcctest.ref > $@ diff --git a/tcc-doc.texi b/tcc-doc.texi index 168a877..38426ca 100644 --- a/tcc-doc.texi +++ b/tcc-doc.texi @@ -414,13 +414,6 @@ is the same as writing @end itemize @section GNU C extensions -@cindex aligned attribute -@cindex packed attribute -@cindex section attribute -@cindex unused attribute -@cindex cdecl attribute -@cindex stdcall attribute -@cindex regparm attribute TCC implements some GNU C extensions: @@ -454,13 +447,22 @@ instead of @} @end example +@cindex aligned attribute +@cindex packed attribute +@cindex section attribute +@cindex unused attribute +@cindex cdecl attribute +@cindex stdcall attribute +@cindex regparm attribute +@cindex dllexport attribute + @item The keyword @code{__attribute__} is handled to specify variable or function attributes. The following attributes are supported: @itemize @item @code{aligned(n)}: align a variable or a structure field to n bytes (must be a power of two). - + @item @code{packed}: force alignment of a variable or a structure field to 1. @@ -478,6 +480,8 @@ section. between 1 and 3. The first @var{n} function parameters are respectively put in registers @code{%eax}, @code{%edx} and @code{%ecx}. + @item @code{dllexport}: export function from dll/executable (win32 only) + @end itemize Here are some examples: @@ -733,10 +737,13 @@ TCC for Windows supports the native Win32 executable file format (PE-i386). It generates both EXE and DLL files. DLL symbols can be imported thru DEF files generated with the @code{tiny_impdef} tool. -Currently TCC for Windows cannot generate nor read PE object files, so ELF -object files are used for that purpose. It can be a problem if -interoperability with MSVC is needed. Moreover, no leading underscore is -currently generated in the ELF symbols. +On the object file level, currently TCC supports only the ELF format, not COFF +as used by MINGW and MSVC. It is not possible to exchange object files or +libraries between TCC and these compilers. However libraries for TCC from objects +by TCC can be made using the @code{tiny_libmaker} tool or MINGW's @code{ar}. + +No leading underscore is generated in the ELF symbols. Only functions (no +data) can be exported. Bounds checking (@option{-b}) is not supported currently. @section GNU Linker Scripts @cindex scripts, linker @@ -1035,6 +1035,7 @@ static char *pstrcat(char *buf, int buf_size, const char *s) return buf; } +#ifndef LIBTCC static int strstart(const char *str, const char *val, const char **ptr) { const char *p, *q; @@ -1050,6 +1051,7 @@ static int strstart(const char *str, const char *val, const char **ptr) *ptr = p; return 1; } +#endif /* extract the basename of a file */ static char *tcc_basename(const char *name) @@ -223,7 +223,7 @@ void macro_test(void) #line 203 "test" printf("__LINE__=%d __FILE__=%s\n", __LINE__, __FILE__); -#line 220 "tcctest.c" +#line 227 "tcctest.c" /* not strictly preprocessor, but we test it there */ #ifdef C99_MACROS |