| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Rewrote casts | Daniel Glöckner | 2008-11-30 | 1 | -115/+101 |
| | | | | | | | | | | Casting of constants was done only inside functions. I restructured the code and used intermediate types (long double/long long) for most conversions to have less ifs. Please review. There are lots of cases to take care of and lots of mistakes to make. | ||||
| * | line-numbers output for TCC -E | grischka | 2008-11-30 | 1 | -12/+25 |
| | | |||||
| * | was hash, not link | grischka | 2008-09-15 | 1 | -1/+1 |
| | | |||||
| * | Display error on statement expressions with complex return type | Daniel Glöckner | 2008-09-12 | 1 | -0/+14 |
| | | | | | | | | | | | | The return type of a statement expression (a GCC extention) may involve elements on the symbol stack that have been put there by the expression. These will be freed at the end of the expression so that the calling block can not use them. Contrary to the comment (written in 2003), this bug no longer shows up in Valgrind, as freed symbols are now put onto a stack for later reuse. | ||||
| * | Fix bitfields with non-int types and in unions | Daniel Glöckner | 2008-09-12 | 1 | -8/+28 |
| | | | | | | | | | | | | | | | | | | The ISO C draft allow only signed/unsigned int and _Bool as base type for bitfields. TinyCC ever since allowed a wider range of types, but there were many bugs that shifted values when they shouldn't, etc.. The patch introduces a restriction to the layout of bitfields with mixed types that makes it incompatible with GCC. In struct { typeA x:1; typeB y:1; }; y is combined with x in the same byte iff typeA is typeB (neglecting signedness). This is done to avoid alignment issues and exceeding the width of typeA. | ||||
| * | Force null pointer exception for code outside of a function | Daniel Glöckner | 2008-09-12 | 1 | -0/+3 |
| | | | | | | | | | | | TinyCC sometimes has problems to evaluate constant expressions at compile time. This leads to code being generated outside of functions. Without this patch some of these bugs are not caught, because cur_text_section still points to the section of the last function. Before the first function cur_text_section is uninitialized. Setting cur_text_section to a null pointer should make TinyCC die in all cases. | ||||
| * | Optimize arithmetic with pointer to value on stack + constant | Daniel Glöckner | 2008-09-12 | 1 | -2/+3 |
| | | |||||
| * | Fix gv for long longs | Daniel Glöckner | 2008-09-12 | 1 | -4/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | long long a(); long long b() { return a(); } At the end of b there will be some useless register shuffling. This is because return wants to have the result of a in REG_IRET. gv checks if this is the case for BOTH registers of the long long. After this test it uses REG_LRET for the second register if the first is supposed to be REG_IRET. In other cases it uses RC_INT. The patch compares the second register against the class it will have in the end instead of the register class the first register will have. At this point I would like to remind those who pick up the patches that there are two other mails by me with uncommitted fixes: http://lists.gnu.org/archive/html/tinycc-devel/2003-10/msg00044.html http://lists.gnu.org/archive/html/tinycc-devel/2008-08/msg00007.html Daniel | ||||
| * | A prefix for default library/include search paths | Daniel Glöckner | 2008-09-12 | 1 | -6/+6 |
| | | | | | | | | | | This patch is useful for cross compilers. Without this patch tcc tries to use the host's libraries, crt*.o and include files. The patch prepends a string to all default paths. The string can be passed to configure with --sysroot=string. Daniel | ||||
| * | Runtime lib functions | Daniel Glöckner | 2008-09-12 | 1 | -17/+26 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Yesterday I felt the urge to change a few things in TinyCC. This is the first and biggest change of all of them. - use __aeabi_*divmod functions in ARM EABI to make binaries depend solely on standardized library functions - refactor ARM floating point <-> integer conversion a bit - rename long long->float and shift library functions to correspond to the names used by GCC - compile more tokens conditionally to reduce the size of TinyCC The intention is primarily to allow users of the ARM target to use libgcc (which is usually available as a shared library) instead of libtcc1 (which can't be compiled for ARM due to lack of an inline assembler). Changing the EABI target to use the divmod functions in theory allows to use it without libtcc1 on any (not necessarily GCC based) ARM EABI system. Daniel | ||||
| * | fix isidnum_table for CH_EOF (-1) | grischka | 2008-09-12 | 1 | -5/+5 |
| | | |||||
| * | free_section bugfix | grischka | 2008-09-12 | 1 | -2/+2 |
| | | |||||
| * | release loaded dlls cleanly (Sam K) | grischka | 2008-05-05 | 1 | -2/+11 |
| | | |||||
| * | enable pe-output from libtcc (Shmuel Zeigerman) | grischka | 2008-05-05 | 1 | -7/+0 |
| | | |||||
| * | fix options in C scripts after -run | grischka | 2008-04-27 | 1 | -17/+14 |
| | | |||||
| * | fix stabstr with linked objects | grischka | 2008-04-27 | 1 | -0/+2 |
| | | |||||
| * | enable multiple states and fix minor memory leaks | grischka | 2008-04-27 | 1 | -16/+48 |
| | | |||||
| * | update manual, changelog | grischka | 2008-03-31 | 1 | -0/+2 |
| | | |||||
| * | added verbosity levels (-vv -vvv) | grischka | 2008-03-31 | 1 | -13/+24 |
| | | |||||
| * | Accept standard input as an inputstream (Hanzac Chen) | grischka | 2008-03-31 | 1 | -8/+9 |
| | | |||||
| * | Add -soname linker option (Marc Andre Tanner) | grischka | 2008-03-25 | 1 | -2/+11 |
| | | |||||
| * | Enable -B option for library path on win32 | grischka | 2008-03-08 | 1 | -9/+9 |
| | | |||||
| * | Just warn about unknown directives, define __STDC_VERSION__=199901L | grischka | 2008-01-16 | 1 | -14/+22 |
| | | |||||
| * | Switch to newer tccpe.c (includes support for resources) | grischka | 2007-12-19 | 1 | -135/+174 |
| | | |||||
| * | Handle backslashes within #include, #error, #warning | grischka | 2007-12-17 | 1 | -8/+21 |
| | | |||||
| * | Import changesets (part 4) 428,457,460,467: defines for openbsd etc. | grischka | 2007-12-16 | 1 | -4/+10 |
| | | |||||
| * | Use _WIN32 for a windows hosted tcc and define it for the PE target. | grischka | 2007-12-13 | 1 | -48/+52 |
| | | |||||
| * | Import 409,410: ARM EABI by Daniel Glöckner | grischka | 2007-12-04 | 1 | -0/+59 |
| | | |||||
| * | Some in-between fixes (See Changelog for details). | grischka | 2007-11-25 | 1 | -66/+68 |
| | | |||||
| * | Import more changesets from Rob Landley's fork (part 2) | grischka | 2007-11-21 | 1 | -67/+92 |
| | | |||||
| * | Import some changesets from Rob Landley's fork (part 1) | grischka | 2007-11-14 | 1 | -59/+97 |
| | | |||||
| * | fixed sign extension in some type conversions (Dave Dodge) | bellard | 2006-10-28 | 1 | -0/+4 |
| | | |||||
| * | fixed multiple typedef specifiers handling | bellard | 2006-10-28 | 1 | -0/+1 |
| | | |||||
| * | workaround for function pointers in conditional expressions (Dave Dodge) | bellard | 2006-10-28 | 1 | -0/+3 |
| | | |||||
| * | discard type qualifiers when comparing function parameters (Dave Dodge) | bellard | 2006-10-28 | 1 | -4/+26 |
| | | |||||
| * | fixed multiple concatenation of PPNUM tokens (initial patch by Dave Dodge) | bellard | 2006-10-28 | 1 | -1/+4 |
| | | |||||
| * | initial implementation of -E option | bellard | 2006-10-16 | 1 | -11/+84 |
| | | |||||
| * | fixed parsing of function parameters | bellard | 2005-09-03 | 1 | -26/+30 |
| | | |||||
| * | anonymous union/struct support (Filip Navara) | bellard | 2005-09-03 | 1 | -3/+14 |
| | | |||||
| * | windows style fastcall (Filip Navara) | bellard | 2005-09-03 | 1 | -0/+6 |
| | | |||||
| * | normalized slashes in paths (Filip Navara) | bellard | 2005-09-03 | 1 | -0/+5 |
| | | |||||
| * | added support for win32 wchar_t (Filip Navara) | bellard | 2005-09-03 | 1 | -9/+27 |
| | | |||||
| * | fixed function type check | bellard | 2005-09-03 | 1 | -2/+2 |
| | | |||||
| * | mark executable sections as executable when running in memory | bellard | 2005-09-03 | 1 | -1/+31 |
| | | |||||
| * | preprocessor function macro parsing fix (grischka) - disabled ↵ | bellard | 2005-06-17 | 1 | -12/+32 |
| | | | | | -fleading-underscore for win32 | ||||
| * | added -f[no-]leading-underscore - '@' symbol for asm | bellard | 2005-06-15 | 1 | -3/+22 |
| | | |||||
| * | win32 merge (grischka) | bellard | 2005-04-17 | 1 | -10/+21 |
| | | |||||
| * | win32 merge | bellard | 2005-04-14 | 1 | -2/+13 |
| | | |||||
| * | #pragma pack support (grischka) | bellard | 2005-04-13 | 1 | -4/+65 |
| | | |||||
| * | #include_next support (Bernhard Fischer) | bellard | 2005-04-10 | 1 | -4/+13 |
| | | |||||
