Commit Graph

22013 Commits

Author SHA1 Message Date
peter
37c81492ad Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r2827 (peter)
  * smartlinking of resourcestrings


r2831 (peter)
  * process_ea 64bit fixes


r2837 (peter)
  * linker script

git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +00:00
peter
ddfa0bd1dd * use resourcstring table again
git-svn-id: trunk@2979 -
2006-03-19 21:16:32 +00:00
Jonas Maebe
e053f4272b * trigger runerror 207 instead of 208 for unknown fpu errors (like on
Linux)

git-svn-id: trunk@2978 -
2006-03-19 20:45:23 +00:00
Jonas Maebe
d56857e998 * fixed r2970 (% instead of #)
git-svn-id: trunk@2977 -
2006-03-19 20:41:36 +00:00
Jonas Maebe
6ad5dff9e8 * fixed loading of -0.0
git-svn-id: trunk@2976 -
2006-03-19 20:29:15 +00:00
Jonas Maebe
b9a66c4f25 * fixed test
git-svn-id: trunk@2975 -
2006-03-19 20:26:29 +00:00
Jonas Maebe
69631be0b3 + nostackframe directive to fix on darwin/x86
git-svn-id: trunk@2974 -
2006-03-19 20:08:21 +00:00
Jonas Maebe
2e41b63710 * support subscripting record function results on ABI's that return
(some) records in registers (+ internalerror if unsupported
    record location). Fixes "make all" in top dir on darwin/x86.

git-svn-id: trunk@2973 -
2006-03-19 20:01:11 +00:00
michael
155df8d326 + StdIO flush now handled as all other files
git-svn-id: trunk@2971 -
2006-03-19 19:18:49 +00:00
peter
76944b0c85 * fix writing of @object for arm
git-svn-id: trunk@2970 -
2006-03-19 19:11:37 +00:00
Almindor
827abd27d7 * adds fpgetcwd support to sysdir.inc and fixes compilation
git-svn-id: trunk@2969 -
2006-03-19 17:10:04 +00:00
Jonas Maebe
b8e3723bb0 - removed markheap since it doesn't work anymore (since a long
time already in fact)

git-svn-id: trunk@2968 -
2006-03-19 16:44:18 +00:00
florian
ad0ac6ef1f * svn:executable
git-svn-id: trunk@2967 -
2006-03-19 13:40:48 +00:00
peter
323d6cf640 * use -O2 for 2.1.1 compilers
git-svn-id: trunk@2966 -
2006-03-19 11:19:43 +00:00
tom_at_work
6d99152f4b * fixed wrong method of disabling stabs debug info in 2956
git-svn-id: trunk@2965 -
2006-03-19 10:54:52 +00:00
florian
bf0fc6cc15 * another dependency fixed
git-svn-id: trunk@2963 -
2006-03-19 09:52:36 +00:00
florian
879e2d795f * more dependencies fixed
* cthreads compilation fixed

git-svn-id: trunk@2962 -
2006-03-19 09:48:45 +00:00
Almindor
e57abdf05f * experimental usage of fpgetcwd in osdir.inc
git-svn-id: trunk@2961 -
2006-03-19 09:46:58 +00:00
florian
afe9539e3c * fixed more makefile stuff
git-svn-id: trunk@2960 -
2006-03-19 09:26:18 +00:00
Jonas Maebe
3bc040cc45 * count references to symbols accessed via properties (fixes bug #4826)
git-svn-id: trunk@2959 -
2006-03-18 22:53:27 +00:00
Jonas Maebe
ed910b5d31 * support goto/label by default in tp/delphi/macpas modes (bug 4893)
git-svn-id: trunk@2958 -
2006-03-18 22:25:41 +00:00
Jonas Maebe
9dbd69c307 * don't give range check hints/warnings for conversions of
realconstnodes to types with less precision than the default (bug 4898)

git-svn-id: trunk@2957 -
2006-03-18 22:02:37 +00:00
tom_at_work
496c31ac29 * DWARF debug info is now default on ppc64/linux
* disallow stabs debug info generation on ppc64/linux.

git-svn-id: trunk@2956 -
2006-03-18 20:48:04 +00:00
florian
a2f4e33bda * fixed solaris compilation
git-svn-id: trunk@2955 -
2006-03-18 17:17:16 +00:00
Jonas Maebe
ac11ab43a2 * fixed wrong conversions from real to currency/int64 for x86
git-svn-id: trunk@2954 -
2006-03-18 13:20:58 +00:00
Jonas Maebe
f59d552ecb * fixed web bug #4913 (don't allow indexing of strings/variants/pointers
with enums/chars/booleans)

