Commit Graph

8074 Commits

Author SHA1 Message Date
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
florian
21cc9597f2 + fpcylix unit
+ -Sk option

git-svn-id: trunk@1106 -
2005-09-18 08:34:51 +00:00
peter
89d4cc68c0 * hack to workaround an IE with forward classes were
a child class is declared before the parent class. Resulting
    in the wrong order in the ppu

git-svn-id: trunk@1105 -
2005-09-17 23:26:21 +00:00
florian
23d1caba7e * allow type postfix like: [esi].currency
git-svn-id: trunk@1098 -
2005-09-17 18:09:47 +00:00
florian
d56e29b9dd * fixed previous commit
git-svn-id: trunk@1097 -
2005-09-17 17:54:26 +00:00
florian
8c6316ce2a * allow byte, word, dword, qword as size qualifier
git-svn-id: trunk@1096 -
2005-09-17 17:12:27 +00:00
florian
4e01edc8a1 * updated errord.msg from Karl-Michael Schindler
git-svn-id: trunk@1090 -
2005-09-16 09:13:26 +00:00
Károly Balogh
6b01da4f65 * fixed(?) peter's last commit. i hope i did it the right way.
git-svn-id: trunk@1087 -
2005-09-15 16:38:30 +00:00
Jonas Maebe
05abf21708 * fixed Mac OS X compilation (start new ".data" section for resource strings)
git-svn-id: trunk@1086 -
2005-09-15 15:02:05 +00:00
peter
ca66b9f7c1 * force writing of new section before generating the jumptable
git-svn-id: trunk@1085 -
2005-09-15 14:08:02 +00:00
peter
fdc4925fcd * basic framework for debuginfo class added
git-svn-id: trunk@1084 -
2005-09-15 08:34:51 +00:00
peter
c3727c29b2 * rename al_code to al_procedures, al_bss/al_data to al_globals
* more work for section smartlinking

git-svn-id: trunk@1083 -
2005-09-15 06:51:12 +00:00
florian
0a0b1de071 * fixed fppkg for x86-64
git-svn-id: trunk@1081 -
2005-09-14 20:26:12 +00:00
Jonas Maebe
4c463a7a0a * check unconditional jumps to make sure that they actually refer to a
tasmlabel instead of blindly assuming that they always do

git-svn-id: trunk@1080 -
2005-09-14 19:46:57 +00:00
Jonas Maebe
9d877e055b * no longer create new asmsymbols in a_jmp(). Very strange that the jmp
peephole optimization worked for ppc...

git-svn-id: trunk@1079 -
2005-09-14 19:22:22 +00:00
florian
5c35fd818d * ie on powerpc fixed: synching of fpu register variables wasn't implemented, maybe subject to be merged back to 2.0.x
git-svn-id: trunk@1078 -
2005-09-13 20:54:25 +00:00
olle
32fac59ac5 made target macpas compile again
git-svn-id: trunk@1077 -
2005-09-12 19:39:58 +00:00
Károly Balogh
f6ec99633c + added Amiga path conversion for link.res file generation
git-svn-id: trunk@1076 -
2005-09-12 18:56:21 +00:00
florian
95dc2eba5f * basic operand matching works
+ skeleton for pass 2 implemented

git-svn-id: trunk@1075 -
2005-09-11 20:53:16 +00:00
florian
6ad3930a5d * fixed broken powerpc compilation
* fixed imm24 constant matching on the arm

git-svn-id: trunk@1074 -
2005-09-11 16:13:55 +00:00
florian
d280ed6e8b * continued to work on arm binary writer, started to fix operand matching
git-svn-id: trunk@1073 -
2005-09-11 10:01:54 +00:00
florian
caecabf7ba + more arm assembler stuff
git-svn-id: trunk@1070 -
2005-09-10 09:30:39 +00:00
florian
cdd5b61af8 + internal error added
git-svn-id: trunk@1069 -
2005-09-10 09:29:56 +00:00
florian
e7e12f0f31 + some more arm binary writer stuff, this is mainly a transfer commit
git-svn-id: trunk@1068 -
2005-09-09 16:12:19 +00:00
florian
9452e2a91f + added all used instructions to armins.dat
* first clean up of armins.dat

