nickysn
|
57777945a8
* fixed bug in thlcgobj.g_array_rtti_helper introduced in the previous commit
|
12 years ago |
nickysn
|
a5c5b05362
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
|
12 years ago |
nickysn
|
5caadbbc40
+ added method tabstractprocdef.is_pushleftright that exists on all platforms and returns whether parameters must be loaded left to right
|
12 years ago |
nickysn
|
51d61cc593
* define the i8086 default calling convention separately from the other x86 architectures
|
12 years ago |
nickysn
|
7e18ac90e5
* the 'len' argument of fpc_shortstr_assign changed to smallint on 16-bit cpus, because getintparaloc allocates 16-bit ints on i8086
|
12 years ago |
nickysn
|
5f5402f479
* changed ifdef, so that HandleErrorAddrFrame uses the default calling convention on i8086 (whatever that may be), instead of register
|
12 years ago |
nickysn
|
28c05c1ed5
* document the fact that ti8086paramanager.getintparaloc allocates a 16-bit parameter, and not a 32-bit one
|
12 years ago |
nickysn
|
1312fd72f2
* tmoddivnode.pass_typecheck: in the case of unsigned div/mod positive_const, check also the upper bound of the const, so it doesn't get truncated
|
12 years ago |
nickysn
|
fef3732884
* i8086 compilation fixes
|
12 years ago |
nickysn
|
3152df6e7f
* fixed bugs in tx86inlinenode, introduced in r24237
|
12 years ago |
nickysn
|
8ce2f0c56b
- rm the i386 specific code from ti8086paramanager.ret_in_param
|
12 years ago |
nickysn
|
c916105db8
- rm ti8086procinfo.allocate_got_register as it isn't used on the i8086
|
12 years ago |
nickysn
|
97ca0fa323
- removed ti8086inlinenode.second_round_real, second_trunc_real and load_fpu_location as they mostly repeat the code in tx86inlinenode.load_fpu_location; tx86inlinenode.load_fpu_location adapted for i8086 instead
|
12 years ago |
nickysn
|
3870f76cda
* ncgutil: set pushexceptaddr_frametype_cgsize and setjmp_result_cgsize according to cpu16bitaddr, instead of cpu16bitalu
|
12 years ago |
nickysn
|
107a6f6552
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
|
12 years ago |
nickysn
|
70a0d2989c
* fixed tmoddivnode.pass_typecheck on 64-bit CPUs; I was wrong about uint64 div uint64 producing int64 on 64-bit CPUs; this fixes make cycle on e.g. x86_64
|
12 years ago |
nickysn
|
f84fc17edc
+ implemented a timeout in the dosbox wrapper, so that we don't wait forever if a test hangs
|
12 years ago |
nickysn
|
3c6df5bedc
* use is_nativeuint() in ninl.get_str_int_func(), instead of the ifdef sequence
|
12 years ago |
nickysn
|
7a15fd0444
* in the case of (uint8 div/mod small_positive_const), convert the const to unsigned, so that we don't do a 16-bit division on 8-bit CPUs
|
12 years ago |
nickysn
|
3558766390
* first attempt to simplify tmoddivnode.pass_typecheck handling of all cpu native int sizes
|
12 years ago |
nickysn
|
0dcbb4f1cc
* refactored tunaryplusnode.pass_typecheck as well
|
12 years ago |
nickysn
|
a3117beb12
* refactored tunaryminusnode.pass_typecheck to handle all native int sizes generically, without ifdefs
|
12 years ago |
nickysn
|
0473cbf70f
* refactored the add node type check pass to handle all native integer sizes with the same common code, without ifdefs
|
12 years ago |
nickysn
|
2486009d37
+ support u64bit as well in defutil.range_to_basetype
|
12 years ago |
nickysn
|
59976c3ac8
* use FixNonCommutativeOpcodes in agx86int.pas as well (fixes compilation for i386)
|
12 years ago |
nickysn
|
d88855566a
+ added defutil.is_nativesint and is_nativeuint
|
12 years ago |
nickysn
|
70d02e6942
+ added defutil.is_nativeint and is_nativeord
|
12 years ago |
nickysn
|
7bce3c5208
* reverse the order of checks for determining the native int type (e.g. 8086 in large memory model would have 32-bit addresses, but a 16-bit native int)
|
12 years ago |
nickysn
|
db35b011a3
* modified test cpu16/addint1.pp to not halt on the first error
|
12 years ago |
nickysn
|
fdc13a77a5
+ first test for CPUs with a 16-bit native int added
|
12 years ago |