mirror of
https://github.com/frida/tinycc
synced 2024-11-28 10:33:07 +03:00
update manual, changelog
This commit is contained in:
parent
a327c7a552
commit
f22e961f80
@ -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.
|
||||||
|
2
Makefile
2
Makefile
@ -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 > $@
|
||||||
|
29
tcc-doc.texi
29
tcc-doc.texi
@ -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
2
tcc.c
@ -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)
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user