git-svn-id: trunk@1065 -
2005-09-08 22:08:31 +00:00
peter
bb70f2f5cc * add fppkg and fpmkunit to the Makefile.fpc
git-svn-id: trunk@1063 -
2005-09-08 06:50:52 +00:00
peter
26f25c89ee * use myexit to restore block_type
git-svn-id: trunk@1062 -
2005-09-08 05:48:17 +00:00
florian
14fca113bf * basic framework for integrated arm assembler
git-svn-id: trunk@1061 -
2005-09-07 21:34:25 +00:00
peter
35ac5f133e * win32 profiling updates
git-svn-id: trunk@1059 -
2005-09-07 08:32:33 +00:00
florian
46097d7679 + wince resource compiler support
* fixed some resource compiler stuff

git-svn-id: trunk@1056 -
2005-09-06 20:28:03 +00:00
peter
375a5add80 * rename al_debug to al_typestabs
* first write al_typestabs before other sections

git-svn-id: trunk@1054 -
2005-09-06 06:32:26 +00:00
michael
62e90ec0fa + Dutch message file brought up-to-date
git-svn-id: trunk@1045 -
2005-09-03 21:41:17 +00:00
michael
2455153216 + More fixes to be able to create docs
git-svn-id: trunk@1044 -
2005-09-03 17:53:10 +00:00
michael
0b0c7581f6 + Fixed 2 messages
git-svn-id: trunk@1042 -
2005-09-03 17:40:03 +00:00
florian
c7bdfe238b * regenerated makefiles
git-svn-id: trunk@1039 -
2005-09-02 17:46:38 +00:00
florian
a8f2d702a7 * fixed code generation for sqrt and sqr in softfloat mode
git-svn-id: trunk@1038 -
2005-09-02 12:31:50 +00:00
michael
14a9ee8bd3 + more typos fixed
git-svn-id: trunk@1022 -
2005-09-02 08:35:23 +00:00
michael
375f44249a + Extension unit should be fpmkext.
git-svn-id: trunk@1019 -
2005-09-02 07:49:56 +00:00
michael
f5a50ec873 + Moved fpmkpkg to compiler and renamed to fppkg
git-svn-id: trunk@1018 -
2005-09-02 07:47:41 +00:00
michael
7184d30fc1 + Fixed bootstrap problem for resources
git-svn-id: trunk@1013 -
2005-09-01 16:57:03 +00:00
michael
6af1b74202 + Fixed two typos reported by Arí Ricardo Ody
git-svn-id: trunk@993 -
2005-08-31 16:21:14 +00:00
michael
a578c9b7ed + Also take resources in main program source into account
git-svn-id: trunk@990 -
2005-08-31 14:12:41 +00:00
florian
609f35b34c * fixed missing offset assignment
git-svn-id: trunk@984 -
2005-08-30 08:59:23 +00:00
peter
f4c15f16bf * overload choosing for ansistring -> short/wide
git-svn-id: trunk@983 -
2005-08-30 06:55:10 +00:00
peter
1b4c7b5a3e * fix default parameter compare for widestring
git-svn-id: trunk@982 -
2005-08-30 06:23:31 +00:00
peter
62972054c4 * allow deref of loop variable
git-svn-id: trunk@981 -
2005-08-30 05:51:39 +00:00
peter
da8c55b019 * overload choosing for array of char to widestring fixed
git-svn-id: trunk@979 -
2005-08-30 05:42:11 +00:00
florian
fea7d1df10 * fixed passing of float in softfloat mode on the stack
git-svn-id: trunk@978 -
2005-08-29 20:39:35 +00:00
florian
d9f6a5a374 * support of apptype native for windows after a suggestion of Brian Bi
git-svn-id: trunk@977 -
2005-08-29 19:03:12 +00:00
Jonas Maebe
5637845b48 * fixed compilation after fpc_resource changes
git-svn-id: trunk@976 -
2005-08-29 13:03:58 +00:00
michael
69d44da006 + Patch from colin western to let linker use internal script
git-svn-id: trunk@975 -
2005-08-29 10:32:12 +00:00
florian
a53c9e2666 * fixed stupid copy/paste which turned softfloat always off
* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit

