aboutsummaryrefslogtreecommitdiff
path: root/tcctok.h
Commit message (Collapse)AuthorAgeFilesLines
* clean '\t'jiang2014-05-141-1/+1
|
* restore 2dd8587c2f32d17a2cd0443a60a614a3fa9bbe29jiang2014-05-131-0/+2
|
* Return to: e20c1eb99e1003c1e59522c136dbb15c52d7cc7cjiang2014-05-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | | 1: The new patch for the other machines still have the problem. 2: libcrt Rename (what if gcc had libcrt as well) 3: parse_number exact problem 4: VT_VLS is to allow tcc Compile the following int b = 9; struct st { int a; int b [b] }; struct st st1; st1.b [8] = 9; printf ("% d \ n", st1.b [8]); tcc a problem. Due to problems in front, and now can not be improved 5: they commit much, bug difficult to lock, you can not let other people help develop. 6: ('\ t') too Thanks to Michael and Ray Their criticism I have benefited!
* Fixes include the double quotes bugjiang2014-05-021-0/+2
| | | | | Added push_macro, pop_macro support Fix pack bug, when output with-E will pack the bug
* rename i386-tok.h i386-asm.c, add PRINTF_ASM_CODEjiang2014-04-301-1/+1
|
* Parse assembler .hidden directiveMichael Matz2014-04-141-0/+1
| | | | | This makes TCCs assembler understand the '.hidden symbol' directive (and emits a STV_HIDDEN ELF symbol then).
* Parse and emit hidden visibilityMichael Matz2014-04-141-0/+2
| | | | | | | This adds parsing of (GCC compatible) visibility attribute in order to mark selected global symbols as hidden. The generated .o files contain hidden symbols already, the TCC linker doesn't yet do the right thing.
* Create bcheck region for argv and arge argumentThomas Preud'homme2014-03-291-0/+1
| | | | | | | | | | | For program manipulating argv or arge as pointer with construct such as: (while *argv++) { do_something_with_argv; } it is necessary to have argv and arge inside a region. This patch create regions argv and arge) if main is declared with those parameters.
* 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
|