aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix push_macro, asked Tom to help me testfix push_macrojiang2014-05-163-3/+10
|
* When tcc.exe update, abitest-tcc.exe not updated. For security, you must ↵jiang2014-05-151-1/+1
| | | | first clean up
* Add warning 4jiang2014-05-141-5/+29
| | | | | | | | num en{a1,a2,a3}; enum en ee; ee = 0xffffffffff; char a; a = 0xffff;
* Add warning 3jiang2014-05-141-0/+2
| | | | | | struct st {int a;} ss; int b; b = ss;
* clean '\t'jiang2014-05-145-177/+177
|
* restore 2dd8587c2f32d17a2cd0443a60a614a3fa9bbe29jiang2014-05-136-111/+248
|
* Modify tcc_error ("invalid type",);jiang2014-05-131-1/+1
|
* fix 14d0aa450f9a926a852ea01fbdecf27425264d14jiang2014-05-131-1/+1
|
* Add warning 2jiang2014-05-091-0/+2
| | | | | | | | | For example: struct A { int b: 16; int c: 16 }; sizeof (struct A);
* Add warningjiang2014-05-091-0/+2
| | | | | | | For example: struct A { int b []; };
* win64: try to fix linkagegrischka2014-05-083-18/+23
| | | | | | | | | - revert to R_X86_64_PC32 for near calls on PE - revert to s1->section_align set to zero by default Untested. Compared to release_0_9_26 the pe-image looks back to normal. There are some differences in dissassembly (r10/r11 usage) but maybe that's ok.
* fix bug if (seen_reg_num + reg_count <= 8)jiang2014-05-081-1/+1
|
* Revert "update static void parse_number()"grischka2014-05-062-138/+247
| | | | | | | | | | | | | | | | | | | because: - Constructing fp numbers isn't quite trivial - 3 additional calls to strchr per number is noticeable slow Also: exclude abitest.c:ret_longdouble_test2 on _WIN32 for mixed gcc/tcc scenario test case: - make -k test (on win32): -2.120000 0.500000 23000000000.000000 +2.120000 0.500000 22999999999.999996 ... ret_longdouble_test2... failure This reverts 857f7dbfa65179e6690dbee7ab915fb4458cee11 and deaee6c2496ecb25858290405fef8ef79aece979
* Return to: e20c1eb99e1003c1e59522c136dbb15c52d7cc7cjiang2014-05-0423-1809/+1411
| | | | | | | | | | | | | | | | | | | | | | | 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!
* tcc on i386 are still having problems at work.Thank Roy report again. Struck ↵jiang2014-05-036-38/+32
| | | | on several variables can be connected to commit in the register. I am worried whether tcc can run the os. Since my machine is ubuntu 64 bits I can test my machine.
* forget commit tccge.c for i386jiang2014-05-031-1/+1
|
* Modify i386-gen.c,jiang2014-05-031-54/+113
| | | | Thank Roy Tam reported problems
* Fix x86-64 vlajiang2014-05-023-190/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, it should look like this High stack ------------- ----- Func_ret_sub ------------ ---- Vla stack ------------- ---- Known loc -------------- Low Increased loc_stack () function is used for temporary stack management, call save_reg (), released by load () Like this Before use High ----- Known loc ---- --- ---- ---- Pop_stack Low loc_stack (size, 1) After use High ----- Known loc ---- Pop_stack --- ---- ---- Low
* Fixes include the double quotes bugjiang2014-05-026-111/+248
| | | | | Added push_macro, pop_macro support Fix pack bug, when output with-E will pack the bug
* gen_putz () and struct_copy (), is to reduce the third-party call thatjiang2014-05-021-23/+30
| | | | | | | generates faster code tcc Now only for x86-64 parse_number also to reduce the reliance on third-party libraries, allowing faster analysis tcc
* Add a comment.jiang2014-05-021-3/+3
| | | | | | ref: 2a8905c93b4f67a21e3dbf297c3e93c598831528 Sorry, I used the wrong command, I did not mean it. Thank grischka
* Attention: never use hard tabs other than 8 (eight) widegrischka2014-05-011-56/+56
| | | | | | | | | | | | | | | | | | | | | | | | | The attached fix (libcrt.c) is just one example. There seem many more such introduced from latest commits that look badly formatted in anyone else's editors and should be fixed. General recommended policy: - if possible, do not add new hard tabs ('\t') at all. Use spaces (soft tabs) instead - in any case, configure your editor to read/write hard tabs with width of 8 (eight) Also: - Avoid merge commits (unless for very good reason). Instead use "git cherry-pick" or "git rebase" to put your commits on top of the public branch. ref: 2a8905c93b4f67a21e3dbf297c3e93c598831528 Also: - jiang: please explain what you are doing, in the commit message and on the list. Subscribe to the mailing list to receive feedback from people for your work. For example, what was wrong with 'parse_number'? Show a test case and how your version fixes it (it is slower btw).
* update for x86_64-gen.cjiang2014-05-014-326/+304
|
* cleanjiang2014-05-011-9/+0
|
* fix its own making bug. Improved init_putz (). Modify the tests / Makefile ↵jiang2014-05-014-51/+67
| | | | to make the test more secure
* Expansion code again for x86_64-genjiang2014-05-013-201/+129
|
* rename i386-tok.h i386-asm.c, add PRINTF_ASM_CODEjiang2014-04-307-52/+53
|
* rename libtcc1.cjiang2014-04-3010-47/+47
|
* Fix va_arg bug, Fix type conversion bug, an increase of loc_stack () ↵jiang2014-04-305-154/+236
| | | | function is used to manage loc
* Restore eda2c756edc4dca004ba217d5bf361235dd9de1fjiang2014-04-306-67/+148
|
* Reduce the generation of machine code for x86_64, Less of sizejiang2014-04-293-251/+244
|
* So that the generated code, and more shortjiang2014-04-2978-3577/+6326
|\
| * fix test3 for x86_64-gen.cjiang2014-04-281-1/+1
| |
| * fix abitest.c for x86_64 bugjiang2014-04-282-3/+1
| |
| * fix tccpp.cjiang2014-04-281-24/+0
| |
| * update static void parse_number(const char *p) for tccpp.cjiang2014-04-281-220/+138
| |
| * add test for abitest.cjiang2014-04-281-5/+53
| |
| * tccpe: adjust for new 'hidden' symbols featuregrischka2014-04-173-15/+17
| | | | | | | | | | in order to avoid conflicts with windows specific (ab)usage of the Elf32_Sym -> st_other field.
| * Improve efficiency of macro concatenationThomas Preud'homme2014-04-141-26/+2
| | | | | | | | | | | | As per grischka comment, always output a space after macro concatenation instead of trying to detect if it's necessary as the current approach has a huge cost.
| * Remove unused variableMichael Matz2014-04-141-1/+0
| |
| * x86_64: Handle PLT relocs to hidden symbolsMichael Matz2014-04-141-2/+9
| | | | | | | | | | For calls to hidden symbols we don't need a PLT slot, rewrite the reloc into PC32.
| * Parse assembler .hidden directiveMichael Matz2014-04-143-4/+12
| | | | | | | | | | This makes TCCs assembler understand the '.hidden symbol' directive (and emits a STV_HIDDEN ELF symbol then).
| * Parse and emit hidden visibilityMichael Matz2014-04-143-5/+69
| | | | | | | | | | | | | | 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.
| * tccpe: speed up .def file loadinggrischka2014-04-131-17/+7
| | | | | | | | | | The fgets replacement meant to work with "int fd" was just too slow.
| * tests2: fix and enable 46_grep test.minux2014-04-123-8/+13
| |
| * tests2: fix 30_hanoi test and enable it.minux2014-04-122-2/+2
| |
| * Make build CPU detection a tad more flexibleThomas Preud'homme2014-04-121-50/+59
| |
| * Fix preprocessor concat with empty argThomas Preud'homme2014-04-125-6/+56
| |
| * build: add initial NetBSD support.minux2014-04-123-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | Not able to generate ELF files on NetBSD yet (lacks the note and crt1.o is actually named crt0.o on NetBSD), but -run works with these extra defines: -D__lint__ -D"__symbolrename(x)=asm(#x)" -D__NetBSD__ The -D__lint__ is an ugly hack, TCC should be able to emulate GCC just fine, but it seems TCC doesn't support __builtin_va_list yet? typedef __builtin_va_list __va_list; /usr/include/sys/ansi.h:72: error: ';' expected (got "__va_list")
| * build: ignore and properly clean tests/vla_testminux2014-04-122-1/+2
| |