| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Implement C99 Variable Length Arrays | Thomas Preud'homme | 2011-02-04 | 1 | -30/+130 |
| | | | | | | | | 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 | ||||
| * | weak definitions overrule non-weak prototypes | Joe Soroka | 2011-02-01 | 1 | -0/+12 |
| | | |||||
| * | support weak attribute on variables | Joe Soroka | 2011-02-01 | 1 | -0/+7 |
| | | |||||
| * | Support struct arguments with stdarg.h | Shinichiro Hamaji | 2010-12-28 | 1 | -6/+22 |
| | | | | | | | | | - add __builtin_va_arg_types to check how arguments were passed - move most code of stdarg into libtcc1.c - remove __builtin_malloc and __builtin_free - add a test case based on the bug report (http://www.mail-archive.com/tinycc-devel@nongnu.org/msg03036.html) | ||||
| * | Fix binding of assignment expressions. | Ben Bacarisse | 2010-10-25 | 1 | -29/+29 |
| | | |||||
| * | Move asm label functions from tccasm.c to tccgen.c | Thomas Preud'homme | 2010-09-14 | 1 | -1/+28 |
| | | | | | | | | | | | * Move functions parse_asm_str and asm_label_instr from tccasm.c to tccgen.c * Remove CONFIG_TCC_ASM_LABEL macro as asm label are available on all archs. See: http://lists.nongnu.org/archive/html/tinycc-devel/2010-09/msg00026.html for the rationale. | ||||
| * | Add support of asm label for functions. | Thomas Preud'homme | 2010-09-10 | 1 | -1/+24 |
| | | | | | | | Add support for asm labels for functions, that is the ability to rename a function at assembly level with __asm__ ("newname") appended in function declaration. | ||||
| * | Fix casts from 32bit integer types to 64bit integer types. | Shinichiro Hamaji | 2010-08-31 | 1 | -5/+7 |
| | | | | | | | | This bug was reported in http://lists.gnu.org/archive/html/tinycc-devel/2010-08/msg00050.html In this case, we should not emit any code when we cast from VT_FUNC to VT_PTR. | ||||
| * | Revert "implemented C99 for loop with variable declaration" | grischka | 2010-08-21 | 1 | -37/+4 |
| | | | | | | | | | | | | | | | | This reverts commit 433ecdfc9d1402ecf03e710de481e2063ad6de90. The patch breaks e.g. with for ((i = 10); --i;); In particular to check for a type decl. this is not sufficient: if (tok < TOK_UIDENT) { A future approach to c99 loop variables might instead use: if (parse_btype(...)) { plus refactor function decl() accordingly. | ||||
| * | tccgen: Revert yuanbin's recent patches | grischka | 2010-06-21 | 1 | -19/+17 |
| | | | | | | This reverts commits 670993..d35138 Maybe these commits fixed something but also seemed to cause problems. | ||||
| * | implemented C99 for loop with variable declaration | Claudio Bley | 2010-06-21 | 1 | -4/+37 |
| | | |||||
| * | Revert "Complain for static fct declared w/o file scope" | grischka | 2010-06-15 | 1 | -3/+0 |
| | | | | | | | | | | | This reverts commit e9406c09a3212ab3f120412a6bbdacb0cdd25deb. We don't want errors for static local function pointers, such as: { static void (*fn)(); ... } | ||||
| * | Fix last commits: remove CRLF, chmod 644 tccgen.c | grischka | 2010-06-15 | 1 | -24/+24 |
| | | |||||
| * | tccgen: skip ')' in front of ',' for initializer | yuanbin | 2010-06-13 | 1 | -5/+14 |
| | | |||||
| * | tccgen: skip fields from same union | yuanbin | 2010-06-13 | 1 | -2/+8 |
| | | |||||
| * | tccgen.c: skip fields from same union | yuanbin | 2010-06-13 | 1 | -26/+5 |
| | | |||||
| * | tccgen: initial the last member of union | yuanbin | 2010-06-11 | 1 | -1/+1 |
| | | |||||
| * | tccgen: initial last member of union | yuanbin | 2010-06-11 | 1 | -20/+28 |
| | | |||||
| * | append ULL to big constants | Daniel Glöckner | 2010-05-13 | 1 | -3/+3 |
| | | |||||
| * | Add nan, snan and inf float constants | Thomas Preud'homme | 2010-05-06 | 1 | -0/+25 |
| | | |||||
| * | Delete unused vtop_saved variable in unary_type | Thomas Preud'homme | 2010-04-20 | 1 | -2/+0 |
| | | |||||
| * | Complain for static fct declared w/o file scope | Thomas Preud'homme | 2010-04-15 | 1 | -0/+3 |
| | | | | | | Error out on static function without file scope and give an explaination to the user | ||||
| * | Correctly support all unary expression with sizeof | Thomas Preud'homme | 2010-04-15 | 1 | -6/+19 |
| | | | | | | | | Unary expression can start with a parenthesis. Thus, the current test to detect which sizeof form is being parsed is inaccurate. This patch makes tcc able to handle things like sizeof (x)[1] where x is declared as char x[5]; wich is a valid unary expression | ||||
| * | Error out on bad char array initialization | Romain Francoise | 2010-04-15 | 1 | -0/+3 |
| | | | | | | | | Error out with an explicit message when trying to initialize a character array with something that's not a literal (optionally enclosed in braces) as per C99 6.7.8:14; thanks to Antti-Juhani Kaijanaho <ajk@debian.org> who did all the work. | ||||
| * | tccgen: Fix broken use of ATTR_MODE | Detlef Riekenberg | 2010-04-06 | 1 | -2/+2 |
| | | | | | | | | Sorry for that. -- By by ... Detlef | ||||
| * | tccgen: Detect (but ignore) function redirection | Detlef Riekenberg | 2010-04-06 | 1 | -1/+30 |
| | | | | | | | | | tcc is now able to parse <stdio.h> from gcc, when __GNUC__ is also defined -- By by ... Detlef | ||||
| * | Catch array[index] with unknown sizeof(*array) | Daniel Glöckner | 2010-03-15 | 1 | -2/+5 |
| | | | | | We could support this for index == 0, but GCC doesn't bother, so why should we? | ||||
| * | weak function symbols | Manuel Simoni | 2010-02-27 | 1 | -0/+4 |
| | | |||||
| * | Add support for the __mode__ attribute | Detlef Riekenberg | 2010-01-26 | 1 | -0/+23 |
| | | | | | | -- By by ... Detlef | ||||
| * | tccpe: improve dllimport/export and use for tcc_add_symbol | grischka | 2010-01-14 | 1 | -16/+10 |
| | | |||||
| * | build from multiple objects: fix other targets | grischka | 2009-12-20 | 1 | -3/+3 |
| | | |||||
| * | use vpushv in some places | grischka | 2009-12-20 | 1 | -1/+1 |
| | | |||||
| * | allow tcc be build from separate objects | grischka | 2009-12-20 | 1 | -52/+290 |
| | | | | | If you want that, run: make NOTALLINONE=1 | ||||
| * | win32: enable bounds checker & exception handler | grischka | 2009-12-19 | 1 | -1/+12 |
| | | | | | exception handler borrowed from k1w1. Thanks. | ||||
| * | fix uninitialized warnings with 'type.ref' | grischka | 2009-12-19 | 1 | -0/+3 |
| | | |||||
| * | tccpe: improve dllimport | grischka | 2009-12-19 | 1 | -2/+6 |
| | | |||||
| * | x86-64: in gv(): ignore second register | grischka | 2009-12-19 | 1 | -5/+8 |
| | | |||||
| * | x86-64: Fix Wrong comparisonbetweenpointerandlongcste | Christian Jullien | 2009-12-19 | 1 | -0/+4 |
| | | | | | | | | | | | main (int argc, char *argv[]) { char *p = (char *)0x12345678ABCD000F; int res; res = (p != (char *)0x12345678ABCD000F); return res; } | ||||
| * | tccgen: propagate alignment from typedef | grischka | 2009-12-06 | 1 | -12/+19 |
| | | | | | | Store (part of) the AttributeDef structure in the (int)sym-r field of the typedef symbol (kludgy). | ||||
| * | avoid needless register save when storing structures | bobbl | 2009-12-01 | 1 | -7/+7 |
| | | | | | | | | When storing structs with a memcpy call in vstore(), so far a needless entry remaining on the vstack sometimes resulted in an useless store generated by save_regs() in gfunc_call() for the memcpy routine. | ||||
| * | fix sizeof(array + integer) | Daniel Glöckner | 2009-11-13 | 1 | -0/+1 |
| | | | | | | Previously sizeof would return the size of the array although the expression is always a plain pointer of 4 (or 8) bytes. | ||||
| * | win32: handle __declspec(dllimport) | grischka | 2009-11-13 | 1 | -2/+10 |
| | | |||||
| * | x86-64: Fix stab debug information. | Shinichiro Hamaji | 2009-08-24 | 1 | -2/+2 |
| | | | | | | We need 32bit relocations for code and 64bit for debug info. Introduce a new macro R_DATA_PTR to distinguish the two usages. | ||||
| * | tccgen: free inline functions correctly | grischka | 2009-08-24 | 1 | -1/+5 |
| | | |||||
| * | win32: treat long double as double | grischka | 2009-07-18 | 1 | -0/+6 |
| | | |||||
| * | win64: fix pointer <-> unsigned long typecast issues | grischka | 2009-07-18 | 1 | -4/+4 |
| | | |||||
| * | pe32+ target: add in various #define's | grischka | 2009-07-18 | 1 | -1/+1 |
| | | |||||
| * | cleanup: stop abuse of sym->r for inline functions | grischka | 2009-07-18 | 1 | -25/+20 |
| | | |||||
| * | incompatible function ptr assignment: just warn | grischka | 2009-06-17 | 1 | -3/+2 |
| | | | | | | void fn_1(int i) {} void (*fn_2)(char*) = fn_1; | ||||
| * | allow redefinition of func_old_type functions | grischka | 2009-06-17 | 1 | -4/+7 |
| | | | | | | | | void *memcpy(void*, const void*, unsigned); This gave an error if memcpy() has been used before implicitely, e.g. for structure passing etc. | ||||
