| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Move all GAS directives under TOK_ASMDIR prefix to include leading '.' | Vlad Vissoultchev | 2016-03-15 | 3 | -68/+80 |
| | | | | | Use only these tokens in `asm_parse_directive` and don't recycle others' tokens (like TOK_SECTION1) | ||||
| * | Identifiers can start and/or contain '.' in PARSE_FLAG_ASM_FILE | Vlad Vissoultchev | 2016-03-14 | 1 | -10/+8 |
| | | | | | Including labels, directives and section names | ||||
| * | tccpp.c: Fix failing `PPTest 03` by reverting rogue modification in ↵ | Vlad Vissoultchev | 2016-03-14 | 1 | -1/+1 |
| | | | | | `macro_arg_subst` | ||||
| * | Fix tests Makefiles on Windows | Vlad Vissoultchev | 2016-03-14 | 3 | -2/+14 |
| | | | | | Compiled tcc.exe location is under $(top_srcdir)/win32 | ||||
| * | Use proper ifdef for x64 check in winnt.h | Vlad Vissoultchev | 2016-03-14 | 1 | -3/+3 |
| | | |||||
| * | Revert spawnvp param cast and use `no-incompatible-pointer-types` in ↵ | Vlad Vissoultchev | 2016-03-14 | 2 | -3/+3 |
| | | | | | build-tcc.bat | ||||
| * | Keep lvalue category on structs when evaluating ternary operator | Vlad Vissoultchev | 2016-03-13 | 1 | -4/+17 |
| | | |||||
| * | Migrate static STRING_MAX_SIZE buffers to CString instances for large macros ↵ | Vlad Vissoultchev | 2016-03-13 | 1 | -14/+23 |
| | | | | | expansion | ||||
| * | Add x64 SEH decls. Add exports to kernel32.def | Vlad Vissoultchev | 2016-03-13 | 2 | -0/+68 |
| | | |||||
| * | Move WIN32_LEAN_AND_MEAN to windows.h (silence redeclarations) | Vlad Vissoultchev | 2016-03-13 | 2 | -3/+4 |
| | | |||||
| * | Win32 build script handles `x64` and `debug` params | Vlad Vissoultchev | 2016-03-13 | 1 | -6/+11 |
| | | |||||
| * | Silence FIXME and compiler warning | Vlad Vissoultchev | 2016-03-13 | 2 | -1/+4 |
| | | |||||
| * | tccgen.c: Fix flex array members some more | Michael Matz | 2016-03-11 | 3 | -2/+31 |
| | | | | | Last fix didn't work for function f1int in the added testcase. | ||||
| * | tccgen.c: off by one in flexible array members | Henry Kroll III | 2016-03-10 | 1 | -1/+1 |
| | | | | | tccgen.c: fix fexible array member breaking struct alignment | ||||
| * | tccgen.c: In parse_btype, handle type qualifiers applied to arrays. | Edmund Grimley Evans | 2016-01-11 | 2 | -14/+41 |
| | | | | | Also add some test cases in tests/tests2/39_typedef.c. | ||||
| * | CodingStyle: Remove reference to misaligned struct CString. | Edmund Grimley Evans | 2016-01-06 | 1 | -3/+0 |
| | | | | | This was fixed by 1c2dfa1 on 2015-11-21. | ||||
| * | i386: Add support for new psABI relocation | Thomas Preud'homme | 2015-12-27 | 2 | -3/+11 |
| | | | | | | | | R_386_GOT32X can occur in object files assembled by new binutils, and in particular do appear in glibc startup code (crt*.o). This patch is modeled after the x86_64 one, handling the new relocation in the same trivial way. | ||||
| * | x86-64: fix shared libs | Michael Matz | 2015-12-17 | 1 | -2/+4 |
| | | | | | | | | | | | | | | | The introduction of read32le everywhere created a subtle issue, going from x = *(int*)p; to x = read32le(p); is not equivalent if x is a larger than 32bit quantity, like an address on x86_64, because read32le returns an unsigned int. The first sign extends, the latter zero extends. This broke shared library creation for gawk. It's enough to amend the case of the above situation, cases like "write32le(p, read32le(p) +- something)" are okay, no extensions happen or matter. | ||||
| * | x86-64: Define symbol constant for new relocs | Michael Matz | 2015-12-17 | 2 | -7/+13 |
| | | | | | | | Whoops, we have our own <elf.h> copy, so I can just as well add the symbol defines for the relocs instead of hard-coding numbers in tccelf.c. | ||||
| * | x86-64: Add support for new psABI relocations | Michael Matz | 2015-12-17 | 1 | -4/+10 |
| | | | | | | | | | | R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX can occur in object files comiled by new binutils. They are not dynamic relocations, so normally wouldn't be a problem for tcc (one doesn't normally mix object files created by different compiler/binutils, static archives are so out :)). If it weren't for the glibc startup code, crt*.o, of course. They now do contain such relocs --> boom. Handle them in the trivial way. | ||||
| * | Fixed a dependency (error with make -j8). | Vincent Lefevre | 2015-12-15 | 1 | -1/+1 |
| | | | | | Signed-off-by: Vincent Lefevre <vincent@vinc17.net> | ||||
| * | Change the way struct CStrings are handled. | Edmund Grimley Evans | 2015-11-26 | 6 | -66/+67 |
| | | | | | | | | | | A CString used to be copied into a token string, which is an int array. On a 64-bit architecture the pointers were misaligned, so ASan gave lots of warnings. On a 64-bit architecture that required memory accesses to be correctly aligned it would not work at all. The CString is now included in CValue instead. | ||||
| * | TODO: Add two issues. | Edmund Grimley Evans | 2015-11-26 | 1 | -0/+2 |
| | | |||||
| * | tccgen.c: Give error if statement expression found when const wanted. | Edmund Grimley Evans | 2015-11-26 | 1 | -6/+2 |
| | | | | | | | | | | | | | | | | | Some test cases: #define SE ({ switch (0) { } 0; }) // Should give error: int x = SE; void f(void) { static int x = SE; } void f(void) { enum e { a = SE }; } void f(void) { switch (0) { case SE: break; } } // Correct: int f(void) { return SE; } int f(void) { return sizeof(SE); } | ||||
| * | tcc.h: Change order of built-in include paths: put TCC's own dir first. | Edmund Grimley Evans | 2015-11-23 | 1 | -3/+3 |
| | | | | | | There may be compiler-specific header files that should override system headers. See TCC's include paths by running "tcc -vv". | ||||
| * | tccgen.c: Try to make sizeof(!x) work. | Edmund Grimley Evans | 2015-11-22 | 3 | -3/+4 |
| | | | | | tests/tests2/27_sizeof.*: Add test. | ||||
| * | tccgen.c: Bug fix for 992cbda and 3ff77a1: set nocode_wanted. | Edmund Grimley Evans | 2015-11-21 | 3 | -8/+39 |
| | | | | | tests/tests2/78_vla_label.*: Add test. | ||||
| * | TODO: Add note on handling of floating-point values. | Edmund Grimley Evans | 2015-11-21 | 1 | -0/+3 |
| | | |||||
| * | TODO: Add some issues. | Edmund Grimley Evans | 2015-11-21 | 1 | -0/+15 |
| | | |||||
| * | CodingStyle: Add notes on language and testing. | Edmund Grimley Evans | 2015-11-20 | 1 | -1/+69 |
| | | |||||
| * | Improve constant propagation with "&&" and "||". | Edmund Grimley Evans | 2015-11-20 | 3 | -52/+58 |
| | | |||||
| * | tccelf.c: On arm64, use read64le, and use uint64_t to check range. | Edmund Grimley Evans | 2015-11-20 | 1 | -3/+2 |
| | | |||||
| * | Bug fix for commit 553242c18a2387fb896df66eb9b5a502f0e87ff0. | Edmund Grimley Evans | 2015-11-20 | 2 | -10/+14 |
| | | | | | | | In gtst, vtop->c.i is not usually zero, but it is when compiling: int f(void) { return 1 && 1 ? 1 : 1; } | ||||
| * | tccpp: allow .. in token stream | grischka | 2015-11-20 | 1 | -4/+7 |
| | | | | | | | | | | | for gas comments lonely on a line such as # .. more stuff where tcc would try to parse .. as a preprocessor directive See also: 0b3612631f49ba0c008635aaa46ecf8be2eefcf7 | ||||
| * | tccpp: cleanup #include_next | grischka | 2015-11-20 | 3 | -127/+46 |
| | | | | | | | | | | | | | | | | | tcc_normalize_inc_dirs: normally no problem to be absolutly gcc compatible as long as it can be done the tiny way. This reverts to the state before recent related commits and reimplements a (small) part of it to fix the reported problem. Also: Revert "parsing "..." sequence" c3975cf27c792d493e76a2058a1eaf588324053e && p[1] == '.' is not a reliable way to lookahead | ||||
| * | tccgen: asm_label cleanup | grischka | 2015-11-20 | 4 | -42/+42 |
| | | | | | | | | - avoid memory allocation by using its (int) token number - avoid additional function parameter by using Attribute Also: fix some strange looking error messages | ||||
| * | tccgen.c: Recognise constant expressions with conditional operator. | Edmund Grimley Evans | 2015-11-20 | 2 | -10/+21 |
| | | | | | tests/tests2/78_vla_label.c: Check that int a[1 ? 1 : 1] is not a VLA. | ||||
| * | tccgen.c: In parse_btype, handle typedef types with added type qualifiers. | Edmund Grimley Evans | 2015-11-19 | 1 | -1/+11 |
| | | | | | | | | | | | | | | | | | | | In a case like typedef int T[1]; const T x; we must make a copy of the typedef type so that we can add the type qualifiers to it. The following code used to give error: incompatible types for redefinition of 'f' typedef int T[1]; void f(const int [1]); void f(const T); | ||||
| * | tccgen.c: Improvements to type_to_str (only used for error messages). | Edmund Grimley Evans | 2015-11-19 | 1 | -0/+9 |
| | | | | | | 1. Handle array types. 2. Print the type qualifiers of pointers. | ||||
| * | Trivial changes to avoid some compiler warnings. | Edmund Grimley Evans | 2015-11-19 | 5 | -9/+12 |
| | | |||||
| * | Replace pointer casts with calls to (read|write)(16|32|64)le. | Edmund Grimley Evans | 2015-11-19 | 5 | -170/+185 |
| | | | | | | This stops UBSan from giving runtime misaligned address errors and might eventually allow building on a non-little-endian host. | ||||
| * | tccgen.c: Avoid undefined behaviour in constant propagation. | Edmund Grimley Evans | 2015-11-17 | 1 | -31/+38 |
| | | |||||
| * | Merge the integer members of union CValue into "uint64_t i". | Edmund Grimley Evans | 2015-11-17 | 10 | -145/+133 |
| | | |||||
| * | tests/tests2/79_vla_continue.c: Fix off-by-one error. | Edmund Grimley Evans | 2015-11-13 | 1 | -2/+2 |
| | | |||||
| * | libtcc.c: Completely replace tcc_normalize_inc_dirs. | Edmund Grimley Evans | 2015-11-11 | 1 | -73/+26 |
| | | |||||
| * | arm64-gen.c: Avoid some cases of undefined behaviour. | Edmund Grimley Evans | 2015-11-09 | 1 | -44/+55 |
| | | | | | Also make some functions more portable. | ||||
| * | tccelf.c: Avoid two trivial instances of undefined behaviour. | Edmund Grimley Evans | 2015-11-09 | 1 | -2/+4 |
| | | |||||
| * | win: include dirs: add some docs, minor refactor | Avi Halachmi (:avih) | 2015-11-08 | 1 | -4/+18 |
| | | |||||
| * | lib/Makefile: filter-out -b flag from XFLAGS | seyko | 2015-11-08 | 1 | -1/+1 |
| | | | | | | to build tcc with bound checking ./configure --cc=tcc --extra-cflags-b | ||||
| * | fix tcc_mormalize_inc_dirs naming | seyko | 2015-11-08 | 1 | -2/+2 |
| | | |||||