git-svn-id: trunk@966 -
2005-08-28 21:08:23 +00:00
florian
b6f4784295 * reading of ppus with inlining info fixed
git-svn-id: trunk@965 -
2005-08-28 20:21:22 +00:00
florian
aaa4f72e69 * currency support
git-svn-id: trunk@964 -
2005-08-28 18:27:02 +00:00
florian
51af5cb3a9 * updated target list
git-svn-id: trunk@963 -
2005-08-28 18:22:38 +00:00
michael
d93edfdf13 + Pointer to FPC_RESSYMBOL not in fpc.resptr section
git-svn-id: trunk@962 -
2005-08-28 15:36:17 +00:00
florian
adb193497d + softfloat support for wince
* more units are build for wince

git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
michael
3392189fb0 + Implemented resources for ELF
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
michael
ad9a77a704 + Some typos fixed, based on remarks of Arí Ricardo Ody
git-svn-id: trunk@955 -
2005-08-28 09:34:49 +00:00
florian
57e373a4d3 * update polish language files from Wojciech Malinowski
git-svn-id: trunk@951 -
2005-08-27 13:19:31 +00:00
florian
c66e3ba47b * updated version from Karl-Michael Schindler
git-svn-id: trunk@949 -
2005-08-27 13:05:52 +00:00
florian
1c9a8396b7 * commented linker script generation for linux out, causes problems on some machines,
see bug #4317

git-svn-id: trunk@945 -
2005-08-26 21:01:28 +00:00
florian
5e8db3eb5a * better error message if a compiler can't find a compilerproc
git-svn-id: trunk@943 -
2005-08-25 20:21:06 +00:00
florian
602c93d460 * updated german translation from Karl-Michael Schindler
git-svn-id: trunk@938 -
2005-08-24 20:25:14 +00:00
florian
169688f198 * compiler part of first gba port
git-svn-id: trunk@937 -
2005-08-24 18:47:08 +00:00
Jonas Maebe
3aa4e8008e * fixed tests/webtbs/uw3969 compilation with -Or for ppc (removed
superfluous call to location_get_data_ref)

git-svn-id: trunk@926 -
2005-08-23 06:39:31 +00:00
peter
5c902e40d1 * fix array of pchar after last revision
git-svn-id: trunk@924 -
2005-08-22 21:37:59 +00:00
olle
2a5e6d7b92 + compile time variables can be given on the command line
git-svn-id: trunk@923 -
2005-08-22 19:34:54 +00:00
olle
e40c2fd8b0 + compile time expression type checking
* fixed bug in $DEFINE under macpas

git-svn-id: trunk@919 -
2005-08-22 19:09:41 +00:00
Jonas Maebe
fdc8c1c0ae * replace divisions by constants with a combination of mul, shift, add from
the ppc compiler writers guide
  + test program for above optimization
  (both by Thomas Schatzl)

git-svn-id: trunk@912 -
2005-08-21 18:35:15 +00:00
Jonas Maebe
97a8ea2e6d + ppc jumptable support for case statements (by Thomas Schatzl)
git-svn-id: trunk@911 -
2005-08-21 18:24:35 +00:00
Jonas Maebe
abeeb43ae7 - removed "INT64FUNCRESOK" define (no longer defined and already fixed,
fixes tests/cg/tcase)

git-svn-id: trunk@909 -
2005-08-21 17:08:16 +00:00
Jonas Maebe
f1d3ed5225 * fixed tw3402
git-svn-id: trunk@907 -
2005-08-21 16:53:22 +00:00
Jonas Maebe
b779d6d28f * fixed fixref() (by Thomas Schatzl)
git-svn-id: trunk@904 -
2005-08-18 11:09:57 +00:00
peter
c470097764 * fix overflow in the asmlist array
git-svn-id: trunk@903 -
2005-08-18 05:28:16 +00:00
peter
05a628447f * put typedconsts in own asmlist to prevent mixing
array and string data
  * added al_rodata
  * renamed tasmlist enum names to include al_ prefix

