aboutsummaryrefslogtreecommitdiff
path: root/tcctok.h
Commit message (Collapse)AuthorAgeFilesLines
* i386: use __fixdfdi instead of __tcc_cvt_ftolgrischka2014-01-061-43/+46
| | | | | | | | | | | | Variants __fixsfdi/__fixxfdi are not needed for now because the value is converted to double always. Also: - remove __tcc_fpinit for unix as it seems redundant by the __setfpucw call in the startup code - avoid reference to s->runtime_main in cross compilers - configure: fix --with-libgcc help - tcctok.h: cleanup
* Revert "Add support for thread-local storage variables"Thomas Preud'homme2013-11-031-1/+0
| | | | | | | | | | TLS support in tinyCC is absolutely not ready: - segment register not select in load and store - no relocation added for computing offset of per-thread symbol - no support for TLS-specific relocations - no program header added as per Drepper document about TLS This reverts commit 1c4afd13501f07a673aed5f130166f2ee0f30927.
* Add support for thread-local storage variablesThomas Preud'homme2013-10-291-0/+1
|
* i386-gen: preserve fp control word in gen_cvt_ftoigrischka2013-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | - Use runtime function for conversion - Also initialize fp with tcc -run on windows This fixes a bug where double x = 1.0; double y = 1.0000000000000001; double z = x < y ? 0 : sqrt (x*x - y*y); caused a bad sqrt because rounding precision for the x < y comparison was different to the one used within the sqrt function. This also fixes a bug where printf("%d, %d", (int)pow(10, 2), (int)pow(10, 2)); would print 100, 99 Unrelated: win32: document relative include & lib lookup win32: normalize_slashes: do not mirror silly gcc behavior This reverts part of commit 8a81f9e1036637e21a47e14fb56bf64133546890 winapi: add missing WINAPI decl. for some functions
* 64-bit tests now pass (well, nearly).James Lyon2013-04-241-0/+4
| | | | | tcctest1-3 fail, but this appears to be due to bugs in GCC rather than TCC (from manual inspection of the output).
* tcctok.h: fix ifdef target/host confusionJoe Soroka2011-04-121-1/+1
|
* re-apply VLA by Thomas Preud'hommeJoe Soroka2011-04-061-0/+2
|
* tccgen: handle __attribute((alias("target")))Joe Soroka2011-03-031-0/+2
|
* Revert "Make TOK_alloca available for x86-64"Thomas Preud'homme2011-02-051-2/+0
| | | | This reverts commit af26ac56bfc584b70e20158e67f7035024076ec8.
* Make TOK_alloca available for x86-64Thomas Preud'homme2011-02-041-0/+2
| | | | | | | TOK_alloca is now available on x86-64 so make put definition of TOK_alloca outside the BCHECK conditional macro definition but test if arch is i386 or x86-64. This makes C99 VLA works (understand compile) on x86-64.
* Support struct arguments with stdarg.hShinichiro Hamaji2010-12-281-6/+1
| | | | | | | | - 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)
* Add nan, snan and inf float constantsThomas Preud'homme2010-05-061-2/+7
|
* tccasm: Detect (but ignore) .ident directiveDetlef Riekenberg2010-04-051-0/+1
| | | | | | | tcc is now able to compile many asm files generated by gcc -- By by ... Detlef
* tccasm: Detect (but ignore) .size directiveDetlef Riekenberg2010-04-051-0/+1
| | | | | -- By by ... Detlef
* tccasm: Support .type directive (only name,@function)Detlef Riekenberg2010-04-051-0/+1
| | | | | -- By by ... Detlef
* tccasm: Detect (but ignore) the .file directiveDetlef Riekenberg2010-04-051-0/+1
| | | | | | | | | Some patches, to allow tcc to compile asm sources generated by gcc and help tcc with the autoconf stuff used in Wine ( http://source.winehq.org/git/wine.git/ ) -- By by ... Detlef
* weak function symbolsManuel Simoni2010-02-271-0/+2
|
* Add support for the __mode__ attributeDetlef Riekenberg2010-01-261-0/+4
| | | | | -- By by ... Detlef
* win32: enable bounds checker & exception handlergrischka2009-12-191-1/+3
| | | | exception handler borrowed from k1w1. Thanks.
* integrate x86_64-asm.c into i386-asm.cgrischka2009-12-191-5/+1
| | | | | Also, disable 16bit support for now as it causes bugs in 32bit mode. #define I386_ASM_16 if you want it.
* fixed and added missing file for x86_64 assemblyFrederic Feret2009-11-131-1/+1
|
* first support of x86_64 assemblyFrederic Feret2009-11-131-215/+6
|
* added 16-bit x86 assembly supportFrederic Feret2009-11-131-0/+5
|
* win32: handle __declspec(dllimport)grischka2009-11-131-0/+1
|
* drop alloca #definegrischka2009-05-161-1/+1
| | | | | | | (Because GNU's alloca.h unconditionally #undef's alloca) Also, remove gcc specific sections in headers. and instead change tests such that gcc does not use them.
* TOK_builtin_malloc: alternative solutiongrischka2009-04-181-0/+4
|
* Remove multiple definition error caused by combination of x86-64 and va_list.Shinichiro Hamaji2009-04-181-0/+4
| | | | | We need malloc and free to implement va_start and va_end. Since malloc and free may be replaced by #define, we add __builtin_malloc and __builtin_free.
* Add __builtin_frame_address(0)Shinichiro Hamaji2008-12-021-0/+1
| | | | | Adding the GCC extension __builtin_frame_address(). We support only zero as the argument for now. With this functionality, we can implement GCC compatible stdarg by macros in x86-64.
* Runtime lib functionsDaniel Glöckner2008-09-121-30/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Import 409,410: ARM EABI by Daniel Glöcknergrischka2007-12-041-2/+31
|
* Import more changesets from Rob Landley's fork (part 2)grischka2007-11-211-1/+1
|
* fastcall keywordsbellard2005-09-041-0/+3
|
* #pragma pack support (grischka)bellard2005-04-131-0/+8
|
* #include_next support (Bernhard Fischer)bellard2005-04-101-0/+1
|
* __chkstk supportbellard2005-04-101-0/+1
|
* initial PE format supportbellard2005-04-101-0/+1
|
* packed attribute supportbellard2004-10-291-0/+2
|
* added .quad asm directivebellard2004-10-251-0/+1
|
* updatebellard2004-10-231-0/+2
|
* updatebellard2004-10-181-0/+5
|
* C67 COFF executable format support (TK)bellard2004-10-051-1/+11
|
* ARM fixes (Daniel Glockner)bellard2004-10-041-0/+7
|
* both .globl and .global directives are accepted by asbellard2004-10-021-0/+1
|
* ARM target support (Daniel Glockner) - allow unsigned char as default on ↵bellard2003-10-141-0/+11
| | | | ARM (Daniel Glockner) - fixed small ld script support (Daniel Glockner)
* various asm directives - char support (Dave Long)bellard2003-04-281-1/+6
|
* added __builtin_constant_p() and __builtin_types_compatible_p() supportbellard2003-04-261-0/+2
|
* added asm tokens - suppressed synonims (avoid potential bugs in preprocessing)bellard2003-01-061-25/+267
|
* updatebellard2002-11-241-0/+2
|
* all keywords are now in tcctok.hbellard2002-11-021-57/+115
|
* added allocabellard2002-08-311-0/+1
|