git-svn-id: trunk@2952 -
2006-03-18 11:05:04 +00:00
Jonas Maebe
b2cdab26af * automatically convert (wide)chararrays to p(wide)chars for C varargs
git-svn-id: trunk@2951 -
2006-03-18 09:20:18 +00:00
Jonas Maebe
4a6848269e * fixed bug in sprintf of extended
git-svn-id: trunk@2950 -
2006-03-17 22:35:04 +00:00
Jonas Maebe
4db6e1ddb8 * moved type conversion of C varargs from tcallnode to
tarrayconstructornode.inset_typeconvs() and fixed them:
    * integers < 32 bit are converted to 32 bit (this was previously
      done in the code generator for some targets, and not for others)
    * currency is also converted to double for targets where currency = int64
    * single is converted to double, except for x86_64 (is at least
      necessary on darwin/ppc, darwin/i386 and linux/i386)
    * enums are converted to 32 bit ints
    * procvars are converted to pointers
    * proper errors are given for various unsupported types
   NOTE: in C, floating point constants are by default double, while in
    FPC they are of type extended. On platforms where extended <> double,
    such constants when passed to C varargs are automatically converted
    to double by default (gives warning). If you want to pass them as
    single or extended or get rid of the warning, use an explicit typecast
  * increased ppu version because of introduction of new node flag
    (nf_cvarargs for tarrayconstructornode)
  * fixed tests/test/cg/tprintf
  * changed tests/test/cg/cdecl/taoc5 to use explicit typecasts for
    floating point constants passed to C varargs functions.

git-svn-id: trunk@2949 -
2006-03-17 22:26:48 +00:00
Jonas Maebe
ab8f96f4cf * disabled i386 createtempparaloc again because it generates wrong
code in case of nested function calls with lots of arguments

git-svn-id: trunk@2948 -
2006-03-17 22:01:25 +00:00
florian
1b5e2b67b1 * compilation fixed
git-svn-id: trunk@2947 -
2006-03-17 21:16:15 +00:00
florian
49c88c469c * fixed some units to compile
git-svn-id: trunk@2946 -
2006-03-17 21:03:34 +00:00
florian
46a68c8a27 * fixed compilation
git-svn-id: trunk@2945 -
2006-03-17 21:01:50 +00:00
marco
b9e6cbb71b * fix for bug #4900. Probably result of tlargeinteger changing to int64, breaking alignment/padding
git-svn-id: trunk@2944 -
2006-03-17 20:17:15 +00:00
Jonas Maebe
f3ffa1400a * regenerated for new ppc release optimizer settings
git-svn-id: trunk@2943 -
2006-03-17 17:54:28 +00:00
Jonas Maebe
73356964b0 * -O1r -> -O2 for ppc release
git-svn-id: trunk@2942 -
2006-03-17 17:52:43 +00:00
Jonas Maebe
8a6ebdf274 - disabled loop unrolling for level 3 optimizations since it only causes
crashes (and even if it didn't, on its own it mainly causes code
    bloat)

git-svn-id: trunk@2941 -
2006-03-17 17:42:39 +00:00
Jonas Maebe
0232ab62cb * fixed compilation
git-svn-id: trunk@2940 -
2006-03-17 17:26:58 +00:00
oro06
8c3cc6007d *wince : api gdi update devmode
git-svn-id: trunk@2939 -
2006-03-17 14:00:27 +00:00
oro06
2dfd48497d *wince : api commctl update tabctrl const
git-svn-id: trunk@2938 -
2006-03-17 08:51:28 +00:00
joost
ce902aedee * fixed bug #4837, as suggested by submitter Tomasz Łobejko
git-svn-id: trunk@2937 -
2006-03-16 23:30:19 +00:00
joost
f491452803 * Implemented EIBDatabaseError with the GDSErrorCode
git-svn-id: trunk@2936 -
2006-03-16 23:20:00 +00:00
joost
c6bfbcfa91 * Handle postgresql text fields as ftString
git-svn-id: trunk@2935 -
2006-03-16 22:03:56 +00:00
florian
2a48eacea7 + standard assembler for x86-64
git-svn-id: trunk@2934 -
2006-03-16 19:54:18 +00:00
florian
38c132e8cb + added pass_left_right in second_mul, fixes the ie 200109092
git-svn-id: trunk@2933 -
2006-03-16 19:44:59 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
peter
eb725d4e44 Merged revisions 2908,2911,2913-2917 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2908 | peter | 2006-03-13 13:35:48 +0100 (Mon, 13 Mar 2006) | 2 lines

  * merge trunk upto r2907

........
r2911 | peter | 2006-03-13 18:08:00 +0100 (Mon, 13 Mar 2006) | 2 lines

  * rename values to make room for operand size codes

........
........
........
r2915 | peter | 2006-03-14 13:51:35 +0100 (Tue, 14 Mar 2006) | 2 lines

  * check aktcputype

........
r2916 | peter | 2006-03-14 15:06:32 +0100 (Tue, 14 Mar 2006) | 3 lines

  * merge 300 opcodes
  * more 64bit versions of opcodes

........
r2917 | peter | 2006-03-14 17:34:03 +0100 (Tue, 14 Mar 2006) | 3 lines

  * x86_64 tables
  * convert movq with normal registers to mov

........

git-svn-id: trunk@2931 -
2006-03-16 08:09:28 +00:00
Jonas Maebe
7d88ba2831 * shell() now also uses vfork() instead of fork() on Darwin
git-svn-id: trunk@2930 -
2006-03-15 22:00:58 +00:00
Jonas Maebe
5155de6d61 * fixed webtbs/tw2514 for darwin/i386 (and a similar bug for win32):
you get an internalerror if you try to keep a 0-byte record in
    a register (because the paramgr then tries to allocate a register
    of size OS_NO)

git-svn-id: trunk@2929 -
2006-03-15 21:48:32 +00:00
Jonas Maebe
2a90c43cea + turn on fpu exceptions for darwin/i386
git-svn-id: trunk@2928 -
2006-03-15 21:32:50 +00:00