| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Improve weak aliases handling | Thomas Preud'homme | 2011-05-16 | 1 | -17/+19 |
| | | | | | | | * Include only the STB_GLOBAL alias symbol in .dynsym section * Stop the loop when STB_GLOBAL symbol is found * Reword / simplify comment | ||||
| * | make clean work when LIBTCC1 not defined | Thomas Preud'homme | 2011-05-14 | 1 | -0/+2 |
| | | | | | | Don't call make -C lib clean if LIBTCC1 is not defined, else make clean fails (for example of arm). | ||||
| * | fix spurious vstack-leak warnings on error | Joe Soroka | 2011-05-02 | 1 | -3/+3 |
| | | |||||
| * | libtcc.c: report vstack "leaks" only if compile succeeded | Joe Soroka | 2011-04-14 | 1 | -2/+3 |
| | | |||||
| * | use of TOK_alloca breaks cross compiler build | Joe Soroka | 2011-04-12 | 1 | -0/+4 |
| | | | | | | | | | | | | VLA inserts a call to alloca via enum TOK_alloca, but TOK_alloca only exists on I386 and X86_64 targets. This patch just emits an error at compile-time if someone tries to compile some VLA code for a TOK_alloca-less target. The best solution might be to just push the problem to link-time, since the existence-or-not of a alloca implementation can only be determined by linking. It seems like just declaring TOK_alloca unconditionally would achieve that, but for now, this at least gets the cross compilers to build. | ||||
| * | tcctok.h: fix ifdef target/host confusion | Joe Soroka | 2011-04-12 | 1 | -1/+1 |
| | | |||||
| * | simplify/rollback VLA pointer subtraction | Joe Soroka | 2011-04-11 | 1 | -10/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't know if it makes a difference to gen_op(TOK_PDIV) or not, but logically the ptr1_is_vla test in TP's VLA patch seems out of order, where the patch to fix it would be: ------------------------------------------------------------------ @@ -1581,15 +1581,15 @@ ST_FUNC void gen_op(int op) u = pointed_size(&vtop[-1].type); } gen_opic(op); + if (ptr1_is_vla) + vswap(); /* set to integer type */ #ifdef TCC_TARGET_X86_64 vtop->type.t = VT_LLONG; #else vtop->type.t = VT_INT; #endif - if (ptr1_is_vla) - vswap(); - else + if (!ptr1_is_vla) vpushi(u); gen_op(TOK_PDIV); } else { ------------------------------------------------------------------ Instead of that patch, which increases the complexity of the code, this one fixes the problem by just rolling back and retrying with a simpler approach. | ||||
| * | update documentation to reflect VLA changes | Joe Soroka | 2011-04-09 | 1 | -3/+3 |
| | | |||||
| * | remove no-longer-necessary naive fix for vla vstack leak | Joe Soroka | 2011-04-09 | 1 | -5/+0 |
| | | |||||
| * | prevent internal segfault on apparent VLA at file scope | Joe Soroka | 2011-04-09 | 1 | -0/+2 |
| | | |||||
| * | VLA fix [3/3]: store VLA sizeofs in anonymous runtime stack vars | Joe Soroka | 2011-04-09 | 2 | -34/+22 |
| | | |||||
| * | VLA fix [2/3]: removed VT_ARRAY from VT_VLA types | Joe Soroka | 2011-04-08 | 1 | -20/+11 |
| | | | | | | | | | | A VLA is not really an array, it's a pointer-to-an-array. Making this explicit allows us to back out a few parts of the original VLA patch and paves the way for the next part of the fix, where a VLA will be stored on the runtime stack as a pointer-to-an-array, rather than on the compile- time stack as a Sym*. | ||||
| * | VLA fix [1/3]: added testcase demonstrating VLA bug | Joe Soroka | 2011-04-08 | 1 | -1/+6 |
| | | |||||
| * | move a comment to its correct location | Joe Soroka | 2011-04-08 | 1 | -1/+1 |
| | | |||||
| * | add naive workaround for VLA vstack leak | Joe Soroka | 2011-04-08 | 1 | -0/+5 |
| | | |||||
| * | VLA leaks vstack. added warning to detect future leaks | Joe Soroka | 2011-04-08 | 1 | -0/+4 |
| | | |||||
| * | VLA bcheck works via bound alloca; add test, remove warning | Joe Soroka | 2011-04-06 | 2 | -4/+34 |
| | | |||||
| * | clarify post_type() VT_STORAGE handling by moving it out | Joe Soroka | 2011-04-06 | 1 | -7/+7 |
| | | |||||
| * | re-apply VLA by Thomas Preud'homme | Joe Soroka | 2011-04-06 | 7 | -35/+173 |
| | | |||||
| * | handle c99 flexible array members less hackily | Joe Soroka | 2011-03-18 | 1 | -1/+18 |
| | | |||||
| * | revert complicated & broken flexible array member handling | Joe Soroka | 2011-03-18 | 2 | -21/+5 |
| | | |||||
| * | sizeof(struct with "flexible array member") is wrong | Joe Soroka | 2011-03-18 | 1 | -0/+1 |
| | | |||||
| * | fix c99 for-loop init decl scope (thanks: grischka) | Joe Soroka | 2011-03-08 | 2 | -0/+4 |
| | | | | | see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00005.html | ||||
| * | clarify support for functions returning an array (try#2) | Joe Soroka | 2011-03-08 | 1 | -4/+9 |
| | | | | | | fixes first attempt: http://repo.or.cz/w/tinycc.git/commitdiff/31fe1cc | ||||
| * | revert last commit. fails "make test" | Joe Soroka | 2011-03-08 | 1 | -8/+5 |
| | | | | | | | | | | 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. | ||||
| * | clarify support for functions returning an array | Joe Soroka | 2011-03-08 | 1 | -5/+8 |
| | | | | | | | | | | 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. | ||||
| * | support c99 for-loop init decls (2nd attempt) | Joe Soroka | 2011-03-08 | 1 | -3/+18 |
| | | |||||
| * | partially revert e23194a | Joe Soroka | 2011-03-08 | 2 | -20/+3 |
| | | | | | see http://lists.nongnu.org/archive/html/tinycc-devel/2011-03/msg00002.html | ||||
| * | revert last 3 commits. will find better way. | Joe Soroka | 2011-03-08 | 1 | -96/+85 |
| | | |||||
| * | small change to previous whitespace-only commit | Joe Soroka | 2011-03-08 | 1 | -2/+2 |
| | | |||||
| * | some indentation made prev patch pretty; removed it | Joe Soroka | 2011-03-08 | 1 | -85/+81 |
| | | |||||
| * | refactor post_type() to be explicit about its recursion | Joe Soroka | 2011-03-08 | 1 | -5/+20 |
| | | |||||
| * | added a note clarifying post_type() recursion | Joe Soroka | 2011-03-08 | 1 | -0/+3 |
| | | | | | | | | | | 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 | ||||
| * | tccelf: allow multiply defined weak symbols | Joe Soroka | 2011-03-07 | 1 | -0/+2 |
| | | |||||
| * | support c99 for-loop init decls | Joe Soroka | 2011-03-07 | 4 | -4/+25 |
| | | |||||
| * | use new weaken_symbol() to fix another real-world corner case | Joe Soroka | 2011-03-07 | 2 | -1/+4 |
| | | |||||
| * | factor out symbol weakening into new function | Joe Soroka | 2011-03-07 | 1 | -10/+17 |
| | | |||||
| * | weak redefinition of a symbol should weaken the original | Joe Soroka | 2011-03-07 | 2 | -0/+7 |
| | | |||||
| * | __typeof(t) should not include storage modifiers of t | Joe Soroka | 2011-03-06 | 2 | -0/+7 |
| | | |||||
| * | tccpp: fix problem in preprocess_skip with empty # | grischka | 2011-03-06 | 1 | -0/+2 |
| | | | | | | | | | for example: #ifdef stuff # /* some comment */ #endif | ||||
| * | unlink outfile first | Changming Xu | 2011-03-03 | 1 | -0/+1 |
| | | | | | file mode problem if the outfile already exists | ||||
| * | tccgen: handle __attribute((alias("target"))) | Joe Soroka | 2011-03-03 | 3 | -1/+27 |
| | | |||||
| * | collapse branch in decl(), making way for next patch | Joe Soroka | 2011-03-03 | 1 | -9/+9 |
| | | |||||
| * | handle post-asm-label attributes on variables | Joe Soroka | 2011-03-03 | 2 | -25/+28 |
| | | |||||
| * | tcc: fix weak attribute handling | Joe Soroka | 2011-03-02 | 2 | -6/+10 |
| | | |||||
| * | Replace comment by a blank | Changming Xu | 2011-03-01 | 1 | -7/+11 |
| | | | | | | | | | - 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 | ||||
| * | tcc -E: append a ' ' after subst | Changming Xu | 2011-02-27 | 1 | -0/+10 |
| | | | | | | | | | | | 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); | ||||
| * | i386-asm: support "pause" opcode | Joe Soroka | 2011-02-24 | 2 | -0/+2 |
| | | |||||
| * | tccasm: support alternate .type syntaxes | Joe Soroka | 2011-02-24 | 2 | -8/+23 |
| | | |||||
| * | tccpp: treat gas comments in .S files as raw text, not tokens | Joe Soroka | 2011-02-23 | 2 | -0/+6 |
| | | |||||
