florian
|
2081b9cad7
* do not convert a boolean to a 32 bit int first when converting to a 64 bit int, this causes data loss when casting e.g. a qwordbool to a qword
|
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 |
Jonas Maebe
|
7be4e20307
* also don't put a value in registers if it is converted from a type that can
|
11 years ago |
Jonas Maebe
|
2bb67ec47d
* corrected usage of CPUNO32BITOPS
|
11 years ago |
florian
|
bbabb77ec9
* disable 32 bit operation optimization for powerpc64
|
11 years ago |
florian
|
b147693cc5
* comment updated
|
11 years ago |
florian
|
945b318012
+ get rid of unnecessary 64 bit conversions too if one of the operands is 8 or 16 bit
|
11 years ago |
florian
|
d201bcb1cd
* get rid of 64 bit operations on 64 bit targets as well if possible
|
11 years ago |
florian
|
17dcd2fa31
* get rid of unneeded 64 bit multiplications, it makes also for signed operations no difference if a calculation is carried out with 32 or 64 bit, if the result is casted to 32 bin again
|
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 |
svenbarth
|
76f6de5cf1
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
|
11 years ago |
sergei
|
90d66595c2
* typecheck_real_to_currency: generate inline round() node instead of direct call to fpc_round_real, this allows target-specific processing to take place and possibly emit more efficient code.
|
12 years ago |
Jonas Maebe
|
de56f909d5
* synchronized with trunk up to and including r25430
|
12 years ago |
Jonas Maebe
|
b3b404db4b
* handle any char constant -> p(wide)char conversions via cunicodestringtype
|
12 years ago |
Jonas Maebe
|
3c3ad705f1
* changed fpc_(u)char_to_shortstr() from a procedure into a function, like
|
12 years ago |
Jonas Maebe
|
10bb07a665
* brackets around and/or combination
|
12 years ago |
Jonas Maebe
|
fb8fb29574
* record/use the code page of string constants typecasted to an ansistring
|
12 years ago |
florian
|
be2ab84474
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
|
12 years ago |
florian
|
0e41df598e
* merge i8086 branch by Nikolay Nikolov
|
12 years ago |
florian
|
075abd6220
+ support of stackframesize for arm thumb
|
12 years ago |
nickysn
|
889e8650f1
* fixed compiler crash due to infinite recursion when compiling boolean to longint conversion on a 16 or 8-bit CPU
|
12 years ago |
Jonas Maebe
|
0ad9f345dd
* handle explicit typecasts of procdefs to procvardefs always via
|
12 years ago |
paul
|
fe4b5ea82d
compiler: convert unicode constants which are > 127 to AnsiString (except UTF8String) in runtime to prevent conversion to wrong codepage (read issue #0021195)
|
12 years ago |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
12 years ago |
pierre
|
78d31eb3cd
Add missing of pi_needs_got found by sparc compiler compiled with -dCHECK_PIC
|
13 years ago |
florian
|
ca5fabda6d
* cleanup some unused units from uses clauses
|
13 years ago |
florian
|
e18a9cccaa
* fix expectlocs for method pointers
|
13 years ago |
Jonas Maebe
|
c25d9d5e06
* do not search for overloaded operators while parsing constant declarations,
|
13 years ago |
Jonas Maebe
|
3c1b82f9a0
* don't add value transformations for internal type casts from/to currency
|
13 years ago |