Joe Soroka
b714af0405
add naive workaround for VLA vstack leak
2011-04-08 00:44:01 -07:00
Joe Soroka
6eb97c70b7
VLA leaks vstack. added warning to detect future leaks
2011-04-08 00:41:55 -07:00
Joe Soroka
c94f80502e
VLA bcheck works via bound alloca; add test, remove warning
2011-04-06 15:27:45 -07:00
Joe Soroka
810aca9e68
clarify post_type() VT_STORAGE handling by moving it out
2011-04-06 12:08:50 -07:00
Joe Soroka
ace0f7f259
re-apply VLA by Thomas Preud'homme
2011-04-06 09:17:03 -07:00
Joe Soroka
17571298f3
handle c99 flexible array members less hackily
2011-03-18 17:50:42 -07:00
Joe Soroka
06a7c415a9
revert complicated & broken flexible array member handling
2011-03-18 17:47:35 -07:00
Joe Soroka
4062d787da
sizeof(struct with "flexible array member") is wrong
2011-03-18 17:45:43 -07:00
Joe Soroka
0b8aa909a3
fix c99 for-loop init decl scope (thanks: grischka)
...
see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00005.html
2011-03-08 15:19:54 -08:00
Joe Soroka
9ff91d4c6f
clarify support for functions returning an array (try#2)
...
fixes first attempt:
http://repo.or.cz/w/tinycc.git/commitdiff/31fe1cc
2011-03-08 15:12:09 -08:00
Joe Soroka
91163f167e
revert last commit. fails "make test"
...
test target in Makefile does not depend on tcc.
i'm not sure why, but i can think of at least one
good reason. in my local tree I have it modified
to do so, but somehow inadvertently reverted that
so when i did "make test" before committing, it
didn't actually test my changes. sorry.
2011-03-08 14:58:02 -08:00
Joe Soroka
31fe1cc62b
clarify support for functions returning an array
...
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.
2011-03-08 14:13:08 -08:00
Joe Soroka
5eb82755db
support c99 for-loop init decls (2nd attempt)
2011-03-08 13:36:04 -08:00
Joe Soroka
7fc2eee55c
partially revert e23194a
...
see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00002.html
2011-03-08 13:22:48 -08:00
Joe Soroka
b3a8eed49e
revert last 3 commits. will find better way.
2011-03-08 12:56:13 -08:00
Joe Soroka
2d292e69a1
small change to previous whitespace-only commit
2011-03-08 09:26:36 -08:00
Joe Soroka
545a37b306
some indentation made prev patch pretty; removed it
2011-03-08 01:59:50 -08:00
Joe Soroka
89059f94c0
refactor post_type() to be explicit about its recursion
2011-03-08 01:47:31 -08:00
Joe Soroka
772b302187
added a note clarifying post_type() recursion
...
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
2011-03-08 01:33:17 -08:00
Joe Soroka
585027aa96
tccelf: allow multiply defined weak symbols
2011-03-07 12:18:54 -08:00
Joe Soroka
e23194a1fa
support c99 for-loop init decls
2011-03-07 11:28:31 -08:00
Joe Soroka
4fbe3cda33
use new weaken_symbol() to fix another real-world corner case
2011-03-07 01:05:09 -08:00
Joe Soroka
8bcb2ae1b2
factor out symbol weakening into new function
2011-03-07 01:02:23 -08:00
Joe Soroka
0f0c2d9c02
weak redefinition of a symbol should weaken the original
2011-03-07 00:25:27 -08:00
Joe Soroka
38cbb40e90
__typeof(t) should not include storage modifiers of t
2011-03-06 22:32:35 -08:00
grischka
5d55647a3c
tccpp: fix problem in preprocess_skip with empty #
...
for example:
#ifdef stuff
# /* some comment */
#endif
2011-03-06 19:13:12 +01:00
Changming Xu
c27e76aa2a
unlink outfile first
...
file mode problem if the outfile already exists
2011-03-03 21:09:18 +08:00
Joe Soroka
c93eca4fe4
tccgen: handle __attribute((alias("target")))
2011-03-03 01:58:45 -08:00
Joe Soroka
ce8c1886a5
collapse branch in decl(), making way for next patch
2011-03-03 01:07:36 -08:00
Joe Soroka
3beb383236
handle post-asm-label attributes on variables
2011-03-03 00:55:02 -08:00
Joe Soroka
823f832630
tcc: fix weak attribute handling
2011-03-02 13:31:09 -08:00
Changming Xu
684723488d
Replace comment by a blank
...
- 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
2011-03-01 09:19:43 +08:00
Changming Xu
185fba4189
tcc -E: append a ' ' after subst
...
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);
2011-02-27 10:15:15 +08:00
Joe Soroka
1b85b55059
i386-asm: support "pause" opcode
2011-02-24 09:38:13 -08:00
Joe Soroka
bec84fa00a
tccasm: support alternate .type syntaxes
2011-02-24 09:24:02 -08:00
Joe Soroka
15b8a57096
tccpp: treat gas comments in .S files as raw text, not tokens
2011-02-23 15:13:08 -08:00
Jaroslav Kysela
85642f887c
fix warning for tcctest.c introduced with my last commit
2011-02-22 13:55:21 +01:00
Jaroslav Kysela
ab73c9bc4e
fix another static struct init issue (arrays with unknown size at end)
2011-02-22 12:15:45 +01:00
Jaroslav Kysela
dbefae52b0
Fix complex static initializers (handle additional '}' and '{' brackets)
...
- added an example to test suite
- the "warning: assignment discards qualifiers from pointer target type"
is present but harmless
2011-02-22 12:15:44 +01:00
grischka
a3ebdd0aeb
tccpe: support leading underscore for symbols
...
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
2011-02-13 17:44:12 +01:00
Thomas Preud'homme
11b2d33523
Add support of asm label for variables.
...
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.
2011-02-09 00:12:57 +01:00
Thomas Preud'homme
32a682b88f
Fix fct asm label: only valid for declaration
...
- Fix function assembly label mechanism introduced in commit
9b09fc376e
to only accept alternative
name for function declaration.
- merge the code with the one introduced in commit
264a103610
.
- Don't memorize token for asm label but directly the asm label.
2011-02-09 00:12:57 +01:00
Thomas Preud'homme
c23400278a
Fix incorrect use of basic type as bitflags.
...
Fix incorrect use of basic types as bitflags and inefficiency in commit
cf36410e30
2011-02-07 23:46:20 +01:00
Thomas Preud'homme
cf36410e30
Complain for static fct declared w/o file scope
...
Error out on static function without file scope and give an explaination
to the user
This is a rewrite of e9406c09a3
but
considering problems raised about static local function pointers in
632ee5a540
.
2011-02-06 22:50:05 +01:00
Joe Soroka
3b4b3b75a6
revert "update VT_STRUCT_SHIFT for new VT_VLA"
2011-02-04 17:54:08 -08:00
Thomas Preud'homme
db560e9439
Revert "Implement C99 Variable Length Arrays"
...
This reverts commit a5a50eaafe
.
2011-02-05 02:33:46 +01:00
Thomas Preud'homme
38f6467c06
Revert "Reorder increasingly VT_* constants in tcc.h"
...
This reverts commit 7f00523e2e
.
2011-02-05 02:33:46 +01:00
Thomas Preud'homme
c1b7267a2f
Revert "Make TOK_alloca available for x86-64"
...
This reverts commit af26ac56bf
.
2011-02-05 02:33:45 +01:00
Thomas Preud'homme
4b8470f3ae
Revert "Disable C99 VLA when alloca is unavailable."
...
This reverts commit e3e5d4ad7a
.
2011-02-05 02:33:45 +01:00
Joe Soroka
b0c50fbd4d
update VT_STRUCT_SHIFT for new VT_VLA
2011-02-04 14:33:38 -08:00