Vlad Vissoultchev
224236f57c
Improve hash performance
...
- better `TOK_HASH_FUNC`
- increases `hash_ident` initial size to 16k (from 8k)
- `cstr_cat` uses single `realloc` + `memcpy`
- `cstr_cat` can append terminating zero
- `tok_str_realloc` initial size to 16 (from 8)
- `parse_define` uses static `tokstr_buf`
- `next` uses static `tokstr_buf`
- fixes two latent bugs (wrong deallocations in libtcc.c:482 and
tccpp.c:2987)
2016-04-17 17:25:55 +03:00
Edmund Grimley Evans
1c2dfa1f4b
Change the way struct CStrings are handled.
...
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.
2015-11-26 12:40:50 +00:00
Edmund Grimley Evans
569fba6db9
Merge the integer members of union CValue into "uint64_t i".
2015-11-17 19:09:35 +00:00
gus knight
89ad24e7d6
Revert all of my changes to directories & codingstyle.
2015-07-29 16:57:12 -04:00
gus knight
47e06c6d4e
Reorganize the source tree.
...
* Documentation is now in "docs".
* Source code is now in "src".
* Misc. fixes here and there so that everything still works.
I think I got everything in this commit, but I only tested this
on Linux (Make) and Windows (CMake), so I might've messed
something up on other platforms...
2015-07-27 16:03:25 -04:00
gus knight
41031221c8
Trim trailing spaces everywhere.
2015-07-27 12:43:40 -04:00
Edmund Grimley Evans
aa812e8745
Convert some lines from ISO-8859-1 to UTF-8.
...
perl -i -pe 'use Text::Iconv;
$c1 = Text::Iconv->new("utf-8", "utf-8");
$c2 = Text::Iconv->new("iso-8859-1", "utf-8");
if (!$c1->convert($_)) { $_ = $c2->convert($_); }' \
`find * -type f`
2015-03-11 07:30:03 +00:00
Vincent Lefevre
3e9a7e9d69
Corrected spelling mistakes in comments and strings
2014-04-07 13:31:00 +02:00
Thomas Preud'homme
a1a691a030
Detect correct instruction with incorrect operands
...
Display a different warning when an instruction is recognized by tcc but
the operands found do not correspond to the constraints of the
instruction.
2013-09-24 15:37:11 +02:00
Urs Janssen
0bdbd49eac
add version number to manpage
...
avoid c++/c99 style comments in preprocessor directives
avoid leadings whitespaces in preprocessor directives
mention implemented variable length arrays in documentation
fixed ambiguous option in texi2html call (Austin English)
2013-02-17 00:48:51 +01:00
grischka
bf374a5f23
rename error/warning -> tcc_(error/warning)
2011-08-11 17:07:56 +02:00
Joe Soroka
0d9376da70
tccasm: accept bracketed offset expressions
2011-02-01 15:53:48 -08:00
Joe Soroka
87d84b7cb8
tccasm: allow one-line prefix+op things like "rep stosb"
2011-02-01 15:37:58 -08:00
grischka
50b040ef83
win64: add tiny unwind data for setjmp/longjmp
...
This enables native unwind semantics with longjmp on
win64 by putting an entry into the .pdata section for
each compiled fuction.
Also, the function now use a fixed stack and store arguments
into X(%rsp) rather than using push.
2009-12-20 01:54:37 +01:00
grischka
88a3ccab9f
allow tcc be build from separate objects
...
If you want that, run: make NOTALLINONE=1
2009-12-20 01:53:49 +01:00
grischka
1308e8ebcf
integrate x86_64-asm.c into i386-asm.c
...
Also, disable 16bit support for now as it causes bugs
in 32bit mode. #define I386_ASM_16 if you want it.
2009-12-19 22:16:20 +01:00
grischka
e500c9118a
i386-asm: fix imul
...
With imul the 3rd operand defaults to the 2nd on. The previous
logic left 'op_type[2]' uninitialized which caused the bug to
show up only sometimes.
2009-12-06 17:41:22 +01:00
grischka
50055880f9
asm 32/64: replace (long)sym->next by sym->jnext
2009-11-21 23:43:30 +01:00
grischka
0a3bcb57f6
fix 32bit asm
...
The new 16bit code was causing wrong 0x66 prefixes
in 32bit code.
The fix possibly breaks the feature on 16bit asm.
2009-11-14 20:05:22 +01:00
Bernhard Reutner-Fischer
2fdb45f577
fix ambiguity
...
Signed-off-by: aldot <rep.dot.nop@gmail.com>
2009-11-13 18:09:02 +01:00
Frederic Feret
3065e70630
Fixed compilation error in i386-asm.c
2009-11-13 18:09:01 +01:00
Frederic Feret
0d768b9713
added 16-bit x86 assembly support
2009-11-13 18:08:58 +01:00
grischka
cd24bd05b4
get rid of a warning and fix .bat
2008-03-25 21:05:48 +00:00
grischka
88b3cb570e
Comply to c89 compilers other than gcc (Hanzac Chen)
2008-03-25 20:58:37 +00:00
bellard
6ca0299e5b
allow (base,index) as alias to (base,index,1)
2006-02-20 21:16:10 +00:00
bellard
3ba1190eb4
segment override prefix support (Filip Navara)
2005-09-03 22:03:39 +00:00
bellard
d65463809c
fixed 'no base' modrm generation - better asm constraints handling
2004-10-18 00:13:39 +00:00
bellard
8f5e44a439
changed license to LGPL
2003-05-24 14:11:17 +00:00
bellard
68c800981e
added % constraint
2003-04-27 11:46:10 +00:00
bellard
4149fedd7b
added 'A' asm constraint
2003-04-14 22:22:54 +00:00
bellard
7893a9ecdf
asm support
2003-01-06 20:21:42 +00:00