florian
3ab069324a
* op_const_reg_reg with OP_SAR fixed
2004-01-22 02:22:47 +00:00
florian
703af0f1f4
* improved register usage
...
+ implemented second_cmp64bit
2004-01-22 01:47:15 +00:00
peter
fa9e45b7cb
* decrrefcount resets temps to nil
2004-01-21 22:13:20 +00:00
peter
ac1332a388
* fixed stackchecking for register calling
2004-01-21 21:01:34 +00:00
marco
308ab35e63
* Copy and pasted some structures from Net- to OpenBSD (3.4+ ELF!)
2004-01-21 20:53:50 +00:00
florian
af3d31eceb
* fixed handling of max. distance of pc relative symbols
2004-01-21 19:01:03 +00:00
florian
3b21b99111
* fixed register allocator problems with concatcopy
2004-01-21 15:41:56 +00:00
florian
75e2de9f2c
+ reintroduce implemented
2004-01-21 14:22:00 +00:00
florian
e680460234
* fixed a_cmp_const_reg_label
...
* fixed volatile register handling which was broken by my last patch
2004-01-21 01:22:35 +00:00
florian
162ff2e6d4
* fixed a_call_reg
...
+ implemented paramgr.get_volative_registers
2004-01-20 23:18:00 +00:00
florian
1779c5dd8c
* fixed symbol type writing for arm-linux
...
* fixed assembler generation for abs
2004-01-20 21:02:54 +00:00
florian
c37035a450
* common addnode code for x86-64 and i386
2004-01-20 12:59:36 +00:00
Jonas Maebe
df428f7a5d
* fixed allocation of parameters passed by reference for powerpc in
...
callee
2004-01-17 15:55:10 +00:00
daniel
143b3f4c05
* Applied Peters patch
2004-01-16 18:08:39 +00:00
daniel
eaa7da9015
+ Cleanup of stabstring generation code. Cleaner, faster, and compiler
...
executable reduced by 50 kb,
2004-01-15 23:16:32 +00:00
daniel
7a6b6f4bd4
* Some minor stuff
...
* Managed to eliminate speed effects of string compression
2004-01-15 15:16:17 +00:00
florian
541955ad91
+ x86 instruction tables for x86-64 extended
2004-01-15 14:01:18 +00:00
florian
412072f71d
* renamed instruction tables
2004-01-15 13:57:58 +00:00
florian
85bed883ce
* another bunch of x86-64 fixes mainly calling convention and
...
assembler reader related
2004-01-14 23:39:05 +00:00
peter
c3b9e56e90
* give penalty in float-float conversion when precision is lost
2004-01-14 21:44:16 +00:00
peter
bb03be5004
* add release_openarrayvalue
2004-01-14 21:43:54 +00:00
peter
2063100f51
* ignore hidden parameters when default parameters are used
2004-01-14 17:53:58 +00:00
peter
60814ccb16
* disable addmmxset
2004-01-14 17:19:04 +00:00
florian
f936718fa1
* x86-64 compilation fixed
2004-01-13 18:08:58 +00:00
peter
47f08937e4
* use localalign info for alignment for locals and temps
...
* sparc fpu flags branching added
* moved powerpc copy_valye_openarray to generic
2004-01-12 22:11:38 +00:00
peter
42c6e9323b
* sparc updates, mostly float related
2004-01-12 16:39:40 +00:00
peter
d28412f40b
* don't generate IMUL reg,1
2004-01-12 16:38:50 +00:00
peter
c34c9af5ce
* moved spilling code from taicpu to rg
2004-01-12 16:37:59 +00:00
peter
32173c41fa
* removed asmmode_direct
2004-01-12 16:36:53 +00:00
peter
b6515b81be
* range check error
2004-01-12 16:35:40 +00:00
peter
d68c75f65a
* R_SUB_FS added to make a difference between double and single
...
floats, required for sparc only
2004-01-12 16:35:05 +00:00
olle
6ab944bfcf
* gen of conditional instr updated according to agppcgas
...
* gen of PPCAsm command fixed
2004-01-12 00:08:03 +00:00
daniel
4a4b8f2a72
* Experiment: Compress strings to save memory
...
Did not save a single byte of mem; clearly the core size is boosted by
temporary memory usage...
2004-01-11 23:56:19 +00:00
florian
fc60443584
* version changed to 1.9.3
2004-01-11 20:59:41 +00:00
daniel
61d29c4e4e
* Register allocation bug fixed
2004-01-11 13:21:35 +00:00
Jonas Maebe
4c7c8b9c3a
* fixed mtfsb0 instruction for assembler reader/writer
...
* fixed initialisation of fpscr register to avoid spurious SIGPFE's
(uses mtfsb0 instruction, so added extra define in options.pas to avoid
requiring to start with a cross compiler)
2004-01-10 00:16:20 +00:00
daniel
cdbb601a4e
* Degree=0 problem fixed
...
* Degree to high problem fixed
2004-01-09 22:02:29 +00:00
daniel
a4086f7dde
* Commented out code removed
2004-01-09 13:37:17 +00:00
daniel
1f52387893
* Export table generation fixed according to instructions from Pierre
2004-01-09 13:36:26 +00:00
Jonas Maebe
e1fc7227d9
* darwin requires the alginment of .lcomm symbols to be specified
...
together with the symbol itself, instead of in a .align directive
2004-01-07 17:40:06 +00:00
peter
b4159755d2
* fixed too long ie number
2004-01-06 21:37:41 +00:00
Jonas Maebe
c5409f2f8a
* fixed alignment constants for Darwin
2004-01-06 21:26:18 +00:00
peter
4b9ba9e064
* fix stabs for locals
2004-01-06 15:46:12 +00:00
florian
5f496817a0
* fixed webbug 2878
2004-01-06 02:17:44 +00:00
marco
55850b063a
* regenerating the makefiles with some netbsd fixes + version upgrades
2004-01-05 23:34:21 +00:00
marco
b487ca1339
* fixed a few makefiles version numbers
2004-01-05 23:29:35 +00:00
florian
822ce0df68
* changed sysutils.exec to ExecuteProcess
2004-01-05 22:37:15 +00:00
marco
c6b2be7eef
* rrregened
2004-01-05 18:01:40 +00:00
marco
16791157a4
* Regened
2004-01-05 17:24:16 +00:00
Jonas Maebe
6d4561ec58
* fixed compilation problems under x86
2004-01-05 08:13:30 +00:00
Jonas Maebe
e55860fdd8
+ Darwin support for routines imported from external libraries (not yet
...
ideal, we should generate stubs in all files where the routines are
used -> these are automatically merged by the linker; now we generate
one global symbol with a jump to a stub in unit where the routine is
declared)
+ (not yet working) Darwin support for imported variables
+ Darwin support for linking
2004-01-04 21:26:31 +00:00
Jonas Maebe
0f4ea52793
* use "as_darwin" assembler for Darwin
...
* Cprefix = '_' on Darwin
* use_function_relative_addresses must be false on Darwin
2004-01-04 21:19:57 +00:00
Jonas Maebe
bee5b615cf
+ as_darwin assembler type (labels start with L)
...
* never generate register->number mappings for Darwin
* always use real register names for Darwin
2004-01-04 21:18:10 +00:00
Jonas Maebe
9e781b8c7b
+ added log message for last commit
2004-01-04 21:17:51 +00:00
Jonas Maebe
744d6d85b2
*** empty log message ***
2004-01-04 21:12:47 +00:00
Jonas Maebe
3413faf00d
* Darwin's assembler assumes that all labels starting with 'L' are local
...
-> rename symbols starting with 'L'
2004-01-04 21:10:04 +00:00
Jonas Maebe
8f33050b86
* darwin only supports .align, no .balign
2004-01-04 21:08:59 +00:00
Jonas Maebe
7f911c2f4a
* Never generate a "main" symbol for PASCALMAIN for Darwin and classic
...
Mac OS, they use a C-main in their system unit
2004-01-04 21:08:09 +00:00
Jonas Maebe
2d40a5008b
+ support exported procedures for linuxppc
...
* refuse to compile systems/t_linux.pas if processor-specific support
for exported procedures is absent
+ generate .type and .size info for all currently defined linux-variants
in aggas.pas
2004-01-03 13:51:05 +00:00
michael
d2594024c0
+ Changed version to 1.9.2
2004-01-03 12:31:44 +00:00
marco
c032cd36e8
* errorhandling fixed
2004-01-03 09:20:45 +00:00
marco
64e776098a
* unix does ansistring exec
2004-01-03 09:12:23 +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
c094978054
+ SetFPUExceptionMask implementation for PPC
2004-01-02 16:50:24 +00:00
Jonas Maebe
c2efd86268
+ integer division-by-zero detection support for ppc
...
+ compilerproc FPC_DIVBYZERO
2004-01-01 17:58:16 +00:00
florian
03efd6e74b
* fixed wrong temp. usage in generic exception handling
2004-01-01 17:23:16 +00:00
Jonas Maebe
e90bd0332a
* default linker name for non-i386 and non-m68k
2004-01-01 15:34:50 +00:00
Jonas Maebe
be0397b1d1
* fixed currency bugs. Int64 currency handling still needs to be
...
rewritten so that it doesn't include conversions to real anymore
though
2003-12-31 22:30:39 +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
8be1033511
* (64 bit int) shl/shr (value > 63) := 0
2003-12-31 18:12:23 +00:00
Jonas Maebe
4aba5c80f1
* fixed C record max alignment
2003-12-31 17:28:19 +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
florian
a3cd612259
* fixed error message, if a resource file can't be written
2003-12-29 19:31:20 +00:00
Jonas Maebe
b46b7ff792
* integrated hack from 1.0.x so we can parse low(int64) as int64 instead
...
of as double (in 1.0.x, it was necessary for low(longint))
2003-12-29 17:19:35 +00:00
Jonas Maebe
92f038ebec
* fixed saving/restoring of volatile fpu registers under sysv
...
+ better provisions for abi differences regarding fpu registers that have
to be saved
2003-12-29 14:17:50 +00:00
Jonas Maebe
980efd582d
+ support for currency typed constants if currency=int64. Warning: does
...
not work properly for extreme values if bestreal <= double
2003-12-29 12:48:39 +00:00
Jonas Maebe
7de6463c43
* hopefully fixed bug tb0454 (merged from nppcadd)
2003-12-29 11:37:52 +00:00
Jonas Maebe
da6a3d28c8
* hopefully fixed tb0454
2003-12-29 11:35:19 +00:00
Jonas Maebe
83323b4955
* fixed tb0350 (support loading address of reference containing the
...
address 0)
2003-12-29 11:13:53 +00:00
Jonas Maebe
8953ed5494
* fixed tnotnode for < 32 bit quantities
2003-12-28 23:49:30 +00:00
florian
2028eb6b96
+ except handling related nodes now include pi_do_call if necessary
2003-12-28 22:51:18 +00:00
florian
d38abc3a3f
+ setting of bit 6 of cr for c var args on ppc implemented
2003-12-28 22:09:12 +00:00
Jonas Maebe
85e84512fb
* fixed procedures declared as "interrupt" for non-x86
2003-12-28 21:57:43 +00:00
florian
218beb5b32
* handling of open array value parameters fixed
2003-12-28 19:22:27 +00:00
Jonas Maebe
da74a9fea6
- removed unused methods from old generic spilling code
2003-12-28 16:20:09 +00:00
Jonas Maebe
6bab64590e
* hopefully fixed varargs (both Pascal- and C-style)
2003-12-28 15:33:06 +00:00
Jonas Maebe
ffa51d27c3
* hopefully fixed interfaces (untested)
2003-12-28 15:14:14 +00:00
peter
ae6be6bc0e
* support type convs for write typed
2003-12-27 22:27:55 +00:00
peter
3677577d9f
* check with fileexists() before opening a file
2003-12-27 22:27:24 +00:00
florian
c72e3a8eea
* updated instruction includes from new instruction table
2003-12-26 20:24:03 +00:00
peter
1c7e6fc380
* sparc updates
...
* use registertype in spill_register
2003-12-26 14:02:30 +00:00
florian
466744d413
* rtl and compiler compile with -Cfsse2
2003-12-26 13:47:41 +00:00
florian
ace2d682b0
* rtl and compiler compile with -Cfsse2
2003-12-26 13:19:16 +00:00
florian
3d8e1ab1fb
+ fpu<->mm register conversion
2003-12-26 00:32:21 +00:00
florian
dd2bb53aa5
+ possible sse2 unit usage for double calculations
...
* some sse2 assembler issues fixed
2003-12-25 12:01:35 +00:00
peter
e380119e8c
* sparc assembler reader updates
2003-12-25 01:25:43 +00:00
florian
06442fa677
+ $fputype directive support
...
+ single data type operations with sse unit
* fixed more x86-64 stuff
2003-12-25 01:07:09 +00:00
peter
6b3c925f64
* don't lowercase enumnames
2003-12-24 20:51:11 +00:00
florian
6d3d97e845
* first fixes to compile the x86-64 system unit
2003-12-24 01:47:22 +00:00