peter
4f7d80ce91
* ord-ord always gives a signed result
2005-01-16 11:13:40 +00:00
peter
8f8e6f6809
* widestring patches from Alexey Barkovoy
2005-01-10 22:10:26 +00:00
peter
a8684d35ad
unsigned*unsigned will also have unsigned result.
2005-01-02 17:31:07 +00:00
peter
d45dea5db8
* fix methodpointer compare, compare only the proc field
2004-12-06 15:57:22 +00:00
peter
2e161c5e9e
* nf_internal flag for internal inserted typeconvs. This will
...
supress the generation of warning/hints
2004-11-02 12:55:16 +00:00
peter
f80f3fc0fa
* shortstr compare with empty string fixed
...
* removed special i386 code
2004-11-01 12:43:28 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
peter
38bebdb044
* only make both operands the same for xor,and,or when both are
...
integer types
2004-09-13 20:32:53 +00:00
Jonas Maebe
e3eb4f8359
* fixed "if @procvar_of_object <> nil" in Delphi/TP mode for for non-x86
2004-08-17 19:04:36 +00:00
florian
8cb7072e5f
* fixed several ie9999s when illegal operators were used
2004-08-08 15:22:29 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
71280bedad
* fix cardinal+constint
2004-05-28 21:13:44 +00:00
florian
d6b865167c
+ added set of widechar support (limited to 256 chars, is delphi compatible)
2004-05-23 14:14:18 +00:00
peter
324144db92
* only convert widechar to widestring when both operands are
...
constant
* support widechar-widechar operations in orddef part
2004-05-23 14:08:39 +00:00
florian
35f9b5a3ee
* fixed <ordinal>+<pointer>
2004-05-21 13:08:14 +00:00
florian
b5bf8cefad
+ <pointer> - <pointer> result is divided by the pointer element size now
...
this is delphi compatible as well as resulting in the expected result for p1+(p2-p1)
2004-05-20 21:54:33 +00:00
peter
c25228226d
* don't change sign for unsigned shl/shr operations
...
* cleanup for u32bit
2004-05-19 23:29:25 +00:00
daniel
b721e5872c
* Prepare compiler infrastructure for multiple ansistring types
2004-04-29 19:56:36 +00:00
florian
e4f4b8acd6
* fixed web bug #3048 : comparision of dyn. arrays
2004-04-18 07:52:43 +00:00
peter
e661df03ee
* fixes to previous constant integer commit
2004-03-29 14:44:10 +00:00
peter
e46cdcea48
* constants ordinals now always have a type assigned
...
* integer constants have the smallest type, unsigned prefered over
signed
2004-03-23 22:34:49 +00:00
peter
6b96b70118
* fixed operator overload allowing for pointer-string
...
* replaced some type_e_mismatch with more informational messages
2004-03-18 16:19:03 +00:00
daniel
3ea87ad054
* Avoid memory allocation and string copying
2004-02-21 22:08:46 +00:00
peter
c844c5a505
* procvar cleanup
2004-02-20 21:55:59 +00:00
florian
465aa5851b
* several fixes to compile x86-64 system
2004-02-05 01:24:08 +00:00
peter
ecfbbeffc3
* renamed xNNbittype to xNNinttype
...
* renamed registers32 to registersint
* replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
florian
e35b683e4d
+ added prefetch(const mem) support
2004-02-02 20:41:59 +00:00
florian
c37035a450
* common addnode code for x86-64 and i386
2004-01-20 12:59:36 +00:00
peter
60814ccb16
* disable addmmxset
2004-01-14 17:19:04 +00:00
Jonas Maebe
2af569745c
* if currency = int64, FPC_CURRENCY_IS_INT64 is defined
...
+ round and trunc for currency and comp if FPC_CURRENCY_IS_INT64 is
defined
* if currency = orddef, prefer currency -> int64/qword conversion over
currency -> float conversions
* optimized currency/currency if currency = orddef
* TODO: write FPC_DIV_CURRENCY and FPC_MUL_CURRENCY routines to prevent
precision loss if currency=int64 and bestreal = double
2004-01-02 17:19:04 +00:00
Jonas Maebe
a75ef67bfd
* properly fixed assigned() mess (by handling it separately in ncginl)
...
-> all assigned()-related tests in the test suite work again
2003-12-31 20:47:02 +00:00
Jonas Maebe
3ff00d31b3
* fixed previous commit for tp and delphi modes
2003-12-30 16:30:50 +00:00
Jonas Maebe
f587f35457
* fixed methodpointer comparing in a generic way (typecast both left and
...
right explicitly to voidpointer), instead of relying on strange
behvaiour or n386addnode.pass_2 (if size of def = 8, only use the first
4 bytes instead of internalerror-ing or so)
2003-12-29 22:33:08 +00:00
daniel
448e336682
* Some work to allow mmx instructions to be used for 32 byte sets
2003-12-21 11:28:41 +00:00
Jonas Maebe
e9eff10134
+ support for evaluating qword constant expressions (both arguments have
...
to be a qword, constants have to be explicitly typecasted to qword)
2003-12-09 21:17:04 +00:00
peter
4245cedfed
* compare longint-cardinal also makes types wider
2003-10-28 15:35:18 +00:00
peter
a28d911c98
* IncompatibleTypes() added that will include unit names when
...
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
95f132db3d
* set_varstate cleanup
2003-10-08 19:19:45 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
florian
eb9a587759
+ support of NaN and Inf in the compiler as values of real constants
2003-09-06 16:47:24 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
peter
28ebc69c8f
* removed changesettype because that will change the definition
...
of the setdef forever and can result in a different between
original interface and current implementation definition
2003-06-05 20:05:55 +00:00
peter
5197c95be6
* widen cardinal+signed operations
2003-06-03 21:04:43 +00:00
peter
75394a788e
* disable string node optimizations for the moment
2003-05-26 21:15:18 +00:00
peter
0799b0663d
* generic fpc_shorstr_concat
...
+ fpc_shortstr_append_shortstr optimization
2003-05-26 19:38:28 +00:00
florian
1f099e81a7
* if something doesn't work with callparatemp, the define callparatemp
...
should be used because other processors with reigster calling conventions
depend on this as well
2003-05-24 21:12:57 +00:00
Jonas Maebe
7804ac8ec2
- disable addoptnodes for powerpc, because they can generate calls in
...
pass_2, so -dcallparatemp can't detect them as nested calls
2003-05-23 22:57:38 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
a23e3f0a2f
* add string returns in LOC_REFERENCE
2003-04-26 09:12:55 +00:00