Jonas Maebe
7aa315c71a
* made some Tcpuregisterset parameters const to avoid useless copying
...
git-svn-id: trunk@2176 -
2006-01-05 10:10:25 +00:00
florian
abc1bcca24
* fixed previous commit ...
...
git-svn-id: trunk@2175 -
2006-01-05 09:40:04 +00:00
florian
c9870d4aa3
* new line inserted :)
...
git-svn-id: trunk@2174 -
2006-01-05 09:36:48 +00:00
florian
1851481694
* fixed typo
...
git-svn-id: trunk@2173 -
2006-01-05 09:35:59 +00:00
tom_at_work
3462426b1d
* stack frame optimizations
...
git-svn-id: trunk@2172 -
2006-01-04 23:27:40 +00:00
Jonas Maebe
cbaa100654
* "fixed" web bugs 3183 and 4403 by breaking the parser in
...
Delphi mode so that you can change the return type of
overriding interface methods into anything you want.
You will get a nasty warning though.
git-svn-id: trunk@2168 -
2006-01-04 22:21:05 +00:00
Jonas Maebe
9c2ee3a722
* fixed web bug #4086 : do not create a refcounted temp for
...
interface temps created for complex callnodes
git-svn-id: trunk@2165 -
2006-01-04 21:07:10 +00:00
florian
a71d2b432c
* synchronize reg. variables before loading the function result
...
git-svn-id: trunk@2163 -
2006-01-04 20:30:41 +00:00
florian
f7d2c47f73
+ no stackframe is generated for i386 if possible
...
git-svn-id: trunk@2162 -
2006-01-04 19:19:06 +00:00
Jonas Maebe
58381ff7b6
* made chararray handling 98% TP-compatible, fixes web bugs 3012
...
and 4080. The compatibility differences are:
a) writing a chararray which is zero-based but not zero-
terminated does not cause a buffer overflow
b) non-zero-based chararrays can also be read
The difference was that previously, all chararrays were treated
as pchars. In TP/Delphi (and now also in FPC), this is only done
for zero-based chararrays. For non-zero-based ones, the entire
contents of the array should always be used (including #0 's).
The default parameters in the system unit for the chararray
helpers are to avoid having to use a define for bootstrapping.
git-svn-id: trunk@2152 -
2006-01-04 10:05:10 +00:00
florian
629b765688
* updated message file from Karl-Michael Schindler
...
git-svn-id: trunk@2151 -
2006-01-04 10:00:07 +00:00
daniel
1318b95a06
* Enable recognition of property keyword in all modes now that
...
they are allowed for objects
git-svn-id: trunk@2149 -
2006-01-03 23:11:28 +00:00
tom_at_work
4b48a8880f
* added support for BI and BO fields for branches
...
* correct spilling for FP values
git-svn-id: trunk@2143 -
2006-01-03 21:07:39 +00:00
Jonas Maebe
9bb86eb411
* never make vs_var or vs_out variabled non-regable, unless it's an
...
access from a nested procedure. This allows keeping the address
of large function results like shortstrings in a register,
because they were always made non-regable by a typeconversionnode
due to the fact that they are aliased by an absolute alias.
git-svn-id: trunk@2140 -
2006-01-03 15:37:49 +00:00
florian
a8e4073903
* fixed broken DirectoryExists
...
git-svn-id: trunk@2136 -
2006-01-03 12:53:27 +00:00
florian
61e3b70cfa
* cleaned up segmented thread variables
...
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
3ccec3fbdd
* proper error if a directory is passed as configuration file
...
git-svn-id: trunk@2134 -
2006-01-02 21:07:15 +00:00
Jonas Maebe
48e98d2a17
* fixed compilation of macpas interface-only units
...
git-svn-id: trunk@2130 -
2006-01-02 20:55:10 +00:00
Jonas Maebe
f3e69a1569
* also allow overloading of function results with related interfaces
...
git-svn-id: trunk@2128 -
2006-01-02 18:58:41 +00:00
florian
bf5907dcdc
* more @GOT parsing
...
git-svn-id: trunk@2125 -
2006-01-02 18:30:18 +00:00
florian
43cd438544
* generate _GLOBAL_OFFSET_TABLE_ variable on i386 if necessary
...
git-svn-id: trunk@2124 -
2006-01-02 18:29:43 +00:00
florian
06c84e1c5e
* fixed writing of symbol sizes
...
git-svn-id: trunk@2123 -
2006-01-02 18:29:18 +00:00
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
tom_at_work
c3f678e8df
* updated makefiles for ppc64/linux to allow successful snapshot building on that platform
...
git-svn-id: trunk@1975 -
2005-12-16 20:37:08 +00:00
peter
5942d23b1b
* fix range error
...
git-svn-id: trunk@1974 -
2005-12-16 17:24:00 +00:00
Jonas Maebe
ef2a0c7ddf
* changed default packenum for MacPas from 1 to 2 (compatible with Metrowerks)
...
git-svn-id: trunk@1971 -
2005-12-16 12:22:39 +00:00
florian
53d7eafa7d
* generate always direct fpc_decr_* calls for strings instead of fpc_finalize
...
git-svn-id: trunk@1967 -
2005-12-15 22:38:11 +00:00
florian
7a4c89e68d
* optimized generation of fpc_decr_* calls
...
git-svn-id: trunk@1966 -
2005-12-15 22:37:21 +00:00
florian
3582108be1
* signed divisions with constants are always done without idiv
...
git-svn-id: trunk@1965 -
2005-12-15 22:36:48 +00:00
florian
5ea49bedd0
* fixed handling of imul with one parameter
...
git-svn-id: trunk@1964 -
2005-12-15 22:36:16 +00:00
florian
27f28eec1a
* use 16 byte procedure alignment on windows too
...
git-svn-id: trunk@1962 -
2005-12-15 19:50:58 +00:00
peter
39c553707e
* fix win32 linking
...
git-svn-id: trunk@1957 -
2005-12-15 12:04:39 +00:00
peter
1e1ea0c3b6
* write .type and .size only for target that support it
...
git-svn-id: trunk@1956 -
2005-12-15 11:39:23 +00:00
peter
739ea825d4
* fix sizeof(array of const)
...
git-svn-id: trunk@1954 -
2005-12-15 08:58:45 +00:00
peter
24d972c012
* append optimization also for constant strings
...
git-svn-id: trunk@1950 -
2005-12-14 17:23:50 +00:00
Károly Balogh
238964e443
Various m68k fixes/additions:
...
- fixes in asmreader, basic stuff works again, the rest is untested
- removed lot of unnecessary ungetcpuregister()s
- various other fixes i forgot
+ basic amigaos syscalls support. still lacks explicit funcretloc
git-svn-id: trunk@1943 -
2005-12-13 20:42:15 +00:00
Jonas Maebe
dac02c3032
* always use the regular secnames for darwin currently
...
git-svn-id: trunk@1937 -
2005-12-12 14:45:06 +00:00
florian
ca782dddc7
* write correct type usual symbols
...
git-svn-id: trunk@1933 -
2005-12-11 23:11:55 +00:00
florian
479ad6d88a
- removed 1.0 defines
...
+ call ld with -E
git-svn-id: trunk@1932 -
2005-12-11 23:11:21 +00:00
florian
fb8e885a94
+ write data block size and type
...
* changed .space to .zero
git-svn-id: trunk@1931 -
2005-12-11 23:03:20 +00:00
florian
44c892c717
* -s renamed to -S (build static lib)
...
* -s is now strip
git-svn-id: trunk@1925 -
2005-12-10 22:06:10 +00:00
florian
924265c0af
* pic compatible section names
...
git-svn-id: trunk@1924 -
2005-12-10 22:04:04 +00:00
florian
a1189a9d64
* exports info handling refactored, -E will be passed to ld if necessary
...
git-svn-id: trunk@1922 -
2005-12-10 22:00:33 +00:00
Jonas Maebe
4c6874504b
* fixed web bug #4461
...
git-svn-id: trunk@1921 -
2005-12-10 21:57:33 +00:00
florian
07ea2a5b38
* fixed generation of exports from units/programs supporting it
...
git-svn-id: trunk@1920 -
2005-12-10 21:00:37 +00:00
Jonas Maebe
b3b104130d
* compiler discerns between +0.0 and -0.0
...
+ test for the above
git-svn-id: trunk@1917 -
2005-12-10 20:37:17 +00:00
Jonas Maebe
52ca5e6922
* use more precise vs_* information to replace less parameters of inlined
...
procedures with const and value parameters with temps, allowing a bit
more value propagation
+ tinline6.pp for testing wrong propagation of value parameters in
dangerous situations
git-svn-id: trunk@1914 -
2005-12-10 17:01:07 +00:00
Jonas Maebe
42ec76598c
* new categories for vs_*: vs_declared, vs_initialised, vs_read,
...
vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
vs_used has been replaced by vs_read, vs_written and vs_readwritten
* the valid_for_*() routines in htypechk now get an extra parameter to
decide whether or not errors should be reported
git-svn-id: trunk@1913 -
2005-12-10 16:51:26 +00:00
Jonas Maebe
7996bb3b06
* fixed showing of warnings for uninitialised function results
...
git-svn-id: trunk@1897 -
2005-12-07 16:12:01 +00:00
Jonas Maebe
c9b2e34524
* also make "out" shortstring parameters openstrings if required
...
git-svn-id: trunk@1887 -
2005-12-06 19:39:59 +00:00
florian
d6628f1d8b
* resolve postponed local switch changes before switching mode
...
git-svn-id: trunk@1880 -
2005-12-04 19:36:57 +00:00
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