peter
8d9e9b24a6
* convert constant widestring to ansistring before assigning to pchar
...
git-svn-id: trunk@1482 -
2005-10-18 20:49:23 +00:00
florian
7be36096f0
+ proper init rtti for proc. vars
...
git-svn-id: trunk@1479 -
2005-10-18 20:05:56 +00:00
peter
38993ae7e8
* support procvar^, with procvar returning a procvardef in tp/mac modes
...
git-svn-id: trunk@1477 -
2005-10-18 12:33:27 +00:00
peter
b55645790b
* allow also procvar calls with a postfix operation after a calln
...
git-svn-id: trunk@1476 -
2005-10-18 12:32:09 +00:00
peter
8b60dbe4cb
* support constant array of char to array of widechar
...
git-svn-id: trunk@1475 -
2005-10-18 12:31:30 +00:00
peter
0981495c7b
* all types with inittable need a persistant temp
...
git-svn-id: trunk@1472 -
2005-10-18 12:29:04 +00:00
peter
adfd36d189
* allow conststring to array of widechar
...
git-svn-id: trunk@1471 -
2005-10-18 12:27:43 +00:00
peter
7d153beac7
* assignment operator search finds best matching operator
...
git-svn-id: trunk@1469 -
2005-10-18 10:53:11 +00:00
peter
45fbeaad53
* implicitly convert constant string to stringdef if it is indexed
...
git-svn-id: trunk@1468 -
2005-10-18 10:52:43 +00:00
peter
ea6dadb7be
* make widestrings compatible with COM BSTR, the length is now the number
...
of bytes allocated instead of the number of widechars
git-svn-id: trunk@1467 -
2005-10-18 09:45:13 +00:00
Jonas Maebe
867aaef744
* fixed restoring of register contents one instruction too far when removing
...
a previous unused load
git-svn-id: trunk@1465 -
2005-10-18 09:31:54 +00:00
peter
5abb9d68f6
* prevent warning for val with second parameter not being a longint
...
git-svn-id: trunk@1463 -
2005-10-18 08:26:29 +00:00
peter
daa002f26b
* only check forwards for the original object type declaration
...
git-svn-id: trunk@1459 -
2005-10-18 07:22:55 +00:00
peter
539b7dc220
* setting the compile mode should set the preprocessor symbol directly
...
git-svn-id: trunk@1457 -
2005-10-18 06:57:39 +00:00
peter
f622915690
* fix infinite loop in createinlineparas
...
git-svn-id: trunk@1456 -
2005-10-18 05:51:13 +00:00
peter
4c73e86058
* check for allowed floatdef operations
...
git-svn-id: trunk@1455 -
2005-10-18 05:45:50 +00:00
tom_at_work
4db863d076
* first shared library link path fixes
...
* PowerPC64/Linux signal handler now differs between different FP exceptions
git-svn-id: trunk@1452 -
2005-10-17 21:30:21 +00:00
florian
9a1c731bfb
+ basic dispinterface parsing stuff
...
git-svn-id: trunk@1445 -
2005-10-17 20:28:50 +00:00
peter
59a26e4f68
* fixed interface name mapping
...
git-svn-id: trunk@1443 -
2005-10-17 16:02:44 +00:00
peter
6e60c8a92b
* move stab number reset to dbgstabs
...
git-svn-id: trunk@1442 -
2005-10-17 15:02:15 +00:00
peter
d5af8ed9a0
* fix range check error
...
git-svn-id: trunk@1439 -
2005-10-17 08:03:08 +00:00
florian
8af13ed6ae
* fixed result type conversion for sqrt/sqr
...
git-svn-id: trunk@1425 -
2005-10-16 16:39:00 +00:00
florian
0308048768
* fixed compilation
...
git-svn-id: trunk@1418 -
2005-10-16 14:12:30 +00:00
florian
8b01dce70a
* cmov ref,reg disabled because ref might be never nil
...
git-svn-id: trunk@1407 -
2005-10-16 12:25:58 +00:00
Jonas Maebe
758337d115
* fixed passing currency variables to arrayconstructors on platforms where
...
currency=int64
git-svn-id: trunk@1400 -
2005-10-16 06:04:58 +00:00
Jonas Maebe
810ec85e34
- disable inlining for procedures with a formal const parameter, fixes
...
webtbs/tw4427
git-svn-id: trunk@1390 -
2005-10-15 20:48:35 +00:00
florian
71b90d4d00
+ slice implemented
...
git-svn-id: trunk@1384 -
2005-10-15 16:48:27 +00:00
Jonas Maebe
2dbdc474fd
* use register variables when release-building for ppc (more or less doubles
...
performance for most programs)
git-svn-id: trunk@1383 -
2005-10-15 16:36:52 +00:00
Jonas Maebe
00b612502e
* fixed web bug #4228 (support loading int64 paras passed on the stack into
...
local regvars)
git-svn-id: trunk@1380 -
2005-10-15 16:03:00 +00:00
Jonas Maebe
b458554f5b
+ some optimizations for comparisons with zero whereby the result has to
...
go to a register
git-svn-id: trunk@1379 -
2005-10-15 11:09:44 +00:00
Jonas Maebe
4558cd705e
+ optimize some slwi/rlwinm combos
...
git-svn-id: trunk@1378 -
2005-10-14 21:03:48 +00:00
Jonas Maebe
9cf0865d0e
* remove a number of superfluous register moves
...
git-svn-id: trunk@1377 -
2005-10-14 20:34:53 +00:00
peter
d1d2b0e1a1
* function name doesn't call the function in macpas
...
git-svn-id: trunk@1376 -
2005-10-14 07:25:22 +00:00
tom_at_work
0ba960e1bd
* added workarounds for some load/store instructions requiring 4 byte aligned addresses
...
* some cleanup and optimization of 64 bit address loading in the code generator
* small changes to the IDE to make it compile
* stat type update for packages/cdrom compatibility
git-svn-id: trunk@1375 -
2005-10-14 00:00:16 +00:00
marco
bf92c461d1
* removed dos usage from fpc binary. (mostly fsearch -> filesearch).
...
This because of reports with problems with path env variables >255
git-svn-id: trunk@1367 -
2005-10-13 18:36:01 +00:00
peter
5a95586f38
* more fixes for procdefs
...
git-svn-id: trunk@1366 -
2005-10-13 12:42:01 +00:00
Jonas Maebe
e14d8e6611
* don't replace cmplwi's with flag-setting variants of integer operations,
...
as the latter perform a signed comparison with 0
git-svn-id: trunk@1365 -
2005-10-13 07:49:02 +00:00
Jonas Maebe
cd3f064a33
+ enabled postpeepholeopts phase
...
+ optimize "integer op" followed by comparison of target register with zero
to a variant of that integer op which sets the flags (ppc)
+ change rlwinm. instructions which do nothing but an "and" operation into
andi./andis., since the rlwinm. is cracked on the G5 while andi./andis.
isn't
git-svn-id: trunk@1361 -
2005-10-12 19:47:21 +00:00
Jonas Maebe
339f76182b
+ missing rlwnm. and not. instructions
...
git-svn-id: trunk@1360 -
2005-10-12 19:44:34 +00:00
tom_at_work
99120a3f2b
* fixed -Or cycle for PowerPC64 by adding the missing additional newra methods
...
git-svn-id: trunk@1359 -
2005-10-12 13:16:02 +00:00
peter
51b8a4a132
* move stabs generation to a single procedure call from pmodules
...
git-svn-id: trunk@1358 -
2005-10-12 10:35:46 +00:00
peter
a01774c73d
* writesymbol for relocations in stabs
...
git-svn-id: trunk@1357 -
2005-10-12 05:57:30 +00:00
peter
8b1f3d2470
* no range check for delphi mode with in operator
...
git-svn-id: trunk@1354 -
2005-10-11 06:46:56 +00:00
tom_at_work
bfb2c916dc
* fixed problem with too large offsets in conditional jumps (see also rev 1161 for the PowerPC code)
...
* updated sysnr.inc for PowerPC64 from 2.6.11 kernel sources
* fixed SigactionRec sa_flags field sizes, which improves signal handling for PowerPC64 platform
git-svn-id: trunk@1352 -
2005-10-10 23:45:57 +00:00
Jonas Maebe
42e49ccd90
+ srwi followed by slwi optimized
...
+ srwi followed by certain rlwinm's optimized
git-svn-id: trunk@1351 -
2005-10-10 20:43:23 +00:00
peter
c1b002c842
* fix writing of typed const ansistring, the terminating zero was missing
...
git-svn-id: trunk@1349 -
2005-10-10 12:06:09 +00:00
tom_at_work
9e7d550455
* fixed last commit (1337) which broke some files in the repository
...
git-svn-id: trunk@1338 -
2005-10-08 17:23:44 +00:00
tom_at_work
f7f0f9c426
* makefile adaption to be able to cycle compiler and RTL on PowerPC64 target
...
* some fixes for PowerPC64 target in the code generator and the RTL
* stabs generation for PowerPC64 is okay now (untested)
git-svn-id: trunk@1337 -
2005-10-08 15:48:39 +00:00
Jonas Maebe
8b82f90b27
* fixed overflows in counters used for operands in case opcode without
...
operands
git-svn-id: trunk@1323 -
2005-10-08 12:02:39 +00:00
Jonas Maebe
cd93450fd6
* fixed a few bugs in yesterday's optimization
...
git-svn-id: trunk@1322 -
2005-10-08 11:37:18 +00:00