| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
previously, tcc would accept a prototype of a function returning
an array, but not giving those functions bodies nor calling them.
it seems that gcc has never supported them, so we should probably
just error out... but it's possible that someone already using
tcc includes some header that contains an unused prototype for
one, so let's continue to support that.
|
| | |
|
| |
|
|
| |
see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00002.html
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
some ancient pre-K&R C allows a function to return an array
and the array brackets to be put after the arguments, such
that "int c()[]" means the same as "int[] c()"
see:
http://llvm.org/bugs/show_bug.cgi?id=2399
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#38703
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
for example:
#ifdef stuff
# /* some comment */
#endif
|
| |
|
|
| |
file mode problem if the outfile already exists
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- fix my prev commit:
put declaration above statements to stay c89 compatible
- replace commit by a blank
#define con(a, b) a/**/b
this should yield a b, not ab
|
| |
|
|
|
|
|
|
|
|
| |
We need a ' ' after subst of m in the following case
#define m(name,r) name ## r
#define m0(a,b,c) int m(a,b) c
#define m1(a,b,c) int m(a,b)c
m0(a, b, c);
m1(a, b, c);
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
- added an example to test suite
- the "warning: assignment discards qualifiers from pointer target type"
is present but harmless
|
| |
|
|
|
|
|
|
|
| |
To make this the default, enable this line in libtcc.c:tcc_new:
#if defined(TCC_TARGET_PE) && 0
s->leading_underscore = 1;
and then recompile tcc and also libtcc1.a
|
| |
|
|
|
|
|
|
| |
Add support for asm labels for variables, that is the ability to rename
a variable at assembly level with __asm__ ("newname") appended in
its declaration.
See http://gcc.gnu.org/onlinedocs/gcc-4.4.4/gcc/Asm-Labels.html for more
details.
|
| |
|
|
|
|
|
|
|
| |
- Fix function assembly label mechanism introduced in commit
9b09fc376e8c212a767c875e71ca003e3b9a0d2e to only accept alternative
name for function declaration.
- merge the code with the one introduced in commit
264a103610e3ee86b27b8cbb0e4ec81cd654d980.
- Don't memorize token for asm label but directly the asm label.
|
| |
|
|
|
| |
Fix incorrect use of basic types as bitflags and inefficiency in commit
cf36410e30b3c18be6c556158b2d0d0938f5b77d
|
| |
|
|
|
|
|
|
|
| |
Error out on static function without file scope and give an explaination
to the user
This is a rewrite of e9406c09a3212ab3f120412a6bbdacb0cdd25deb but
considering problems raised about static local function pointers in
632ee5a54076d417971ae7fa8a0c154441a71499.
|
| | |
|
| |
|
|
| |
This reverts commit a5a50eaafeea0d3ca47bc8fb6baf983743470c60.
|
| |
|
|
| |
This reverts commit 7f00523e2e1938fc3558164521fe3ecefd9e1747.
|
| |
|
|
| |
This reverts commit af26ac56bfc584b70e20158e67f7035024076ec8.
|
| |
|
|
| |
This reverts commit e3e5d4ad7a475e30ea13ad1ba9f23e6210d5d431.
|
| | |
|
| |
|
|
|
| |
crash was triggered by numbers etc. as unexpected token, i.e.
everything that requires additional information with the token.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Disable C99 VLA detection when alloca is unavailable and protect the
new reference to TOK_alloca in decl_initializer in order to compile
and run for architecture without working alloca.
Not all code of C99 VLA is commented as it would required many ifdef
stanza. Just the detection is commented so that VT_VLA is never set
any type and the C99 VLA code is compiled but never called. However
vpush_global_sym(&func_old_type, TOK_alloca) in decl_initializer needs
to be protected by an ifdef stanza as well because it uses TOK_alloca.
* include alloca and C99 VLA tests according to availability of
TOK_alloca instead of relying on the current architecture
|
| |
|
|
|
|
|
| |
TOK_alloca is now available on x86-64 so make put definition of
TOK_alloca outside the BCHECK conditional macro definition but test if
arch is i386 or x86-64. This makes C99 VLA works (understand compile) on
x86-64.
|
| | |
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Correctly attribute the patch bringing support for Debian GNU/kFreeBSD
kernels to Pierre Chifflier.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|