Commit Graph

8002 Commits

Author SHA1 Message Date
Jonas Maebe
89523d390b * fixed web bugs 4574 and 4575
+ added combined test for these bugs

git-svn-id: trunk@2119 -
2006-01-02 17:54:39 +00:00
florian
30d5ff9f03 * fixed access to already freed memory location
git-svn-id: trunk@2118 -
2006-01-02 17:11:55 +00:00
florian
56616ea3ad + parsing of @GOT on i386
git-svn-id: trunk@2117 -
2006-01-02 15:37:18 +00:00
Jonas Maebe
6d3ae16267 * fixed web bug #4647 (untyped elements in array constructors) + test
git-svn-id: trunk@2110 -
2006-01-01 20:43:28 +00:00
Jonas Maebe
cbb59be2f1 * fixed web bug #4651 + test
git-svn-id: trunk@2108 -
2006-01-01 20:19:38 +00:00
florian
fb4557d71e * first implementation of pic for i386
git-svn-id: trunk@2107 -
2006-01-01 20:14:48 +00:00
Jonas Maebe
2aa9653a61 - removed code commented out in previous commit
git-svn-id: trunk@2106 -
2006-01-01 17:42:58 +00:00
Jonas Maebe
3f86e6b728 * keep upper bound of loops in a register instead of in memory
git-svn-id: trunk@2105 -
2006-01-01 17:02:34 +00:00
Jonas Maebe
9603f4bf82 * fixed double writing of "<var> located in register" in assembler
source after previous patch

