Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Panda
TinyCC
Commits
f22e961f
Commit
f22e961f
authored
Mar 31, 2008
by
grischka
Browse files
update manual, changelog
parent
a327c7a5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Changelog
View file @
f22e961f
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.
...
...
Makefile
View file @
f22e961f
...
...
@@ -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
>
$@
...
...
tcc-doc.texi
View file @
f22e961f
...
...
@@ -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
...
...
tcc.c
View file @
f22e961f
...
...
@@ -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
)
...
...
tcctest.c
View file @
f22e961f
...
...
@@ -223,7 +223,7 @@ void macro_test(void)
#line 203 "test"
printf
(
"__LINE__=%d __FILE__=%s
\n
"
,
__LINE__
,
__FILE__
);
#line 22
0
"tcctest.c"
#line 22
7
"tcctest.c"
/* not strictly preprocessor, but we test it there */
#ifdef C99_MACROS
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment