florian
46ecdc8f94
* allow pred/succ on non continous enumerations in delphi mode
...
git-svn-id: trunk@1878 -
2005-12-04 18:35:19 +00:00
florian
0907a1ef80
* fixed compilerwidestring concatenation
...
git-svn-id: trunk@1876 -
2005-12-04 18:29:07 +00:00
tom_at_work
3502898ba3
* makefile updates after last changes for successful build on ppc64/linux
...
git-svn-id: trunk@1874 -
2005-12-04 13:07:37 +00:00
Jonas Maebe
b507ddae51
* fixed crash when an optimized sequence extends till the start of an
...
assembler block
git-svn-id: trunk@1869 -
2005-12-02 11:09:13 +00:00
daniel
c0b4678873
* Rename unit crc to fpccrc to avoid name conflict in packages
...
git-svn-id: trunk@1856 -
2005-12-01 16:45:44 +00:00
florian
1e4e857719
* apptype causes only a note on system not supporting apptype
...
git-svn-id: trunk@1827 -
2005-11-26 21:54:15 +00:00
florian
d7a5ca107b
* fixed m68k compilation while sitting bored in the train
...
git-svn-id: trunk@1823 -
2005-11-25 23:08:46 +00:00
Károly Balogh
1432660c80
Fixed Unix2Amiga path conversions for external asm script
...
git-svn-id: trunk@1816 -
2005-11-24 11:41:59 +00:00
florian
aa22e57a7e
* fixed issue with static fields
...
git-svn-id: trunk@1803 -
2005-11-22 22:08:11 +00:00
florian
350c886460
+ support exit();
...
git-svn-id: trunk@1802 -
2005-11-22 21:27:56 +00:00
marco
f7f14e4dee
* CROSSOPT support
...
git-svn-id: trunk@1798 -
2005-11-20 22:19:50 +00:00
marco
d2e7a4e587
* cross-darwin support
...
git-svn-id: trunk@1796 -
2005-11-20 22:13:23 +00:00
florian
c43e2df522
* copying of classes fixed, closes 3930
...
git-svn-id: trunk@1791 -
2005-11-20 09:11:23 +00:00
tom_at_work
651f34e27c
* ppc64: with -Or the compiler now also generates calls to helper functions in the function prolog/epilog instead of multiple stores/loads
...
* ppc64: moved function prolog/epilog helper code into startup code
* ppc64: added FPU configuration code in math unit (fixes tw3161)
git-svn-id: trunk@1786 -
2005-11-20 01:20:55 +00:00
Jonas Maebe
cc44a19af5
* use stmw/lmw when saving/restoring a lot of registers, to reduce generated
...
code size and thus instruction cache pressure.
git-svn-id: trunk@1785 -
2005-11-19 17:31:35 +00:00
tom_at_work
93bb997d8f
* ppc64/linux: enhanced varargs support (passes tprintf test now)
...
* ppc64/linux: some small tweak for small memory locations copy code
git-svn-id: trunk@1778 -
2005-11-17 21:35:01 +00:00
Tomas Hajny
9032cdafbe
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1772 -
2005-11-16 19:00:21 +00:00
Tomas Hajny
50f03555bd
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1771 -
2005-11-16 18:59:57 +00:00
Tomas Hajny
55c67978a3
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1770 -
2005-11-16 18:59:33 +00:00
Tomas Hajny
b94665c39f
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1769 -
2005-11-16 18:47:52 +00:00
Tomas Hajny
614b6a3816
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1768 -
2005-11-16 18:47:29 +00:00
Tomas Hajny
20ca9f5fac
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1767 -
2005-11-16 18:46:15 +00:00
Tomas Hajny
f3c9fb62fa
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1766 -
2005-11-16 18:44:13 +00:00
Tomas Hajny
c513dbcd03
* fix of buggy output for -? with path containing underscore
...
git-svn-id: trunk@1765 -
2005-11-16 18:43:48 +00:00
florian
f9b05b2cdf
* fixed rtl package building
...
git-svn-id: trunk@1763 -
2005-11-15 22:39:32 +00:00
florian
94357cdb50
* new version number
...
git-svn-id: trunk@1762 -
2005-11-15 21:38:40 +00:00
florian
ef2966e2a6
+ more make_simple_ref added
...
git-svn-id: trunk@1761 -
2005-11-15 20:03:30 +00:00
florian
f8e6df62b6
+ added missing make_simple_ref
...
git-svn-id: trunk@1760 -
2005-11-15 19:43:37 +00:00
florian
99be25604b
* fixed address calculation when generating pic
...
git-svn-id: trunk@1759 -
2005-11-15 19:25:42 +00:00
florian
cd96d43ac3
* reverted lazy binding patch: lazy binding requires anyways PIC
...
git-svn-id: trunk@1758 -
2005-11-15 19:21:42 +00:00
peter
9a8dc6bfb2
* store hidden symbols correctly in ppu
...
git-svn-id: trunk@1751 -
2005-11-15 08:35:01 +00:00
florian
72d7597edc
+ implementation of lazy binding for linux
...
git-svn-id: trunk@1750 -
2005-11-14 22:28:12 +00:00
florian
2585309c04
* of course, we can't omit pic generation for local symbols
...
git-svn-id: trunk@1743 -
2005-11-13 21:36:38 +00:00
florian
5c92126933
+ $PIC module switch directive
...
git-svn-id: trunk@1740 -
2005-11-13 21:21:15 +00:00
florian
ff6af1804b
* fixed loading of pic'ed symbols with offset
...
* symbols declared AB_COMMON or AB_LOCAL need no pic
git-svn-id: trunk@1739 -
2005-11-13 21:05:42 +00:00
florian
ca921976f6
* when creating pic code, every procedure must be declared being global
...
git-svn-id: trunk@1733 -
2005-11-13 18:08:49 +00:00
florian
dac22b4703
* fixed stupid typo in x86_64 pic code generation
...
git-svn-id: trunk@1731 -
2005-11-13 17:00:34 +00:00
florian
fdc1419832
* fixed interface wrappers in pic
...
git-svn-id: trunk@1728 -
2005-11-13 14:53:04 +00:00
florian
a27b87043f
* reset some variables which could be in an illegal state after an error, this is mainly important for the ide
...
git-svn-id: trunk@1726 -
2005-11-12 11:14:50 +00:00
olle
5bf628a72e
bugfix, inherited reset was not called
...
git-svn-id: trunk@1724 -
2005-11-12 00:37:45 +00:00
tom_at_work
367df58016
* stack related things (sizes, calculations, etc.) are now 64 bit on 64 bit platforms
...
* default stack size is now also 32k for Windows (allows the use of stack checking when using threads)
git-svn-id: trunk@1718 -
2005-11-10 17:06:25 +00:00
tom_at_work
54dee95053
* removed "+0" offset generation in assembler writer
...
git-svn-id: trunk@1717 -
2005-11-10 15:16:20 +00:00
tom_at_work
ff47ffb255
* quick fix for stack checking on Linux/PPC64
...
git-svn-id: trunk@1716 -
2005-11-10 15:15:26 +00:00
tom_at_work
8ca0fe382e
* removed "+0" offset generation in assembler writer
...
git-svn-id: trunk@1714 -
2005-11-10 15:11:06 +00:00
michael
0362fa505d
+ -o now sets output path only if a path is explicitly specified
...
git-svn-id: trunk@1698 -
2005-11-08 20:25:04 +00:00
peter
e00ef44479
* fix boolean range parsing false..true
...
* allow set of boolean
git-svn-id: trunk@1690 -
2005-11-08 09:11:39 +00:00
Tomas Hajny
198e0db5a1
* mistyping fixed - trac_e_able
...
git-svn-id: trunk@1684 -
2005-11-06 23:12:36 +00:00
florian
a6b00feb1e
+ warn directive is different fom warnings and warning
...
git-svn-id: trunk@1682 -
2005-11-06 20:09:28 +00:00
michael
9b59f0675f
+ Fixed -o option
...
git-svn-id: trunk@1669 -
2005-11-05 23:26:23 +00:00
tom_at_work
d088695868
* ppc64: moved division by constant optimization from nppcmat to cgcpu unit
...
* ppc64: cg now also replaces multiplications/divisions by negative powers of two by shifts (and a negate)
* ppc64: replacement of divison by constants now properly check the -O2 compiler switch
git-svn-id: trunk@1662 -
2005-11-05 17:59:14 +00:00
florian
3f2f8609e3
+ check vmt when loading one, fixes tw2318b
...
git-svn-id: trunk@1660 -
2005-11-05 16:29:13 +00:00
florian
12a1449884
* ldf*/stf* can handle only offsets with max. +/- 1020, so generate never a pc relative symbol
...
git-svn-id: trunk@1649 -
2005-11-04 23:56:06 +00:00
tom_at_work
e4a61f4af1
* a_op_const_reg_reg optimizations
...
* added some more 64 bit PPC opcodes
* removed last mwpascal references
* added replacement of division/modulo by constant by multiplications and shifts for 64 bit
* general cleanup
git-svn-id: trunk@1648 -
2005-11-04 22:49:05 +00:00
florian
4bd32a686d
* regenerated msg include files
...
git-svn-id: trunk@1647 -
2005-11-04 21:35:39 +00:00
florian
18622259ac
* fixed -Nu option on help screen
...
git-svn-id: trunk@1646 -
2005-11-04 21:35:07 +00:00
tom_at_work
9228588260
- added handling of OS_NO parameters in a_param_ref
...
git-svn-id: trunk@1619 -
2005-11-01 21:11:50 +00:00
peter
e88ff7ae84
* fixed writing of old style tp-objects
...
git-svn-id: trunk@1613 -
2005-10-31 12:27:23 +00:00
tom_at_work
2198a6a44a
* assembly round and trunc routines for ppc64
...
git-svn-id: trunk@1601 -
2005-10-26 21:43:54 +00:00
tom_at_work
c5f89d7efd
* release old stack pointer register on ppc64 after method prolog
...
* threading fixes for ppc64
* fixed a_param_ref to respect the size parameter on ppc64
* better stack size calculation for ppc64
git-svn-id: trunk@1599 -
2005-10-26 19:50:17 +00:00
tom_at_work
10d39167c6
* fixed code generation for calling threadvar relocation function
...
git-svn-id: trunk@1597 -
2005-10-26 19:42:12 +00:00
tom_at_work
3645a69686
* added mftbu (move from timebase upper) opcode
...
git-svn-id: trunk@1596 -
2005-10-25 20:45:05 +00:00
tom_at_work
d7cedd18eb
* made fpc recognize the powerpc64 platform and the associated compiler
...
git-svn-id: trunk@1595 -
2005-10-25 20:20:12 +00:00
tom_at_work
5520442fc4
* call by register now also takes care of the TOC and environment pointer
...
* first "optimize for size"-optimization
git-svn-id: trunk@1593 -
2005-10-25 20:12:21 +00:00
florian
1ef533ffa9
* rtti parameter for dyn. array to variant conversion fixed
...
git-svn-id: trunk@1590 -
2005-10-23 19:41:16 +00:00
Jonas Maebe
41d2ba68fe
* use an absolute output path for the linker when creating shared libraries,
...
so they can be used regardless where the executable is located
git-svn-id: trunk@1588 -
2005-10-23 18:19:03 +00:00
florian
5907f99b6a
* fixed previous commit
...
git-svn-id: trunk@1580 -
2005-10-23 16:59:59 +00:00
florian
a21b79d316
+ plt for export jmps
...
git-svn-id: trunk@1579 -
2005-10-23 16:57:47 +00:00
florian
bc7fab1aeb
+ plt support for x86_64
...
git-svn-id: trunk@1578 -
2005-10-23 14:47:09 +00:00
Jonas Maebe
89094457c5
* pass varargs float parameters only in integer registers instead of only
...
in fpu registers for aix abi. Proper fix is to pass them in both, but
at least gcc under Mac OS X only seems to use the contents in the integer
registers currently.
git-svn-id: trunk@1576 -
2005-10-23 14:23:16 +00:00
florian
1b97e2cffd
+ added missing make_simple_ref
...
git-svn-id: trunk@1572 -
2005-10-23 13:28:43 +00:00
florian
11e087e212
+ fixed some alignment settings
...
git-svn-id: trunk@1563 -
2005-10-22 15:40:36 +00:00
florian
a068b7a059
* updated internal message files
...
git-svn-id: trunk@1562 -
2005-10-22 15:17:56 +00:00
florian
5387ffc536
+ alignment setting
...
git-svn-id: trunk@1561 -
2005-10-22 15:17:33 +00:00
florian
e7b9c58e2c
* update errord.msg from Karl-Michael Schindler
...
git-svn-id: trunk@1560 -
2005-10-22 15:12:15 +00:00
florian
a3ed7cbd12
+ check validity of -Oa parameter
...
git-svn-id: trunk@1559 -
2005-10-22 15:09:39 +00:00
peter
f1af7cfe8f
* generate implicit 0+<x> for +<x> expressions
...
git-svn-id: trunk@1556 -
2005-10-21 07:46:14 +00:00
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
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
florian
f916ea20b3
* patch from yury to warn about wrong warning of unsupported apptype
...
git-svn-id: trunk@1321 -
2005-10-08 08:17:35 +00:00
Jonas Maebe
ab3bc45fa4
* cpu-specific overrides of optimizer methods now get called
...
+ first simple rlwinm optimization for ppc
git-svn-id: trunk@1320 -
2005-10-07 21:44:00 +00:00
florian
1066eb1cb3
* on cpus requiring proper alignment, shortstrings are to two byte boundaries aligned
...
git-svn-id: trunk@1319 -
2005-10-07 19:17:09 +00:00
Jonas Maebe
8471e10137
* fixed tw4266
...
git-svn-id: trunk@1317 -
2005-10-07 16:48:51 +00:00
yury
80fbc143ab
* removed MULS->MULD substitution for wince, because MULS was added to system unit.
...
git-svn-id: trunk@1313 -
2005-10-07 13:58:37 +00:00
peter
affb69dd7f
* fixed const and reg parameter passing with alignment of 2 (go32v2/os2)
...
git-svn-id: trunk@1307 -
2005-10-06 07:29:41 +00:00
tom_at_work
b2e1cf2610
* powerpc64 port now (manually) cycles, most test programs in tests/test are fine too
...
* fixed bug in ncal.pas which in some circumstances treated the hidden length parameter for open arrays as 32 bit integer
git-svn-id: trunk@1303 -
2005-10-05 21:55:25 +00:00
Jonas Maebe
c3a5f88a7b
* fixed webtbs/tw4388: properly process regalloc info coming right after
...
a tai_marker of type asmblockend, and fixed removal of too many
tai_regallocs in some cases (daopt386.pas)
* some preventive fixes to make sure the optimizer doesn't start optimizing
inside inline assembler blocks (csopt386.pas)
git-svn-id: trunk@1284 -
2005-10-04 13:30:13 +00:00
peter
2a6623a97f
* stringconst+pchar returns a string
...
git-svn-id: trunk@1283 -
2005-10-04 11:45:26 +00:00
peter
24a2153187
* make sure the stabs for procvardef.rettype is written
...
git-svn-id: trunk@1282 -
2005-10-04 11:41:02 +00:00
peter
a415d5511e
* obsolete unit
...
git-svn-id: trunk@1281 -
2005-10-04 06:28:20 +00:00
tom_at_work
28381b1287
* new assembler symbol type AT_LABEL needed for PowerPc64 target
...
+ added automatic definition of FPC_REQUIRES_PROPER_ALIGNMENT define for PowerPC64 target
git-svn-id: trunk@1278 -
2005-10-03 22:13:45 +00:00
florian
c1f1424640
* pchar +/- <array of char> is allowed as well
...
git-svn-id: trunk@1277 -
2005-10-03 21:15:18 +00:00
florian
7ac4a7c78d
* first ie of tb0468 fixed
...
git-svn-id: trunk@1275 -
2005-10-03 20:41:25 +00:00
florian
77cc54351c
* procedures containing nested procedures accessing their data can't be inlined, fixes ie in tcalfun8.pp
...
git-svn-id: trunk@1274 -
2005-10-03 20:25:28 +00:00
florian
ab88e4b882
* if no dyn. linker is found on linux, assume glibc21
...
git-svn-id: trunk@1269 -
2005-10-03 17:10:39 +00:00
florian
19e97e4da2
+ use sse for sqrt if possible
...
* same optimization for sqrt as for sqr
git-svn-id: trunk@1266 -
2005-10-03 12:47:05 +00:00
florian
6371333361
+ sqr uses sse on x86 if possible
...
* the result type of sqr is equal to the argument in case of usual floats
git-svn-id: trunk@1265 -
2005-10-03 12:31:31 +00:00
florian
d9c071da6d
* fixed double comparison on wince
...
git-svn-id: trunk@1262 -
2005-10-03 07:43:36 +00:00
Tomas Hajny
022e3ceef8
* check added to avoid potential SIGSEGV
...
git-svn-id: trunk@1261 -
2005-10-02 22:18:45 +00:00
peter
89297d2c39
* move all stabs ($ifdef gdb) code to dbgstabs
...
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
edf553a223
* string constants are now array of char until
...
they are converted to a specific string type
git-svn-id: trunk@1254 -
2005-10-02 11:08:58 +00:00
peter
cba3aad3ba
* fix getdatalabel labeltype
...
git-svn-id: trunk@1251 -
2005-10-02 09:29:28 +00:00
peter
e5ca17b598
* fix compilation for r1224
...
git-svn-id: trunk@1235 -
2005-09-30 05:59:34 +00:00
florian
158c6f72b7
* names of cdecl'ed exports on linux fixed
...
git-svn-id: trunk@1233 -
2005-09-29 21:40:19 +00:00
Jonas Maebe
65dd7465ae
* some string -> TCmdStr fixes
...
git-svn-id: trunk@1225 -
2005-09-29 11:32:22 +00:00
Jonas Maebe
f3384bab09
+ some initial darwin/x86 stuff:
...
* align stack to 16 bytes
* extended takes 16 bytes
* <= 8 byte records are passed in registers
git-svn-id: trunk@1224 -
2005-09-29 11:31:26 +00:00
peter
1470fff825
* disable section smartlinking
...
git-svn-id: trunk@1222 -
2005-09-29 06:24:15 +00:00
michael
dcd346f0bb
+ Portugese Translation by Ari Ricardo Ody
...
git-svn-id: trunk@1217 -
2005-09-28 16:53:19 +00:00
tom_at_work
3681639a6a
- more PowerPC64 fixes; "Hello World" style programs can be compiled and run
...
git-svn-id: trunk@1209 -
2005-09-27 18:16:49 +00:00
peter
ec4d287fd8
* aktoutputformat removed, add new paraXX vars for target
...
assembler and debuginfo and use these vars to override
the defaults for the target after the parameters are read
* remove not-maintained and tested gdb code
git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
florian
43cf42b3b6
* binary writer must take care of resource sections as well
...
git-svn-id: trunk@1200 -
2005-09-25 21:16:09 +00:00
florian
b1568fed2a
* don't strip aname for resources
...
git-svn-id: trunk@1199 -
2005-09-25 21:03:55 +00:00
peter
a720145fd1
* remove obsolete pass2inline code
...
git-svn-id: trunk@1198 -
2005-09-25 20:02:17 +00:00
peter
2f0fdd1847
* cleaner fix for tb0496 (r1185)
...
git-svn-id: trunk@1196 -
2005-09-25 19:23:37 +00:00
tom_at_work
0f10de3d1a
- Powerpc compiler cycles again; during adding PowerPC64 code, the trefaddr enumeration for PPC was mixed up
...
git-svn-id: trunk@1195 -
2005-09-25 19:16:57 +00:00
florian
5efee639fa
* fixed result registers for reals when using softfloat mode
...
git-svn-id: trunk@1194 -
2005-09-25 17:44:24 +00:00
peter
6bf3269b41
* powerpc64 port from Thomas Schatzl
...
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +00:00
michael
2057b480a9
+ Fixed resource section names
...
git-svn-id: trunk@1185 -
2005-09-25 13:12:42 +00:00
florian
be99f2a7fd
* fixed loading of addresses of virtual methods to methodpointers in delphi mode
...
git-svn-id: trunk@1182 -
2005-09-25 10:58:17 +00:00
florian
6bc461dc61
* realmodulename must be used of course
...
git-svn-id: trunk@1181 -
2005-09-25 09:14:22 +00:00
florian
fa90e913df
* don't lowercase resource file name in delphi mode
...
git-svn-id: trunk@1180 -
2005-09-25 08:48:13 +00:00
florian
faa5630fab
* forgot to add file: should have been added with r1176
...
git-svn-id: trunk@1179 -
2005-09-24 17:44:45 +00:00
florian
c67502ac2c
* real consts are now stored in text segment so they can be easier accessed
...
git-svn-id: trunk@1176 -
2005-09-24 16:11:49 +00:00
florian
10db94c8c1
* there is no muls, muld must be generated
...
git-svn-id: trunk@1175 -
2005-09-24 14:58:28 +00:00
florian
5a2b5a50a4
* data order for doubles in int registers on wince fixed
...
git-svn-id: trunk@1171 -
2005-09-24 09:28:55 +00:00
peter
cde3b119ef
* enable section smartlinking by default for i386-linux
...
git-svn-id: trunk@1166 -
2005-09-23 13:46:31 +00:00
peter
0edbc24e91
* add FSectsIndex that stores the sections in order, the old FSects is renamed to FSectsDict
...
and will only be used for lookups
git-svn-id: trunk@1165 -
2005-09-23 13:22:25 +00:00
Jonas Maebe
8b8d3de3bf
* finally fix for fixing up conditional jumps that are too long
...
git-svn-id: trunk@1161 -
2005-09-23 10:02:53 +00:00
florian
77db0e5185
+ length(<variant>);
...
git-svn-id: trunk@1154 -
2005-09-22 08:51:23 +00:00
florian
3da870d699
+ -Sk loads also dynlibs
...
git-svn-id: trunk@1150 -
2005-09-20 20:49:37 +00:00
peter
32fa578b58
* fix wrong typecast for smallset
...
git-svn-id: trunk@1147 -
2005-09-20 13:51:17 +00:00
peter
c7f720aa09
* remove wrong check for empty section name. An empty section name is
...
still required to get the start and end debuginfo always included
git-svn-id: trunk@1145 -
2005-09-20 06:33:14 +00:00
peter
82faa95118
* lineinfo fixed for binary writer
...
* add tai_directive to replace old tai_direct calls
in powerpc
git-svn-id: trunk@1139 -
2005-09-19 11:47:30 +00:00
peter
1f8c074ab4
* make m68k compile
...
git-svn-id: trunk@1138 -
2005-09-19 11:46:23 +00:00
peter
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
...
getjumplabel and added type para to getlabel for specific types
* moved lineinfo generation from assemble and aggas to dbgstabs
git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
florian
1908ba2206
+ -vb: writes compiler messages with full path instead of the file name only
...
git-svn-id: trunk@1114 -
2005-09-18 18:09:19 +00:00
florian
fa1575aeab
* fixed array[..] of char <op> pchar: wrong type was determined for non op<>+ returned
...
git-svn-id: trunk@1107 -
2005-09-18 08:59:20 +00:00