update manual, changelog

This commit is contained in:
grischka 2008-03-31 19:50:58 +00:00
parent a327c7a552
commit f22e961f80
5 changed files with 27 additions and 15 deletions

View File

@ -1,8 +1,11 @@
version 0.9.24: 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 - Just warn about unknown directives, ignore quotes in #error/#warning
- Define __STDC_VERSION__=199901L (477) - Define __STDC_VERSION__=199901L (477)
- Switch to newer tccpe.c (includes support for resources) - Switch to newer tccpe.c (includes support for resources)
- Handle backslashes within #include/#error/#warning - Handle backslashes within #include/#error/#warning
- Import changesets (part 4) 428,457,460,467: defines for openbsd etc. - Import changesets (part 4) 428,457,460,467: defines for openbsd etc.

View File

@ -66,7 +66,7 @@ test: test.ref test.out
@if diff -u test.ref test.out ; then echo "Auto Test OK"; fi @if diff -u test.ref test.out ; then echo "Auto Test OK"; fi
tcctest.ref: tcctest.c tcctest.ref: tcctest.c
$(CC) $(CFLAGS) -I. -o $@ $< $(CC) $(CFLAGS) -w -I. -o $@ $<
test.ref: tcctest.ref test.ref: tcctest.ref
./tcctest.ref > $@ ./tcctest.ref > $@

View File

@ -414,13 +414,6 @@ is the same as writing
@end itemize @end itemize
@section GNU C extensions @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: TCC implements some GNU C extensions:
@ -454,6 +447,15 @@ instead of
@} @}
@end example @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 @item The keyword @code{__attribute__} is handled to specify variable or
function attributes. The following attributes are supported: function attributes. The following attributes are supported:
@itemize @itemize
@ -478,6 +480,8 @@ section.
between 1 and 3. The first @var{n} function parameters are respectively put in between 1 and 3. The first @var{n} function parameters are respectively put in
registers @code{%eax}, @code{%edx} and @code{%ecx}. registers @code{%eax}, @code{%edx} and @code{%ecx}.
@item @code{dllexport}: export function from dll/executable (win32 only)
@end itemize @end itemize
Here are some examples: 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 generates both EXE and DLL files. DLL symbols can be imported thru DEF files
generated with the @code{tiny_impdef} tool. generated with the @code{tiny_impdef} tool.
Currently TCC for Windows cannot generate nor read PE object files, so ELF On the object file level, currently TCC supports only the ELF format, not COFF
object files are used for that purpose. It can be a problem if as used by MINGW and MSVC. It is not possible to exchange object files or
interoperability with MSVC is needed. Moreover, no leading underscore is libraries between TCC and these compilers. However libraries for TCC from objects
currently generated in the ELF symbols. 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 @section GNU Linker Scripts
@cindex scripts, linker @cindex scripts, linker

2
tcc.c
View File

@ -1035,6 +1035,7 @@ static char *pstrcat(char *buf, int buf_size, const char *s)
return buf; return buf;
} }
#ifndef LIBTCC
static int strstart(const char *str, const char *val, const char **ptr) static int strstart(const char *str, const char *val, const char **ptr)
{ {
const char *p, *q; const char *p, *q;
@ -1050,6 +1051,7 @@ static int strstart(const char *str, const char *val, const char **ptr)
*ptr = p; *ptr = p;
return 1; return 1;
} }
#endif
/* extract the basename of a file */ /* extract the basename of a file */
static char *tcc_basename(const char *name) static char *tcc_basename(const char *name)

View File

@ -223,7 +223,7 @@ void macro_test(void)
#line 203 "test" #line 203 "test"
printf("__LINE__=%d __FILE__=%s\n", printf("__LINE__=%d __FILE__=%s\n",
__LINE__, __FILE__); __LINE__, __FILE__);
#line 220 "tcctest.c" #line 227 "tcctest.c"
/* not strictly preprocessor, but we test it there */ /* not strictly preprocessor, but we test it there */
#ifdef C99_MACROS #ifdef C99_MACROS