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
florian
41da381f1a
* fixed a lot of PowerPC related stuff
2003-04-24 22:29:57 +00:00
peter
c21ca3dfa0
+ added currency support based on int64
...
+ is_64bit for use in cg units instead of is_64bitint
* removed cgmessage from n386add, replace with internalerrors
2003-04-23 20:16:03 +00:00
peter
41dfcfba39
* expectloc fixes
2003-04-23 10:10:07 +00:00
peter
47489f2376
* firstpass uses expectloc
...
* checks if there are differences between the expectloc and
location.loc from secondpass in EXTDEBUG
2003-04-22 23:50:22 +00:00
carl
ff5cc80fcd
* bugfix for generic calls to FPU emulation code
2003-02-15 22:20:14 +00:00
carl
ce2b1f45ef
* load_frame_pointer is now generic
...
* change fpu emulation routine names
2003-02-12 22:10:07 +00:00
peter
a85f45752c
* support pchar-char operations converting to string first
...
* support chararray-nil
2003-01-02 22:19:54 +00:00
peter
6b5793284a
* stop processing assignment node when the binaryoverload generates
...
a codegenerror
2002-12-11 22:41:03 +00:00
peter
cab4c8879f
* only compile cs_fp_emulation support when cpufpuemu is defined
...
* define cpufpuemu for m68k only
2002-12-06 16:56:57 +00:00
carl
edb20100ac
+ Add loading of softfpu in emulation mode
...
+ Correct routine call for softfpu
* Extended type must also be defined even with softfpu
2002-11-30 21:32:24 +00:00
peter
acb449fb1f
* more currency fixes, taddcurr runs now successfull
2002-11-27 13:11:38 +00:00
peter
184ddcb6ed
* when both flaottypes are the same then handle the addnode using
...
that floattype instead of bestrealtype
2002-11-27 11:28:40 +00:00
carl
6a52e7a9e5
- removed the invalid if <> checking (Delphi is strange on this)
...
+ implemented abstract warning on instance creation of class with
abstract methods.
* some error message cleanups
2002-11-25 18:43:31 +00:00
peter
f3fc72095f
* splitted defbase in defutil,symutil,defcmp
...
* merged isconvertable and is_equal into compare_defs(_ext)
* made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
carl
60d17dbc01
* some small speed optimizations
...
+ added several new warnings/hints
2002-11-23 22:50:04 +00:00
peter
5b2dd3bf97
* fix tbs0417
2002-11-16 14:20:22 +00:00
peter
bfd72ad5d5
* merged changes from 1.0.7 up to 04-11
...
- -V option for generating bug report tracing
- more tracing for option parsing
- errors for cdecl and high()
- win32 import stabs
- win32 records<=8 are returned in eax:edx (turned off by default)
- heaptrc update
- more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
Jonas Maebe
9577abf606
* fixed web bug #2136
2002-10-08 16:50:43 +00:00
peter
443f982775
* support dynamicarray<>nil
2002-10-05 00:47:03 +00:00
Jonas Maebe
e3700b1d79
* fixed web bug #2139 : checking for division by zero fixed
2002-10-04 21:19:28 +00:00