git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
marco
a234180e3a * patch for 4095
git-svn-id: trunk@895 -
2005-08-16 12:13:28 +00:00
florian
e36bb224ae * typo fixed
git-svn-id: trunk@858 -
2005-08-13 21:36:50 +00:00
florian
a3e330526d * exporting of symbols from linux programs, i.e. exports clause in
programs allowed

git-svn-id: trunk@855 -
2005-08-13 20:34:28 +00:00
florian
9a624dd82f * proper displaying of arm targets
git-svn-id: trunk@853 -
2005-08-13 16:57:06 +00:00
florian
0f671b0962 * default apptype for wince is gui
git-svn-id: trunk@852 -
2005-08-13 16:48:00 +00:00
florian
6f79120a77 + operating system sets added
git-svn-id: trunk@851 -
2005-08-13 16:47:47 +00:00
florian
84fe2c604d * patch from Yury Sidorov to fix WinCE console I/O
git-svn-id: trunk@850 -
2005-08-13 16:34:44 +00:00
florian
8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake
git-svn-id: trunk@844 -
2005-08-10 21:55:57 +00:00
florian
67cdcd11e7 * fixed makefiles for wince support
git-svn-id: trunk@838 -
2005-08-10 08:50:07 +00:00
florian
db68fb68b4 * updated to nasm 0.98.39 and insns.dat Rev. 1.46
git-svn-id: trunk@836 -
2005-08-09 20:15:58 +00:00
florian
1eed46514f * passing of dyn. arrays of tvarrec to array of const fixed, fixes bug #4219
git-svn-id: trunk@816 -
2005-08-07 14:43:45 +00:00
florian
2f8fe7d2e6 - readln(<pchar>) forbidden, there is no way to prevent an buffer overflow, fixes 4227
git-svn-id: trunk@810 -
2005-08-07 09:18:21 +00:00
florian
9be5247db5 * dyn. arrays are always passed by value, fixes 4240
git-svn-id: trunk@800 -
2005-08-05 21:52:58 +00:00
florian
46a3f895e0 * exception parser checks now if the used id for the handler is really ON, fixes webbug 4256
git-svn-id: trunk@798 -
2005-08-05 19:44:10 +00:00
florian
804207239d *c <int64>:=-<longint> fixed (bug 4253)
git-svn-id: trunk@796 -
2005-08-05 19:00:30 +00:00
Károly Balogh
bbfea4d03f an attempt to fix a bit more stuff in m68k
git-svn-id: trunk@794 -
2005-08-04 21:28:25 +00:00
Károly Balogh
e7b1c386b7 some dirty 68k changes/experiments...
git-svn-id: trunk@792 -
2005-08-04 20:00:20 +00:00
florian
a2fd319a20 * nx86cnv.pas must set ctypeconv node properly
* nx86cnv must be used

git-svn-id: trunk@787 -
2005-08-03 20:29:38 +00:00
florian
b222cc7519 - n386cnv.pas removed, was empty
git-svn-id: trunk@786 -
2005-08-03 20:21:55 +00:00
florian
469f2d1020 * windres isn't called anymore with an empty include parameter, fixes 4205
* -vd prints windres command line

git-svn-id: trunk@781 -
2005-08-02 21:05:36 +00:00
Jonas Maebe
ac445c97c1 * fixed webtbf/tw4244
git-svn-id: trunk@779 -
2005-08-02 18:30:33 +00:00
peter
3b2868feaf * remove ld 2.16 specific line
git-svn-id: trunk@778 -
2005-08-01 10:23:28 +00:00
daniel
738660fb8a * Add remarks from the e-mails
git-svn-id: trunk@777 -
2005-08-01 06:57:11 +00:00
daniel
e9f8903be4 * Add Mac OS X exception again
git-svn-id: trunk@776 -
2005-08-01 06:44:28 +00:00
daniel
94447481c1 * Use .space instead of .fill
git-svn-id: trunk@775 -
2005-07-31 21:25:40 +00:00