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
daniel
9916f784ce
* Use a linker script to put threadvars at the right location
...
git-svn-id: trunk@767 -
2005-07-30 19:14:41 +00:00
daniel
6234341ef2
* Uninitialised variables are no longer declared with .comm
...
git-svn-id: trunk@766 -
2005-07-30 17:40:20 +00:00
peter
2e00bd1480
* support local labels in references
...
git-svn-id: trunk@764 -
2005-07-29 07:06:12 +00:00
florian
0e89afa607
* mm register spilling fixed
...
* no sse instruction can operate on memory
git-svn-id: trunk@762 -
2005-07-27 19:31:31 +00:00
florian
5df84f7222
* cvtxx2yy has now proper modification information
...
git-svn-id: trunk@757 -
2005-07-26 21:06:02 +00:00
florian
146efddbb7
* unified internal error
...
git-svn-id: trunk@756 -
2005-07-26 21:02:31 +00:00
florian
80f1b0953e
* inlining on x86_64 fixed (not broken in fixes branch, needs no merging)
...
git-svn-id: trunk@755 -
2005-07-26 20:44:58 +00:00
Jonas Maebe
0bfe43e7cd
* fixed support for anonymous class/object definitions in macpas mode
...
git-svn-id: trunk@753 -
2005-07-26 10:11:39 +00:00
daniel
603e165761
* add exclude(to_do,threadvarsegment) to assemble.pas to temporarily fix
...
reported problem.
git-svn-id: trunk@748 -
2005-07-25 20:03:26 +00:00
daniel
e98865ab40
* Fixes and further development of fast threadvars
...
git-svn-id: trunk@743 -
2005-07-25 14:07:02 +00:00
daniel
4996b31df1
* Fixes compile error
...
git-svn-id: trunk@742 -
2005-07-25 13:07:16 +00:00
daniel
22e89e1a42
* Proof of concept: Support threadvars using segment registers.
...
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00
florian
abed18e3bd
* the utf-8 encoded espanol file is no errorues.msg
...
* errores.msg is iso-8859-15 encoded
git-svn-id: trunk@735 -
2005-07-24 10:36:45 +00:00
Jonas Maebe
f948a34c78
- disabled wrong GOT setup code which destroys r31 without saving it (should
...
have been done a long time ago already)
git-svn-id: trunk@733 -
2005-07-24 08:26:12 +00:00
daniel
d05f58b604
* Group asmlists into array to be able to add
...
some of them more comfortably.
* x86_64 compilation was broken, fixed.
* Sparc compilation was broken, fixed.
git-svn-id: trunk@731 -
2005-07-23 13:44:32 +00:00
daniel
d57c048696
* Remove ifdef 1_0
...
* Add expirimental 32-bit x86_64 target to systems
git-svn-id: trunk@729 -
2005-07-23 08:37:26 +00:00
florian
32b96e75f3
* more fixes for float parameter handling on arm
...
git-svn-id: trunk@728 -
2005-07-22 20:14:03 +00:00
Jonas Maebe
6171499d15
* fixed creating shared libraries under Darwin/Mac OS X
...
git-svn-id: trunk@727 -
2005-07-22 10:09:52 +00:00
florian
c15f720867
* fixed passing of floats for cdecl procedures/functions
...
git-svn-id: trunk@726 -
2005-07-21 20:12:28 +00:00
Jonas Maebe
bf51ab03af
+ support for Mach-O in lineinfo.pp (by Jan Ruzicka)
...
* always store the return address in the stack frame on ppc if debuginfo
or lineinfo is turned on (otherwise the parent of a leaf function is
missing in backtraces)
git-svn-id: trunk@724 -
2005-07-21 13:09:45 +00:00
peter
03c02cdb42
* support Type[index] typecasting
...
git-svn-id: trunk@711 -
2005-07-20 11:30:00 +00:00
peter
e64cc2fbbd
* tp procvar support for ifn,whilerepeatn
...
git-svn-id: trunk@707 -
2005-07-20 06:49:14 +00:00
peter
376865d041
* mark variables used in set creation
...
git-svn-id: trunk@706 -
2005-07-20 06:44:59 +00:00
Jonas Maebe
20e1ac4640
* fixed inlining of method calls with a methodpointer in a temp
...
+ print inline trees to screen if compiler is compiled with -ddebuginline
git-svn-id: trunk@704 -
2005-07-19 15:03:48 +00:00
Jonas Maebe
255855b5d9
* more informative printnode* output for temp-related nodes
...
git-svn-id: trunk@702 -
2005-07-19 14:59:04 +00:00