git-svn-id: trunk@2104 -
2006-01-01 15:36:42 +00:00
Jonas Maebe
365d2892f4 + support for bo/bi notation for branches in the assembler reader
git-svn-id: trunk@2102 -
2006-01-01 13:34:04 +00:00
florian
008da5b11c + new cpus/fpus added
git-svn-id: trunk@2101 -
2006-01-01 12:41:39 +00:00
Jonas Maebe
cd69c36f17 * commited -> committed (fix for web bug #4642, by Vincent Snijders)
git-svn-id: trunk@2099 -
2005-12-31 17:30:22 +00:00
florian
a11a177469 * generate pic'ed external jmps on 386 as well if necessary
git-svn-id: trunk@2092 -
2005-12-31 13:51:57 +00:00
Jonas Maebe
41d6d85084 * fixed spilling of fpu registers
git-svn-id: trunk@2090 -
2005-12-31 13:14:56 +00:00
Jonas Maebe
018fa207d7 * only allocate the calleeside register locations of parameters when
needed, avoids some unnecessary register conflicts (not yet perfect
    for 64bit locations on 32bit cpus)

git-svn-id: trunk@2089 -
2005-12-31 12:28:56 +00:00
Jonas Maebe
c423e23bb4 * only use r12 as frame pointer in the entry code for ppc if necessary
git-svn-id: trunk@2086 -
2005-12-31 10:54:09 +00:00
Jonas Maebe
6c30925e04 * fixed offsets used by stmw/lmw
git-svn-id: trunk@2084 -
2005-12-30 23:50:37 +00:00
Jonas Maebe
c3f27eee06 * optimized generation of and generated entry and exit code:
* no stack frame generated anymore if it's not necessary
    * only the necessary stack space is now reserved, instead of
      room for all non-volatile registers
    * less usage of helper registers

git-svn-id: trunk@2082 -
2005-12-30 17:20:07 +00:00
Jonas Maebe
55218d452b * don't change the binding of real external symbols in the patch
of r2058, fixes the binary writer

git-svn-id: trunk@2060 -
2005-12-27 09:41:52 +00:00
Jonas Maebe
de8dbbd2c4 * final fixes for Mac OS X shared library creation: procedures declared
as forward are no longer treated as external symbols
  * changed alloc_proc_symbol() to directly call newasmsymbol as opposed
    to creating a dummy tai_symbol()

git-svn-id: trunk@2058 -
2005-12-26 18:18:05 +00:00
Jonas Maebe
021dabc37e * also honour vsf_use_hints for uninitialised warnings for the
function result variable

git-svn-id: trunk@2052 -
2005-12-26 14:44:03 +00:00
florian
dae84f282f * fixed handling of doubles in softemu mode if they are split between register and memory
git-svn-id: trunk@2047 -
2005-12-24 17:43:57 +00:00
Jonas Maebe
d6559f594d * also make "out" parameters unique
git-svn-id: trunk@2043 -
2005-12-23 23:48:48 +00:00
Jonas Maebe
5ccbeea1d3 + support for "return x" as equivalent for "exit(x)" in macpas mode
git-svn-id: trunk@2042 -
2005-12-23 22:49:15 +00:00
Jonas Maebe
857664a5d4 * fixed tw4554:
* proper uninitialized checking for arrays
    * first check uninitialized status of right side of assignment
      before setting the left side to "written" (-> catch "x:=x" if
      x is uninitialized)

git-svn-id: trunk@2038 -
2005-12-23 21:08:48 +00:00
peter
710ea0edf0 * fix enum support in vecn in symlists
git-svn-id: trunk@2035 -
2005-12-23 14:11:29 +00:00
florian
e4a8f008a7 * fixed ie when "converting" double to double and single to single on softemu
git-svn-id: trunk@2031 -
2005-12-22 22:24:02 +00:00
Jonas Maebe
dbf94f4713 * properly fixed allocating procedure symbols, now also works for nested
procedures

git-svn-id: trunk@2029 -
2005-12-22 20:43:29 +00:00
peter
80fef1e8ad * fix parsing of typecasts in type declarations
git-svn-id: trunk@2026 -
2005-12-22 12:21:06 +00:00
peter
ad0f93da39 * don't report name differences after implicit renames
git-svn-id: trunk@2021 -
2005-12-21 11:04:42 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
florian
82a94db712 * fixed resetting of ansistrings
git-svn-id: trunk@2017 -
2005-12-20 21:22:06 +00:00
Jonas Maebe
66ebbbc5c2 * always generate code which can be used to build dynamically loadable
libraries with

git-svn-id: trunk@2013 -
2005-12-20 19:58:27 +00:00
Jonas Maebe
f0c028d6c8 + dwarf support for darwin/mac os x (not really enabled yet, since it's
currently only used if a target requires it)

git-svn-id: trunk@2010 -
2005-12-20 17:54:11 +00:00
Jonas Maebe
b954ea006e * generate the procsymbol before generating the code for the procedure,
so that refences to this symbol are not treated as external

git-svn-id: trunk@2009 -
2005-12-20 17:52:08 +00:00
peter
68e56b9fc7 * write only unique property names in rtti
git-svn-id: trunk@2007 -
2005-12-20 14:44:48 +00:00
Jonas Maebe
8f6babfef7 * fixed passing record parameters of size >= 3 and whose size is not
divisible by 4 on Darwin (have to be passed on the stack instead of in
    registers), fixes tcalext3

git-svn-id: trunk@2002 -
2005-12-20 10:13:10 +00:00
Jonas Maebe
16f9c89854 - reverted previous commit, committed the wrong file
git-svn-id: trunk@2001 -
2005-12-20 10:13:04 +00:00
Jonas Maebe
a16fa618de * fixed passing record parameters of size >= 3 and whose size is not
divisible by 4 on Darwin (have to be passed on the stack instead of in
    registers), fixes tcalext3

git-svn-id: trunk@2000 -
2005-12-20 10:11:50 +00:00
peter
22923c12d5 * set also publishable flag if forward classes are compile within $M+
git-svn-id: trunk@1998 -
2005-12-20 09:01:25 +00:00
peter
47c1bb60b4 * remove svn:executable from *.pp and *.pas
git-svn-id: trunk@1997 -
2005-12-20 08:11:59 +00:00
peter
717c2172eb * support db $01 db $02
git-svn-id: trunk@1996 -
2005-12-20 07:59:11 +00:00
peter
dfd9b6e862 * property index is always a s32int
* property implementations must match parameters equal

git-svn-id: trunk@1995 -
2005-12-20 07:58:38 +00:00
florian
bec0daebfa + optimized <dword> div <const dword>
git-svn-id: trunk@1993 -
2005-12-19 22:19:43 +00:00
peter
767291ca5f * refactor reading and setting of parent classes
git-svn-id: trunk@1992 -
2005-12-19 12:24:45 +00:00
tom_at_work
57b7b72ca4 * ppc64/linux specific compiler patches to improve C parameter passing compatibility
* passes tcalext3 and tcalext4 test programs

git-svn-id: trunk@1984 -
2005-12-18 22:08:13 +00:00
tom_at_work
b53ee04f98 * base compiler patches to improve C parameter passing compatibility on powerpc64/linux
git-svn-id: trunk@1983 -
2005-12-18 22:07:24 +00:00
Károly Balogh
739ae4c254 + 1st attempt to have explicit funcretloc for Amiga/m68k
git-svn-id: trunk@1978 -
2005-12-18 03:58:27 +00:00
Károly Balogh
12b1ff0df2 + added n68kcal.pas, forgot to add previously
git-svn-id: trunk@1977 -
2005-12-17 16:44:31 +00:00
Jonas Maebe
62cbd007f1 * indexes in vecn's are only read, not written
git-svn-id: trunk@1976 -
2005-12-17 15:20:33 +00:00