sergei
|
8b3217815b
* When inlining currency (ordinal) multiplication, change resultdef to int64, in order to be consistent with behavior of generic handling. Fixes compilation faliure after r26500, Mantis #25565.
|
11 years ago |
sergei
|
a3efd9e1df
+ Added method taddnode.use_generic_mul64bit, allowing it to inline full 64-bit multiplications, and fixed ARM to comply (it was not checking for possible 32x32 to 64 optimization after detecting a 64-bit operand, so recently added code for 32x32 to 64 bit optimization was inactive).
|
11 years ago |
nickysn
|
aec73bce68
* pass the overflow check flag correctly to the 32 and 16-bit mul helpers (on
|
11 years ago |
nickysn
|
372e9dfdf1
* improved the readability of the code of taddnode.try_make_mul32to64() even
|
11 years ago |
nickysn
|
ac177a445e
* use is_64bit() in taddnode.try_make_mul32to64() for better readability
|
11 years ago |
nickysn
|
c2ba9ebfe5
+ added different mul helpers for the 32 to 64-bit muls, since they can usually
|
11 years ago |
nickysn
|
72e526b9b1
* taddnode.pass_1: set correctly expectloc to LOC_JUMP or LOC_FLAGS for compare
|
11 years ago |
nickysn
|
4917d8da39
- rm the special case handling of unsigned 32-bit ordinals in taddnode.pass_1,
|
11 years ago |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 years ago |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
11 years ago |
florian
|
d39b9059d6
* improve simplification of arithmetic nodes, based on a patch by Jeppe Johansen
|
11 years ago |
svenbarth
|
798bb91e90
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
|
11 years ago |
sergei
|
dac8cbcefc
* Handle assigned(x) expressions entirely in first pass by converting them to "x<>nil", indicate that procedure variables should not be called by setting nf_load_procvar flag (which is already used with typeconvnode for exactly the same purpose). This allows to generate better code when assigned(x) is used on right side of assigments. Mantis #24572.
|
12 years ago |
Jonas Maebe
|
8d1090269e
* synchronised with trunk r25259
|
12 years ago |
Jonas Maebe
|
fb8fb29574
* record/use the code page of string constants typecasted to an ansistring
|
12 years ago |
Jonas Maebe
|
29132f45b7
* synchronised with trunk up to r25167 (fixes glib compilation via r25164,
|
12 years ago |
Jonas Maebe
|
1a560e9875
* when concatenating ansistrings, do not map CP_NONE (rawbytestring) to
|
12 years ago |
svenbarth
|
6b34c84704
nadd.pas, taddnode.create_internal:
|
12 years ago |
svenbarth
|
fc79d47b09
Fix for Mantis #24651. Allow pointer comparison for internal expressions (in this case check for valid VMT).
|
12 years ago |
nickysn
|
d387182bd6
* when doing a pointer comparison on i8086, don't cast a far pointer to a near one (pchar), but use a far one instead
|
12 years ago |
florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
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
|
949210e808
+ added min and max functions for Tconstexprint
|
12 years ago |
florian
|
364f170765
* cosmetic formatting changes
|
12 years ago |
florian
|
88455bbb02
* 32 bit comparison normally result in LOC_FLAGS on 16 bit CPUs
|
12 years ago |
nickysn
|
d72d496478
* enable cpuneedsmulhelper for the 32-bit multiplication
|
12 years ago |
nickysn
|
ded6b87acc
16-bit and 8-bit ALU fixes for int types in taddnode.pass_typecheck_internal
|
12 years ago |
nickysn
|
e4d66dd95c
i8086 fix for taddnode.pass_typecheck_internal and real types
|
12 years ago |
Jeppe Johansen
|
a8f9b0dac4
Added initial support for the Cortex-M4F FPv4_S16 FPU
|
13 years ago |
Jonas Maebe
|
33f5de990d
* fixed indentation
|
13 years ago |