Commit Graph

7848 Commits

Author SHA1 Message Date
tom_at_work
9531293b89 * jumptable support
* fixed cg for loading from addresses with symbol and large offset, but no base register

git-svn-id: trunk@1547 -
2005-10-20 17:33:33 +00:00
tom_at_work
202236c6e0 * fpcmake.ini update which fixes glibc search path problems on PowerPC64
* makefile update

git-svn-id: trunk@1546 -
2005-10-20 16:56:40 +00:00
peter
19eaf660c2 * more flexibel support for typecasting to different sizes
fixes tw4450
      

git-svn-id: trunk@1544 -
2005-10-20 11:13:49 +00:00
peter
a0b9dd48c9 * remove check for expectloc<>location.loc, it doesn't work anymore for
temprefn,blockn causing too much warnings in extdebug

git-svn-id: trunk@1542 -
2005-10-20 06:51:40 +00:00
tom_at_work
5fcb64f350 * parameter passing is now more ABI compliant
* stack frame size optimization
* optimized (64 bit) constant loading
* some code generator code cleanup

git-svn-id: trunk@1539 -
2005-10-19 23:25:21 +00:00
florian
e1b34a9e7b * cleaning up sets for exports behaviour
+ allow exports from units

git-svn-id: trunk@1535 -
2005-10-19 19:06:45 +00:00
florian
cf3c9bdcad * a_jmp_always fixed, it doesn't generate a new symbol anymore
git-svn-id: trunk@1534 -
2005-10-19 14:38:30 +00:00
florian
d43f2fb2d4 * OP_DIV shouldn't be used directly, not all cpu CGs support it
git-svn-id: trunk@1533 -
2005-10-19 14:31:59 +00:00
peter
ed1df49879 * fix stabs writing for win32
git-svn-id: trunk@1532 -
2005-10-19 13:05:20 +00:00
peter
f9db030350 * fix overload choosing if both normal proc and proc of object are available
git-svn-id: trunk@1496 -
2005-10-19 07:56:08 +00:00
peter
0d299d5d2b * errore.msg is in msg/ dir
git-svn-id: trunk@1495 -
2005-10-19 07:46:50 +00:00
peter
260861e184 * calculate distance between related objectdefs
git-svn-id: trunk@1492 -
2005-10-19 06:38:29 +00:00
peter
09a0dff4da * prefer object->object over object->intf
git-svn-id: trunk@1491 -
2005-10-19 06:36:10 +00:00
peter
252d90b691 * $CodeAlign directive added for fine tuning off alignment during code generation
git-svn-id: trunk@1489 -
2005-10-19 06:05:48 +00:00
peter
e23519c45b * support A1,A2,A4,A8 directives
git-svn-id: trunk@1488 -
2005-10-19 05:54:27 +00:00
peter
632bdcd149 * $W switch sets the localswitch cs_generate_stackframes that can be
used in the future

git-svn-id: trunk@1487 -
2005-10-19 05:50:26 +00:00
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