Commit Graph

9916 Commits

Author SHA1 Message Date
pierre
f07349a774 * force S_IQ size for movq instruction, needed for nasm
git-svn-id: trunk@6835 -
2007-03-13 23:17:09 +00:00
florian
c4f65df9f9 * fixed expectloc setting
git-svn-id: trunk@6833 -
2007-03-13 22:45:41 +00:00
Jonas Maebe
168e652d42 + support for simplifying simple inline functions down to a single
constant node (rather than to just a blocknode with a statement
    assigning a constant to a temp)

git-svn-id: trunk@6832 -
2007-03-13 22:27:55 +00:00
Jonas Maebe
0f546da041 * docompare -> isequal
git-svn-id: trunk@6831 -
2007-03-13 21:56:41 +00:00
Jonas Maebe
cb16e8d3d0 * nothingn has a complexity of 0
* stop complexity calculation if we get to the end of a series of a
    statements instead of crashing

git-svn-id: trunk@6830 -
2007-03-13 21:56:25 +00:00
florian
8aa259401c * fixed x86-64
git-svn-id: trunk@6828 -
2007-03-13 21:12:40 +00:00
florian
1cd41b68f7 * compiler handled round/trunc for x86
git-svn-id: trunk@6827 -
2007-03-13 20:23:24 +00:00
Jonas Maebe
9d6026827d * fixed memory leak in dosimplify
git-svn-id: trunk@6825 -
2007-03-13 18:54:01 +00:00
Jonas Maebe
95ef3145fc * don't create debugging entries for generic typesyms, since they
refer to typedefs which aren't written out either
  * fixed longstring debuginfo and fixed overflow/range errors with
    in creating it on 64 bit systems

git-svn-id: trunk@6821 -
2007-03-13 14:51:47 +00:00
Jonas Maebe
f97d028e39 * never store/restore lr for nostackframe routines, even if debugging
is turned on

git-svn-id: trunk@6820 -
2007-03-13 14:50:26 +00:00
Jonas Maebe
691ad89ba5 * fixed rangecheck define typo
git-svn-id: trunk@6819 -
2007-03-13 14:49:03 +00:00
Jonas Maebe
1580e046ed * fixed missing swapleftright in case of substracting unsigned numbers
with overflow checking turned on

git-svn-id: trunk@6818 -
2007-03-13 12:57:06 +00:00
Jonas Maebe
1205d05ba4 * make variables not regable if they are referenced by an absolute
variable of a different size

git-svn-id: trunk@6817 -
2007-03-13 10:17:33 +00:00
Jonas Maebe
69cf42c4f7 * fixed val(s,int64) (it accepted values in the range
high(int64+1)..high(qword) if written in decimal notation) + test
  * fixed range checking of qword constants parsed by the compiler
    (they always gave a range error if > high(int64), because the compiler
     internally stores them as int64)
  * turn off range checking flag of rdconstnodes created by the parser
    from _INTCONST, because those are already range checked by the
    way they are parsed using val()

git-svn-id: trunk@6814 -
2007-03-12 22:22:43 +00:00
florian
47a9c9bc60 * use section smartlinking on arm-linux, experimental
git-svn-id: trunk@6812 -
2007-03-12 21:00:12 +00:00
florian
9f3d43ec09 + more cse invariant nodes added
git-svn-id: trunk@6805 -
2007-03-12 19:47:04 +00:00
Jonas Maebe
3b3060cec5 * fixed uninitialized result of handle_typed_read_write in
case no error occurred

git-svn-id: trunk@6802 -
2007-03-12 14:43:04 +00:00
florian
fb1afe0ea4 + set FPU* define properly
git-svn-id: trunk@6785 -
2007-03-11 17:16:23 +00:00
florian
60c5179366 * experimental ie fix for dispinterfaces with rtti
git-svn-id: trunk@6770 -
2007-03-10 16:32:49 +00:00
florian
dd45cf582f * set temp. start properly when omitting stackframe
git-svn-id: trunk@6761 -
2007-03-09 20:52:04 +00:00
florian
6cd5f3a3e7 + bool64bit support to ppudump
git-svn-id: trunk@6757 -
2007-03-09 19:39:20 +00:00
Jonas Maebe
6ba8db4dd4 * fixed a_op_const_reg(_reg)(OP_OR/OP_XOR,OS_S8/OS_S16) for ppc32
(is ok for ppc64)

git-svn-id: trunk@6756 -
2007-03-09 15:51:09 +00:00
peter
b054dcde56 * call procvar only in arguments when the return type matches or there are
no overloads, fixes 8462

git-svn-id: trunk@6748 -
2007-03-08 07:53:36 +00:00
Jonas Maebe
4c1d540a21 * changed cpurequiresproperalignment from a compile-time define into
a target flag, since some kernels may be able to handle alignment
    problems, and the alignment requirements may not be absolute (e.g. on
    ppc64, only 8 byte values need alignment, and only to 4 byte boundaries)
   -> linux/ppc64 has tf_requires_proper_alignment set in its target flags,
      darwin/ppc64 hasn't

git-svn-id: trunk@6745 -
2007-03-06 16:10:56 +00:00
Jonas Maebe
eae0ba86e7 * prefer a loadsize of 4 over 8 bytes for packed loads on 64 bit,
because unaligned 8 byte loads are much slower (at least on ppc64)
    than unaligned 4 byte loads

git-svn-id: trunk@6744 -
2007-03-06 15:51:41 +00:00
Jonas Maebe
c13ff3729b * Merged 2.3 branch changes:
+ darwin/ppc64 support
    + val/str/read(ln)/write(ln) support for enums
    + simple cse at the node tree level
    + if-node simplify support
    + simple ssa support for memory locations
    + support for optional overflow/rangecheck boolean parameters for
      operators
    * a lot of unification of the ppc32/ppc64 code generators


........
r6380 | jonas | 2007-02-08 21:25:36 +0100 (Thu, 08 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/tgobj.pas
   A /branches/fpc_2_3/tests/webtbs/tw8283.pp

  + support for replacing the memory location of a temp (including
    local variables) with that of another temp to avoid unnecessary
    copies (mantis #8283)

........
r6381 | jonas | 2007-02-08 22:53:36 +0100 (Thu, 08 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/nflw.pas
   A /branches/fpc_2_3/tests/webtbs/tw8282.pp

  + simplify support for ifn (based on patch by Florian)

........
r6386 | peter | 2007-02-09 13:48:53 +0100 (Fri, 09 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/htypechk.pas
   M /branches/fpc_2_3/compiler/ncal.pas
   M /branches/fpc_2_3/compiler/symconst.pas

  * overflow,rangecheck optional parameters for operators, patch from 8281

........
r6391 | jonas | 2007-02-09 23:52:13 +0100 (Fri, 09 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   M /branches/fpc_2_3/compiler/powerpc64/cpunode.pas
   D /branches/fpc_2_3/compiler/powerpc64/nppcinl.pas
   M /branches/fpc_2_3/compiler/ppcgen/ngppcinl.pas

  * merged fsqrt(s) support to common powerpc unit, activate for ppc32
    if -Op970 is used (still default for ppc64, since default cpu there
    is already ppc970)

........
r6394 | jonas | 2007-02-10 18:58:47 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * adapted a_jmp_name for darwin/ppc64
  * merged g_intf_wrapper for ppc32 and ppc64, and added darwin/ppc64
    support to it

........
r6396 | jonas | 2007-02-10 20:16:06 +0100 (Sat, 10 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cgobj.pas

  + darwin/ppc64 support for g_indirect_sym_load

........
r6397 | jonas | 2007-02-10 20:22:49 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  + darwin/ppc64 support to ppc64's fixref
  * moved ppc32 a_load_store to cgppc and use it for darwin/ppc64 as
    well (its relocatable symbols are only 32 bits large)

........
r6399 | jonas | 2007-02-10 22:02:37 +0100 (Sat, 10 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems.pas

  + system_x86_64_darwin identifier
  + set default source system for system_x86_64_darwin and
    system_powerpc64_darwin

........
r6404 | jonas | 2007-02-10 23:01:23 +0100 (Sat, 10 Feb 2007) | 5 lines
Changed paths:
   M /branches/fpc_2_3/compiler/aasmdata.pas
   M /branches/fpc_2_3/compiler/aggas.pas
   M /branches/fpc_2_3/compiler/cgobj.pas
   M /branches/fpc_2_3/compiler/cgutils.pas
   M /branches/fpc_2_3/compiler/cresstr.pas
   M /branches/fpc_2_3/compiler/dbgdwarf.pas
   M /branches/fpc_2_3/compiler/dbgstabs.pas
   M /branches/fpc_2_3/compiler/ncgutil.pas
   M /branches/fpc_2_3/compiler/ogelf.pas
   M /branches/fpc_2_3/compiler/pdecvar.pas
   M /branches/fpc_2_3/compiler/pmodules.pas
   M /branches/fpc_2_3/compiler/symdef.pas
   M /branches/fpc_2_3/compiler/systems.pas

  + system_x86_64_darwin identifier
  + systems_darwin set which collects all darwin variants
  + added support for darwin/ppc64 and darwin/x86_64 where needed in
    the generic code

........
r6406 | jonas | 2007-02-10 23:24:32 +0100 (Sat, 10 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cgobj.pas

  * ifdef cpu64 -> ifdef cpu64bit

........
r6409 | jonas | 2007-02-11 00:34:04 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/pdecvar.pas

  * fixed ppc64 compilation

........
r6413 | jonas | 2007-02-11 12:41:27 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/bsd/system.pp
   M /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   M /branches/fpc_2_3/rtl/darwin/signal.inc

  + darwin/ppc64 support for signal routines

........
r6415 | jonas | 2007-02-11 13:54:53 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_linux.pas

  * set abi of linux/ppc64 to abi_powerpc_sysv

........
r6416 | jonas | 2007-02-11 13:55:51 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cputarg.pas
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas
   M /branches/fpc_2_3/compiler/systems/t_bsd.pas

  + darwin/ppc64 source and target information

........
r6418 | jonas | 2007-02-11 14:19:55 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/powerpc64/math.inc

  * darwin/ppc64 compilation fixes

........
r6419 | jonas | 2007-02-11 14:22:22 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * darwin/ppc64 needs the 32 bit version of a_loadaddr_ref_reg

........
r6420 | jonas | 2007-02-11 14:22:55 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/utils/fpcm/fpcmmain.pp

  + darwin/ppc64 support

........
r6426 | jonas | 2007-02-11 16:13:19 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/rappcgas.pas

  * fixed refaddr parsing for darwin/ppc64

........
r6427 | jonas | 2007-02-11 16:14:21 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   M /branches/fpc_2_3/compiler/powerpc64/agppcgas.pas
   A /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas

  * moved ppc32/ppc64 assembler writer helpers to a common unit

........
r6430 | jonas | 2007-02-11 17:53:23 +0100 (Sun, 11 Feb 2007) | 4 lines
Changed paths:
   D /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   D /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc64
   A /branches/fpc_2_3/rtl/darwin/powerpc64/sig_cpu.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc64/sighnd.inc
   A /branches/fpc_2_3/rtl/darwin/ppcgen
   A /branches/fpc_2_3/rtl/darwin/ppcgen/ppchnd.inc (from /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc:6422)
   A /branches/fpc_2_3/rtl/darwin/ppcgen/sig_ppc.inc (from /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc:6422)
   M /branches/fpc_2_3/rtl/darwin/signal.inc

  * fixed ppc/ppc64 signal include handling (both real files are in
    ppcgen, dummies in powerpc and powerpc64 which include those files)
    (1st step because pre-commit filter can't handle replaced files)

........
r6431 | jonas | 2007-02-11 17:53:47 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   A /branches/fpc_2_3/rtl/darwin/powerpc/sig_cpu.inc
   A /branches/fpc_2_3/rtl/darwin/powerpc/sighnd.inc

  * second step of signal include patch

........
r6432 | jonas | 2007-02-11 19:00:12 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/t_bsd.pas

  * changed darwin checks to use systems_darwin constant

........
r6433 | jonas | 2007-02-11 19:05:38 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas

  * handle non-multiple-of-4 offsets with 64 bit loads/stores for
    darwin/ppc64

........
r6434 | jonas | 2007-02-11 19:05:56 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   D /branches/fpc_2_3/compiler/powerpc/agppcgas.pas
   D /branches/fpc_2_3/compiler/powerpc64/agppcgas.pas
   A /branches/fpc_2_3/compiler/ppcgen/agppcgas.pas (from /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas:6427)
   D /branches/fpc_2_3/compiler/ppcgen/agppcutl.pas

  * completely merged ppc assembler writers

........
r6435 | jonas | 2007-02-11 19:06:40 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/darwin/console.pp
   M /branches/fpc_2_3/rtl/darwin/termiosproc.inc

  * fixed 64 bit compilation

........
r6436 | jonas | 2007-02-11 19:09:28 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/packages/extra/Makefile.fpc

  * universal interfaces aren't 64 bit ready yet -> only compile for
    darwin/ppc and darwin/i386

........
r6438 | jonas | 2007-02-11 19:22:34 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/ctest.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext3.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext4.o
   A /branches/fpc_2_3/tests/test/cg/obj/darwin/powerpc64/tcext5.o

  + compiled for darwin/ppc64

........
r6439 | jonas | 2007-02-11 20:24:42 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ppcgen/cgppc.pas

  * patch from Thomas to fix linux/ppc64

........
r6440 | jonas | 2007-02-11 20:25:15 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems.pas

  * fixed setting source OS for darwin/ppc64

........
r6444 | florian | 2007-02-11 22:24:20 +0100 (Sun, 11 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/globtype.pas
   M /branches/fpc_2_3/compiler/nopt.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/optcse.pas
   M /branches/fpc_2_3/compiler/psub.pas

+ first node cse implementation

........
r6445 | jonas | 2007-02-11 22:30:07 +0100 (Sun, 11 Feb 2007) | 6 lines
Changed paths:
   M /branches/fpc_2_3/compiler/cresstr.pas

  * hack to work around strange darwin/ppc64 linker bug: it seems to
    have problems if you put a global symbol at the end of a section
    without any data following (at least in case of the resource strings
    section) -> add dummy byte at the end for darwin/ppc64 (otherwise
    it messes up the address of the first symbol stub entry)

........
r6449 | jonas | 2007-02-11 23:23:44 +0100 (Sun, 11 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * cpupowerpc is defined for both ppc32 and ppc64 ->
    changed to cpupowerpc32 to avoid defining source
    wrongly on ppc64

........
r6450 | jonas | 2007-02-11 23:26:34 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ppcgen/ngppcset.pas

  * disable jump tables for darwin/ppc64 for now, don't work
    yet for some reason

........
r6451 | florian | 2007-02-11 23:54:37 +0100 (Sun, 11 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncal.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/optcse.pas

* improved cse
* better complexity calculation for subscript nodes with classes or interfaces

........
r6456 | jonas | 2007-02-12 19:33:22 +0100 (Mon, 12 Feb 2007) | 4 lines
Changed paths:
   M /branches/fpc_2_3/compiler/nutils.pas

  + support for notn,shln,shrn,equaln,unequaln,gtn,gten,ltn,lten in
    node_cplexity()
  * mark muln,divn,modn as more complex

........
r6469 | jonas | 2007-02-13 15:56:01 +0100 (Tue, 13 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/optcse.pas

  * fixed when cross-compiling a 64 bit compiler from a 32 bit platform

........
r6471 | jonas | 2007-02-13 16:17:16 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cputarg.pas

  * include stabs support (can work on darwin/ppc64, but doesn't work
    yet)

........
r6473 | jonas | 2007-02-13 16:45:48 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/cgcpu.pas
   M /branches/fpc_2_3/compiler/powerpc64/cpupara.pas

  * R2 is a volatile and usable register under darwin/ppc64
  * R13 is a reserved non-volatile register under darwin/ppc64 (tls)

........
r6479 | jonas | 2007-02-13 20:40:50 +0100 (Tue, 13 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * maxCrecordalign seems to have to be 8 rather 4, in spite of what
    the ABI docs say (although they are contradictory to some extent)

........
r6487 | jonas | 2007-02-14 15:57:40 +0100 (Wed, 14 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/tests/webtbs/tw8153a.pp

  * fixed for darwin/ppc64

........
r6488 | jonas | 2007-02-14 15:58:56 +0100 (Wed, 14 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/tests/webtbs/tw7851a.pp

  * fixed for darwin/ppc64

........
r6494 | jonas | 2007-02-15 19:36:55 +0100 (Thu, 15 Feb 2007) | 3 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * set default debug info for darwin/ppc64 to dwarf2 since
    it works better than stabs currently

........
r6500 | jonas | 2007-02-15 21:38:16 +0100 (Thu, 15 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/version.pas

  * updated version to 2.3.0

........
r6505 | jonas | 2007-02-15 22:39:28 +0100 (Thu, 15 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/version.pas

  * changed version to 2.3.1

........
r6511 | jonas | 2007-02-16 15:17:24 +0100 (Fri, 16 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/powerpc64/itcpugas.pas

  * system_powerpc_darwin -> system_powerpc64_darwin

........
r6546 | daniel | 2007-02-18 15:48:54 +0100 (Sun, 18 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncginl.pas
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/ncgrtti.pas
   M /branches/fpc_2_3/compiler/ncnv.pas
   M /branches/fpc_2_3/compiler/ninl.pas
   M /branches/fpc_2_3/compiler/nld.pas
   M /branches/fpc_2_3/compiler/nutils.pas
   M /branches/fpc_2_3/compiler/pinline.pas
   M /branches/fpc_2_3/rtl/inc/astrings.inc
   M /branches/fpc_2_3/rtl/inc/compproc.inc
   M /branches/fpc_2_3/rtl/inc/sstrings.inc
   M /branches/fpc_2_3/rtl/inc/text.inc
   M /branches/fpc_2_3/rtl/inc/wstrings.inc

  + Val/str/read/write support for enumeration types.

........
r6547 | daniel | 2007-02-18 17:01:20 +0100 (Sun, 18 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/sstrings.inc

  * Fix val code that I broke.

........
r6571 | daniel | 2007-02-20 09:27:44 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/astrings.inc
   M /branches/fpc_2_3/rtl/inc/sstrings.inc
   M /branches/fpc_2_3/rtl/inc/text.inc
   M /branches/fpc_2_3/rtl/inc/wstrings.inc

  * o2s -> ord2str, s2o -> str2ord

........
r6572 | daniel | 2007-02-20 09:33:30 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgld.pas
   M /branches/fpc_2_3/compiler/ncgrtti.pas
   M /branches/fpc_2_3/compiler/ninl.pas
   M /branches/fpc_2_3/compiler/nld.pas

  * o2s -> ord2str, s2o -> str2ord

........
r6574 | daniel | 2007-02-20 12:07:58 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/compproc.inc

  * o2s -> ord2str, s2o -> str2ord

........
r6578 | daniel | 2007-02-20 22:18:49 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/rtl/inc/text.inc

  * Change longint to valsint.

........
r6579 | daniel | 2007-02-20 22:29:09 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * Handle ordinal currency types.

........
r6580 | jonas | 2007-02-20 22:29:11 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ncgrtti.pas

  * fixed compilation for cpurequiresproperalignment

........
r6581 | jonas | 2007-02-20 22:30:21 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * fixed typo

........
r6582 | daniel | 2007-02-20 22:36:19 +0100 (Tue, 20 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/ninl.pas

  * Set is_real to true.

........
r6590 | jonas | 2007-02-21 20:23:54 +0100 (Wed, 21 Feb 2007) | 2 lines
Changed paths:
   M /branches/fpc_2_3/compiler/systems/i_bsd.pas

  * set tf_dwarf_only_local_labels for darwin/ppc64

git-svn-id: trunk@6720 -
2007-03-04 20:16:57 +00:00
florian
224da99c63 * regenerated
git-svn-id: trunk@6715 -
2007-03-04 19:16:28 +00:00
florian
e6e1a3a09b * fixed assembling of sse instructions on x86-64 with regs > xmm7
git-svn-id: trunk@6714 -
2007-03-04 19:16:20 +00:00
Tomas Hajny
a62c2da154 * updates from Ido Kanner - synchronized with errore.msg r6685
git-svn-id: trunk@6707 -
2007-03-03 22:13:42 +00:00
Tomas Hajny
b512e234c9 * updates from Ido Kanner - synchronized with errore.msg r6685
git-svn-id: trunk@6706 -
2007-03-03 22:13:29 +00:00
florian
c3f22aae94 * fixed set+range on big endian systems
git-svn-id: trunk@6704 -
2007-03-03 19:51:34 +00:00
florian
cb746ec830 * propagate -Cfsoft to emulation settings on arm
git-svn-id: trunk@6703 -
2007-03-03 18:03:39 +00:00
florian
efb025310d * tried to restore old set behaviour for big endian targets
git-svn-id: trunk@6702 -
2007-03-03 17:52:55 +00:00
florian
29f201c10b * fixed default target setting for powerpc/powerpc64
git-svn-id: trunk@6701 -
2007-03-03 16:48:07 +00:00
florian
d48b98e8b9 * unified ies
git-svn-id: trunk@6700 -
2007-03-03 16:03:20 +00:00
florian
d5aea5e14a + powerpc lazarus project file
git-svn-id: trunk@6699 -
2007-03-03 14:53:15 +00:00
florian
b8af065523 * do check for non defined labels earlier to avoid ies in the cg
git-svn-id: trunk@6698 -
2007-03-03 14:52:46 +00:00
michael
6397ad6909 * Proper LaTeX environment ending
git-svn-id: trunk@6685 -
2007-02-28 21:29:45 +00:00
Jonas Maebe
615c450062 + support for bitpacking types with a negative lower bound
git-svn-id: trunk@6683 -
2007-02-28 17:42:41 +00:00
Jonas Maebe
7925bed48d * is_signed() only returns true for orddef's whose low value is < 0
(and not for all s8bit..s64bit types, since subrange types may
     be marked like that but not have a lower bound < 0).

    This is needed for bitpacking negative values, because e.g.
    both 0..7 and -3..3 can be stored in 3 bits, but 0..7 must be
    zero-extended when extracted (so must be unsigned) and -3..3 must
    be sign-extended when extracted (so must be considered signed)

git-svn-id: trunk@6682 -
2007-02-28 17:34:50 +00:00
peter
973c973081 * don't write alignment for .comm and .lcomm, it seems to be only
supported by i386-linux

git-svn-id: trunk@6675 -
2007-02-27 18:21:52 +00:00
peter
9676482f8e * fix array constructors that start with nil
git-svn-id: trunk@6673 -
2007-02-27 17:03:31 +00:00
peter
bf652ab1d2 * fixed att asmmode
git-svn-id: trunk@6672 -
2007-02-27 16:31:40 +00:00
oro06
18944f16e9 * wince doesn't like the lcomm with two parameters too
git-svn-id: trunk@6671 -
2007-02-27 08:07:50 +00:00
yury
7547f3a0c0 * Allow @ and ? characters in imported function name when AS is used. It fixes bug #8391.
+ test.

git-svn-id: trunk@6669 -
2007-02-26 17:51:38 +00:00
peter
e0729f1be1 * fixed typo
git-svn-id: trunk@6668 -
2007-02-26 17:16:10 +00:00
florian
bc73129bea * win32 doesn't like the lcomm with two parameters either
git-svn-id: trunk@6657 -
2007-02-25 21:19:44 +00:00
florian
821e6abae1 * better set_to_set for setconst nodes
git-svn-id: trunk@6656 -
2007-02-25 21:07:32 +00:00
florian
e3204bb902 * fixed arm-linux
git-svn-id: trunk@6654 -
2007-02-25 20:44:55 +00:00
florian
fd392dc2b6 * allow inherited; calling abstract methods in delphi mode, resolves #5896
git-svn-id: trunk@6651 -
2007-02-25 18:46:10 +00:00
peter
bb33395686 * support public also for initialized variables
git-svn-id: trunk@6650 -
2007-02-25 17:51:28 +00:00
peter
e4605f9b52 * fix range check error
git-svn-id: trunk@6649 -
2007-02-25 17:51:04 +00:00
Tomas Hajny
b130d4f30e * final period removed from -gp message
git-svn-id: trunk@6647 -
2007-02-25 16:55:34 +00:00
peter
70e0846275 * Add ATT as asmmode name to be compatible with i386
git-svn-id: trunk@6646 -
2007-02-25 16:47:50 +00:00
peter
8d9e138927 * removed -Bsymbolic, there was a namespace conflict between
the program and libraries that caused problems but that is now
    fixed by r6643

git-svn-id: trunk@6645 -
2007-02-25 16:44:02 +00:00
florian
9a0f769b2f * cleaned up set conversion
* fixed conversion of var sets

git-svn-id: trunk@6644 -
2007-02-25 16:29:39 +00:00
peter
47d0dd487e * use setmodulename for program/library
git-svn-id: trunk@6643 -
2007-02-25 16:24:59 +00:00
peter
e0c58d3658 * use .comm again for global variables
this is needed for shared library linking where the .so
    needs to resolve to the space allocated for the symbol in the
    main program

git-svn-id: trunk@6641 -
2007-02-25 16:05:57 +00:00
Jonas Maebe
358546ec2f * optimisatie/optimizatie/optimalizatie -> optimalisatie
* synchronised info regarding optimization switches with English version

git-svn-id: trunk@6640 -
2007-02-25 14:34:37 +00:00
daniel
4fc3703900 * Spelling improved.
git-svn-id: trunk@6638 -
2007-02-25 09:23:05 +00:00
Jonas Maebe
8bc876c3fb + support for bitpacked record constants
+ several array/record bitpacking tests from gpc, most work already

git-svn-id: trunk@6633 -
2007-02-24 17:39:06 +00:00
Jonas Maebe
cc1dfcae7e * fixed IE in case of trying to (un)pack an array of 0-byte records
git-svn-id: trunk@6631 -
2007-02-24 17:03:04 +00:00
peter
89ad4a083c * fixed setting of compiling_current
git-svn-id: trunk@6630 -
2007-02-24 15:55:58 +00:00
peter
2ea4c683db * don't disable -Xs when -g and -Xg is used
git-svn-id: trunk@6629 -
2007-02-24 15:12:44 +00:00
peter
9f3de7e809 * -Xg generates a separate file with the debug info sections
git-svn-id: trunk@6628 -
2007-02-24 15:06:31 +00:00
florian
301be02148 * forbid anonymous generic specializations
git-svn-id: trunk@6627 -
2007-02-24 10:06:53 +00:00
daniel
51ab3ef946 * Set SVN properties
git-svn-id: trunk@6624 -
2007-02-24 09:26:37 +00:00
florian
199ab92eb8 * fixed module index updating, resolves #7883
git-svn-id: trunk@6623 -
2007-02-23 23:15:58 +00:00
Jonas Maebe
25576b49ac * fixed loading/storing of unaligned bitfields of size 2 to 7 bits
git-svn-id: trunk@6619 -
2007-02-23 17:02:28 +00:00
michael
651c5c3b8c * Applied patch to preserve case in stabs info (-gp)
git-svn-id: trunk@6612 -
2007-02-23 10:43:42 +00:00
michael
42f610f710 * Applied patch to preserve case in stabs info (-gp)
git-svn-id: trunk@6611 -
2007-02-23 10:42:20 +00:00
Jonas Maebe
06208b5c5d * removed some unused code and associated variable
from parse_packed_array_def

git-svn-id: trunk@6605 -
2007-02-22 16:56:21 +00:00
Jonas Maebe
e2e1b7b857 * changed type of bool8bit from DW_ATE_unsigned_char to
DW_ATE_boolean (was already used for bool16bit and bool32bit,
    and seems to work fine in gdb)

git-svn-id: trunk@6604 -
2007-02-22 15:29:34 +00:00
Jonas Maebe
430351e424 * fixed 64 bit bug in a_load_subsetref_regs_noindex
git-svn-id: trunk@6602 -
2007-02-22 13:52:01 +00:00
Jonas Maebe
f7f295319f * fixed win32 and go32v2 compilation
git-svn-id: trunk@6600 -
2007-02-22 07:31:19 +00:00
peter
f7a6c1e2ee * only allow pointer(integer) in fpc modes
git-svn-id: trunk@6598 -
2007-02-22 07:01:47 +00:00
Jonas Maebe
90ea73a90b * more file handling from shortstring to tcmdstr
git-svn-id: trunk@6595 -
2007-02-21 21:54:54 +00:00
Jonas Maebe
9876d04bcd * fixed dwarf definition of longstring (avoids endless loop in
gdb when loading ref_def for longstring)

git-svn-id: trunk@6589 -
2007-02-21 19:07:45 +00:00
florian
05e0a804cc * fixes cardinal in reg -> real on x86-64, resolves #8225
git-svn-id: trunk@6588 -
2007-02-21 16:53:57 +00:00
peter
9a37c04131 * cardinal-cardinal is calculated using int64
* support pointer(int64) for all modes, this is needed to
    support pointer(cardinal+longint) and pointer(cardinal-cardinal)

git-svn-id: trunk@6586 -
2007-02-21 11:52:06 +00:00
Jonas Maebe
41bf70cf2a * reverted setdef change which got accidentally committed in r6573
git-svn-id: trunk@6585 -
2007-02-21 11:48:54 +00:00
Jonas Maebe
3794fab64d + support for packed array constants
git-svn-id: trunk@6583 -
2007-02-20 21:53:46 +00:00
florian
6588b2cb57 * fix resource embedding on arm-wince
git-svn-id: trunk@6576 -
2007-02-20 18:01:10 +00:00
Jonas Maebe
badf5c70a0 * split off tf_dwarf_only_local_labels from tf_dwarf_relative_addresses
git-svn-id: trunk@6573 -
2007-02-20 09:05:03 +00:00
florian
c2db154121 * forgotten commit
git-svn-id: trunk@6565 -
2007-02-19 19:42:22 +00:00
florian
4ceadcbc6e + infrastructure for target specific resourcefile classes
git-svn-id: trunk@6564 -
2007-02-19 19:02:21 +00:00
florian
2566e38eae * handle shortstrings like arrays and records when returning them from functions
git-svn-id: trunk@6563 -
2007-02-19 18:55:44 +00:00
florian
ffd79553a0 + prefetch support for arm
git-svn-id: trunk@6561 -
2007-02-19 17:27:07 +00:00
Jonas Maebe
59f3041e67 * completed ret-in-para support for dwarf (result was already
accessible since previous patch via the "result" name)

git-svn-id: trunk@6558 -
2007-02-19 13:00:22 +00:00
Legolas
aad1de9055 * changes in linker script and gcc handling
git-svn-id: trunk@6556 -
2007-02-18 23:07:59 +00:00
Jonas Maebe
d7b5cd4f14 * fixed debug info for pass-by-reference parameters in dwarf by
declaring them as C++-style reference types (todo: do the same
    for pass-by-reference function results)

git-svn-id: trunk@6554 -
2007-02-18 22:49:47 +00:00
daniel
81bccc253b * Add one more gpc ifdef
git-svn-id: trunk@6545 -
2007-02-18 14:15:30 +00:00
Jonas Maebe
42b58affc7 + pointer to vmt for classes and objects with a vmt
git-svn-id: trunk@6544 -
2007-02-18 14:06:14 +00:00
Jonas Maebe
f81303874f * fixed the size of class instances (instance size instead of
sizeof(pointer))
  * fixed the inheritance definition of classes (refer the
    structural definition of the parent class rather than the
    associated pointer type when indicating the inheritance)

git-svn-id: trunk@6543 -
2007-02-18 12:41:52 +00:00
daniel
5b827873a8 * Remove consoleio feature from gba & nds as well.
git-svn-id: trunk@6527 -
2007-02-17 16:42:04 +00:00
daniel
a662c5fedb + On GO32, GBA and NDS, disable RTL features that aren't implemented.
git-svn-id: trunk@6521 -
2007-02-17 09:10:27 +00:00
Jonas Maebe
d4160ca74f * fixed compilation after ifdef'ing of m_gpc
git-svn-id: trunk@6520 -
2007-02-17 00:27:26 +00:00
daniel
5aef9bc086 - Put gpc mode between ifdefs. The only thing it does it disable all
features, this is not gpc compatibility.

git-svn-id: trunk@6518 -
2007-02-16 23:13:28 +00:00
Jonas Maebe
0926c4c64d * properly set needstackframe for assembler routines
git-svn-id: trunk@6516 -
2007-02-16 22:13:11 +00:00
florian
3aa64eb6b4 * made vararrays working on win64
git-svn-id: trunk@6515 -
2007-02-16 20:12:34 +00:00
Jonas Maebe
9c9684b3a3 * r6498 for ppc64
git-svn-id: trunk@6502 -
2007-02-15 21:12:44 +00:00
Jonas Maebe
10ff422d90 * committed version change in wrong branch :/
git-svn-id: trunk@6499 -
2007-02-15 20:31:56 +00:00
Jonas Maebe
c4913ac85d * don't save stack pointer if we don't need to allocate a
stack frame but nevertheless have to store registers to
    the stack (not only optimization, but also needed because
    in that case no room for the stack pointer is reserved
    and thus it'll overwrite one of the saved registers!)

git-svn-id: trunk@6498 -
2007-02-15 20:25:36 +00:00
Jonas Maebe
ead7ecf73a * update version to 2.3.0
git-svn-id: trunk@6497 -
2007-02-15 20:16:38 +00:00
tom_at_work
3f9fd66ce5 * removed R13 from freely usable registers, is reserved for threading
git-svn-id: trunk@6496 -
2007-02-15 19:57:43 +00:00
yury
48e46f1c2e * Fixed error "Incompatible type for arg no. X: Got "Array Of Char", expected "Array Of PChar"" when passing values like ['1','2','3'] for "array of PChar" parameter.
+ Test added.

git-svn-id: trunk@6495 -
2007-02-15 19:43:35 +00:00
Jonas Maebe
90e83fcee6 * reset flag to generate dummy line info after each module
compilation, since the debuginfo class isn't destroyed/
    created all the time

git-svn-id: trunk@6493 -
2007-02-15 18:32:10 +00:00
Jonas Maebe
82378bc73a * support assigned widechars with value < 255 to chars in Delphi mode
* better error messages for assigning invalid values to typed consts
   (mantis #8312, patch by Thorsten Engler)

git-svn-id: trunk@6468 -
2007-02-13 13:35:46 +00:00
florian
4575c9f424 * fixed alignment of dyn. arrays
git-svn-id: trunk@6458 -
2007-02-12 18:41:21 +00:00
peter
6932845c31 * Revert r6285, it broke some type defs
* New fix for local type defs

git-svn-id: trunk@6453 -
2007-02-12 08:22:38 +00:00
florian
e8c48ab561 + eDSP instructions for arm
git-svn-id: trunk@6425 -
2007-02-11 15:10:27 +00:00
daniel
9256c180de * Fix register allocation bug that happens when a coalesced
move is spilled in its entirely.

git-svn-id: trunk@6408 -
2007-02-10 22:47:13 +00:00
florian
38dabf82da + insdat target for easier instruction table recreation
git-svn-id: trunk@6402 -
2007-02-10 21:50:02 +00:00
florian
08f48f5fc9 * completed jrcxz support
git-svn-id: trunk@6401 -
2007-02-10 21:14:05 +00:00
florian
a19ed91cc3 * fix for jcxz, jecxz and jrcxz on 64 bit platforms
git-svn-id: trunk@6400 -
2007-02-10 21:05:27 +00:00
Jonas Maebe
9813a8708c * fixed encoding of jcxz
git-svn-id: trunk@6398 -
2007-02-10 20:38:38 +00:00
florian
c5d56702ff * properly align case target labels
git-svn-id: trunk@6395 -
2007-02-10 18:42:25 +00:00
Jonas Maebe
530d5c125d * limit the left hand side of "in" expressions to 2^32 for now
(fixes webtbs/tw8258 for 64 bit platforms)

git-svn-id: trunk@6393 -
2007-02-10 16:20:47 +00:00
peter
a48c9fe3a0 * cleanup r6369
git-svn-id: trunk@6385 -
2007-02-09 12:34:13 +00:00
tom_at_work
99bc1ccb75 * merged some code which was ifdefed separately for POWERPC and POWERPC64 code but is equal
git-svn-id: trunk@6383 -
2007-02-08 22:52:11 +00:00
tom_at_work
635117218e * fix incorrect generation of huge static arrays on 64 bit systems; however, GAS only supports 2^31-1 sized ones
git-svn-id: trunk@6382 -
2007-02-08 22:11:27 +00:00
Jonas Maebe
1863fb4c55 * make more use of location_force_register in in-code, should fix
cycle on x86-64

git-svn-id: trunk@6376 -
2007-02-08 14:14:32 +00:00
Jonas Maebe
21cef2cdb1 * r6372 for x86(-64)
git-svn-id: trunk@6373 -
2007-02-07 23:10:54 +00:00
tom_at_work
dc21781f1d * fix compilation for 64 bit platforms,
as suggested by Jonas

git-svn-id: trunk@6372 -
2007-02-07 23:05:19 +00:00
pierre
62b810700a * fix for webbug 8270
git-svn-id: trunk@6369 -
2007-02-07 21:00:14 +00:00
Jonas Maebe
3e5f64e16f * increased ppu version for setdef patch
git-svn-id: trunk@6366 -
2007-02-07 20:33:10 +00:00
florian
247a8b2698 * indoniesan language update by Zaenal Mutaqin
git-svn-id: trunk@6364 -
2007-02-07 20:28:54 +00:00
Jonas Maebe
f38d29cfab * optimized previous patch for "byte in set" (Thorsten Engler)
* fixed storing/loading of setdefs to/from ppu + test (Thorsten Engler)
  * fixed ppudump for new setdef format in ppus

git-svn-id: trunk@6363 -
2007-02-07 20:22:29 +00:00
florian
e2633cb47d * linker stuff for symbian by Felipe Monteiro de Carvalho
* updated symbian rtl makefile by Felipe Monteiro de Carvalho

git-svn-id: trunk@6361 -
2007-02-07 19:44:55 +00:00
Jonas Maebe
fc3852e59a * in non-TP modes, 'ord_larger_than_256 in set' now always returns
false instead of triggering a range error (mantis #8258,
    based on patch provided by Thorsten Engler)

git-svn-id: trunk@6357 -
2007-02-07 18:57:19 +00:00
florian
eb8b2fb138 * be more carefull with unaligned load optimization
git-svn-id: trunk@6356 -
2007-02-07 17:43:56 +00:00
florian
a800b2a3d3 * fixed interference generation for top_local
git-svn-id: trunk@6343 -
2007-02-04 20:43:31 +00:00
florian
c5d8e53758 * last commit fixed
git-svn-id: trunk@6338 -
2007-02-04 18:50:22 +00:00
florian
3609ddc5dd * more MustBeLast fixes
* const insertation algorithm fixed

git-svn-id: trunk@6337 -
2007-02-04 18:45:43 +00:00
florian
762bd12d16 * handle embedded case jump tables correctly
git-svn-id: trunk@6333 -
2007-02-04 14:33:57 +00:00
Jonas Maebe
674660d53b * getting the length of a string means that it has to be
valid and marks it as really read (mantis #8264)

git-svn-id: trunk@6327 -
2007-02-03 21:28:44 +00:00
michael
644795c316 * Improved hebrew translations from Ido Kanner
git-svn-id: trunk@6326 -
2007-02-03 19:53:26 +00:00
florian
35b9bfc83e * several range check errors fixed
git-svn-id: trunk@6324 -
2007-02-03 19:36:06 +00:00
Jonas Maebe
359c19ee9e - removed ppc601 as ppc32 cpu target
+ added ppc740 (g3), ppc7400 (G4) and ppc970 (G5) as ppc32 cpu
    targets
  * initialise optimizecputype by default to ppc7400 for ppc32 and to
    ppc970 for ppc64
  * merged ppc32/ppc64 overflow checking code and use the ppc64 one
    in case cputype or optimizecputype >= ppc970, because one of
    the instructions used in the ppc32 version no longer exists on the
    ppc970 (although it's emulated in the kernel on at least Mac OS X)
  * moved some other support routines and constants to ppcgen which
    were needed for the overflow checking (were identical for ppc32 and
    ppc64) 

git-svn-id: trunk@6323 -
2007-02-03 19:32:44 +00:00
florian
8d33f640d4 * stop conditional optimization at mov pc,...
git-svn-id: trunk@6321 -
2007-02-03 17:40:32 +00:00
Jonas Maebe
4d97044bba * mark whether or not procsyms are global (DW_AT_external)
git-svn-id: trunk@6314 -
2007-02-02 23:18:15 +00:00
Jonas Maebe
7a65ffac28 * use DW_FORM_ref4 instead of DW_FORM_ref_addr on
tf_dwarf_relative_addresses platforms
  * also add a file to the line info section if no code in the current
    module to make gdb happy when doing a "maintenance check-symtabs"

git-svn-id: trunk@6313 -
2007-02-02 23:16:47 +00:00
florian
d09295b686 * shift folding
git-svn-id: trunk@6312 -
2007-02-02 23:12:08 +00:00
florian
01b23ca896 * improved last commit
git-svn-id: trunk@6309 -
2007-02-02 22:47:29 +00:00
florian
d0b34fef46 * safe an loadaddr for simple references when generating unaligned accesses
git-svn-id: trunk@6308 -
2007-02-02 22:43:30 +00:00
florian
986a73c12c * arm compiler can handled misaligned references
git-svn-id: trunk@6307 -
2007-02-02 22:42:27 +00:00
peter
06698d6e1b * explicitly use shortstring for TFPHashList
git-svn-id: trunk@6303 -
2007-02-02 18:58:29 +00:00
Jonas Maebe
ea6204cc56 * only mark abstract varsyms as externally visible if they
are not kept in a register and either
    a) are in a globalsymtable
    b) are marked as static object/class member
    c) are marked as "public"

git-svn-id: trunk@6302 -
2007-02-02 17:31:26 +00:00
Jonas Maebe
bf38367b69 * if a module has no procedure/function/init/final code,
add a dummy entry to the lineinfo and finish it properly
    (needed for at least the Darwin linker)

git-svn-id: trunk@6301 -
2007-02-02 17:23:42 +00:00
Jonas Maebe
d39d06ea01 * initial fixes if tf_dwarf_relative_addresses is set:
* store dataptr as a relative offsets instead of absolute addresses
    * only place local (address) labels inside the debug_info section
     -> also always write debuginfo of defs used from another unit
  * don't use DW_LNS_advance_pc on Darwin, because its assembler doesn't
    support the .uleb128 pseudo-opcode -> impossible to store the difference
    between two labels as an uleb128
  ->  basic functionality of dwarf2 debug info now works on Darwin. Not
      yet workingon Darwin: accessing globals of another compilation unit.

git-svn-id: trunk@6300 -
2007-02-02 16:00:47 +00:00
Jonas Maebe
d99a616167 * simplified use_64bit_headers code to avoid if-statement blowups
when adding tf_dwarf_relative_addresses support

git-svn-id: trunk@6299 -
2007-02-02 14:36:56 +00:00
Jonas Maebe
1b25984563 + new tf_dwarf_relative_addresses target flag for platforms where all
addresses which are specified as relative offsets in the dwarf
    spec must actually be emitted as relative offsets by the compiler
    (only set for Darwin currently, not yet used)

git-svn-id: trunk@6298 -
2007-02-02 13:49:26 +00:00
Jonas Maebe
3067415fe4 * replaced hardcoded '.L' label prefixes with target_asm.labelprefix
git-svn-id: trunk@6295 -
2007-02-02 10:38:46 +00:00
tom_at_work
75e343e030 * inline sqrt since it is a mandatory instruction on PPC970 processors (and much faster than the generic routine)
git-svn-id: trunk@6286 -
2007-02-01 19:52:09 +00:00
Jonas Maebe
a4a35ced37 * fixed debugging info for local type definitions
git-svn-id: trunk@6285 -
2007-02-01 17:31:47 +00:00
Jonas Maebe
73c853757a * proper section names for sec_debug_line, sec_debug_info and
sec_debug_abbrev on darwin

git-svn-id: trunk@6284 -
2007-02-01 15:46:33 +00:00
florian
d50bc40cbe * simplified code generation for paramaddr for a register parameter
git-svn-id: trunk@6276 -
2007-01-31 16:36:34 +00:00
Jonas Maebe
1a32e4fdf5 * fixed pushing of words in intel assembler (indirectly related to
wrong bug report 7808)

git-svn-id: trunk@6274 -
2007-01-30 21:52:11 +00:00
florian
b16b9d5251 * don't load a spilled register between mov lr,pc mov pc,<reg>
git-svn-id: trunk@6273 -
2007-01-30 21:34:26 +00:00
florian
2167655902 * patch from Thorsten Engler submitted in #8235
git-svn-id: trunk@6272 -
2007-01-30 19:53:42 +00:00
Jonas Maebe
0650ebe3f2 * fixed tbf/tb0063
git-svn-id: trunk@6271 -
2007-01-30 15:53:52 +00:00
Jonas Maebe
9a75d308a8 * fixed missing lineinfo after removing inlining_procedure (missed a "not" in
a condition)

git-svn-id: trunk@6270 -
2007-01-30 15:30:47 +00:00
Jonas Maebe
cf508ece4f * fixed previous commit for -gv
git-svn-id: trunk@6267 -
2007-01-29 15:35:12 +00:00
Jonas Maebe
246f75c43a - removed inlining_procedure global var (artefact from pass_2 inlining)
git-svn-id: trunk@6266 -
2007-01-29 15:33:56 +00:00
Jonas Maebe
d6a4fbea47 * removed no longer used allow_only_static global variable
git-svn-id: trunk@6265 -
2007-01-29 14:49:28 +00:00
florian
0fd3498892 * fixed longint -> real, was broken in 6153
git-svn-id: trunk@6257 -
2007-01-28 21:27:21 +00:00
florian
77b155ea79 * def.size in [1,2,4,8] goes wrong if def.size>255, fixed, resolves #8232
git-svn-id: trunk@6245 -
2007-01-28 18:06:51 +00:00
tom_at_work
a0813b42bf * fixed DWARF debug info for powerpc64/linux, correcting the procedure entry symbol (must be the dotted symbol, not the function descriptor location, otherwise gdb cannot find locals
git-svn-id: trunk@6242 -
2007-01-28 12:12:12 +00:00
daniel
e8050233af + Patch by Thorsten Engler to optimize string comparisons for = and <> cases. (Mantis #8231)
git-svn-id: trunk@6241 -
2007-01-28 10:58:52 +00:00
florian
c6d3bc813f * fixes #8229
git-svn-id: trunk@6238 -
2007-01-28 08:21:08 +00:00
Jonas Maebe
2ea611e069 * fixed searching fpc.cfg on {$ifdef need_path_search} OS'es
git-svn-id: trunk@6237 -
2007-01-27 20:58:26 +00:00
florian
7b39b54951 * set starttime earlier so time stamps don't get messed up
git-svn-id: trunk@6228 -
2007-01-27 13:45:49 +00:00
chrivers
997f254ff7 * Fixed crash bug with IMPLEMENTS due to the changes earlier today. (No longer dereferences VtblImplIntf when we should not)
git-svn-id: trunk@6221 -
2007-01-26 23:50:09 +00:00
chrivers
0249f07fa9 * Renamed IIOffset to FieldOffset to avoid confusion with IOffset (TImplementedInterface)
git-svn-id: trunk@6219 -
2007-01-26 23:03:40 +00:00
Jonas Maebe
da942bdc58 * .NOTPARALLEL target so cycle works with make -j for targets whose
rtl makefile has all dependencies properly defined (e.g. darwin)

git-svn-id: trunk@6216 -
2007-01-26 22:46:44 +00:00
tom_at_work
106fe68ce6 * renamed TStringList to TCmdStrList, in general use TCmdStr instead of shortstrings to fix bug #6351
git-svn-id: trunk@6215 -
2007-01-26 22:29:39 +00:00
chrivers
0e6348e7b7 * Renamed "fieldoffset" to "iioffset" to avoid confusion with fieldvarsym.fieldoffset
git-svn-id: trunk@6214 -
2007-01-26 22:11:39 +00:00
chrivers
83f5a5747c * Renamed "fieldoffset" to "iioffset" to avoid confusion with fieldvarsym.fieldoffset
git-svn-id: trunk@6213 -
2007-01-26 22:11:23 +00:00
chrivers
5e94d3f550 * Updated nobj to match moved iitype field to TImplementedInterface
git-svn-id: trunk@6212 -
2007-01-26 22:04:07 +00:00
chrivers
cf04dc0fa1 * Moved iitype iioffset from tobjectdef to TImplementedInterface
git-svn-id: trunk@6211 -
2007-01-26 22:01:25 +00:00
chrivers
ceda666d13 * Added several more checks for invalid usage of implements-keyword
git-svn-id: trunk@6210 -
2007-01-26 21:58:27 +00:00
ivost
c0e9be49b8 * fixed bug related to IMPLEMENTS keyword. The interface type was stored inside the interface defintion what was wrong! now it's set per TImplementedInterface$
* merged IOffset and EntryOffset of TInterfaceEntry. The meaning of IOffset depends now on IType
    * to optimize: IOffset and FieldOffset of TImplementedInterface can be merged also! fpc still generate an interfacetable entry even for interfaces that aren't implemented in the current class (redirected by IMPLEMENTS keyword)

git-svn-id: trunk@6206 -
2007-01-26 20:58:46 +00:00
Jonas Maebe
d614eab0fb * don't call afterconstruction/beforedestruction in case an exception
is raised in a constructor (mantis 8222)

git-svn-id: trunk@6202 -
2007-01-26 17:38:53 +00:00
florian
e923c6072d * handle stack parameters like delphi when using register calling conventions, resolves #8199
git-svn-id: trunk@6201 -
2007-01-26 17:38:46 +00:00
Jonas Maebe
c0e9782da9 * regenerated message text files with new stabs disabling message
git-svn-id: trunk@6200 -
2007-01-26 12:44:05 +00:00
Jonas Maebe
44dffffdf2 * undid accidental commit of partial TCmdStrListItem change
git-svn-id: trunk@6199 -
2007-01-26 12:42:20 +00:00
Jonas Maebe
5fde39cd69 * reinstated trashing of out parameters with -gt (see mantis 8216,
fix for the compiler was in symtable.pas)

git-svn-id: trunk@6198 -
2007-01-26 10:26:35 +00:00
Jonas Maebe
becd64bfb7 * set srdef to nil if nothing found in searchsym_in_class_by_msgint
git-svn-id: trunk@6197 -
2007-01-26 10:04:32 +00:00
pierre
4f35aabebb + use new assembler flag: af_no_debug
git-svn-id: trunk@6196 -
2007-01-26 05:06:37 +00:00
pierre
99969eb3c5 + new assembler flag: af_no_debug
git-svn-id: trunk@6195 -
2007-01-26 05:05:37 +00:00
pierre
b172694e82 + new warning for assembler that does not support debug information
git-svn-id: trunk@6194 -
2007-01-26 05:04:07 +00:00
Jonas Maebe
846fbf9fa0 * fixed several (harmles) range errors
git-svn-id: trunk@6192 -
2007-01-25 21:43:11 +00:00
Jonas Maebe
7dac4c57c2 + add -gttt to extcycle
git-svn-id: trunk@6191 -
2007-01-25 21:38:24 +00:00
florian
1d3a9cd87a * fixing writing of setdefs
* fixed copying of setdefs
* increased ppu version

git-svn-id: trunk@6189 -
2007-01-25 19:29:54 +00:00
Jonas Maebe
fae803869f * don't typecast the localst of the main program to a localsymtable
git-svn-id: trunk@6188 -
2007-01-25 17:12:49 +00:00
Jonas Maebe
e541f19ef5 * fixed debug info generation for static symbols + IE in case it cannot
be generated (rather than an undefined function result)

git-svn-id: trunk@6187 -
2007-01-25 17:07:26 +00:00
Jonas Maebe
d3ea2fa9e3 - removed some unneeded and sometimes wrong typecasts (could be
typeconv nodes as well rather than direct setelementn)

git-svn-id: trunk@6186 -
2007-01-25 15:19:47 +00:00
Jonas Maebe
ee2a4bc8f2 * fixed range errors
git-svn-id: trunk@6185 -
2007-01-25 15:19:00 +00:00
Jonas Maebe
879a1594e1 * don't trash out parameters, because the caller may expect them to be
unchanged in case the callee doesn't touch them (e.g. srdef in pexpr.pas)
  * extra safety to not trash any typed constants and initialised variables

git-svn-id: trunk@6184 -
2007-01-25 15:11:23 +00:00
Jonas Maebe
cc67ed17b5 * fixed uninitialised variable (mantis 8198, already tested by
webtbs/tw3931a.pp)

git-svn-id: trunk@6183 -
2007-01-25 11:43:15 +00:00
Jonas Maebe
cdb67cfc8b * fixed bug with set comparisons after r6172
git-svn-id: trunk@6181 -
2007-01-24 22:28:25 +00:00
Jonas Maebe
63ebc2a1b8 * fixed include/exclude for big endian after r6172
git-svn-id: trunk@6179 -
2007-01-24 21:53:05 +00:00
florian
dac9896a6d + added -vs for time stamping
git-svn-id: trunk@6176 -
2007-01-24 20:32:06 +00:00
florian
3ce0e329bd * varsets shouldn't be enabled in the compiler currently
git-svn-id: trunk@6175 -
2007-01-24 20:31:30 +00:00
florian
2579cd139f + support for sets with size 1 and 2
git-svn-id: trunk@6172 -
2007-01-24 20:06:56 +00:00
Jonas Maebe
4765364816 * don't give a warning for {$u-} (means "Pentium-safe fdiv off", is only
behaviour that fpc supports)

git-svn-id: trunk@6171 -
2007-01-24 19:49:16 +00:00
Jonas Maebe
c866400823 + support for VMTOFFSET in assembler readers to get VMT offset of virtual
methods (mantis #8153)

git-svn-id: trunk@6168 -
2007-01-24 18:26:23 +00:00
Jonas Maebe
e1c994a3be * don't call blockwrite if there's nothing to write
git-svn-id: trunk@6166 -
2007-01-24 16:05:39 +00:00
Jonas Maebe
228943271f * increased AsmOutSize from 32kb to 128kb, makes external assembling a
little faster

git-svn-id: trunk@6165 -
2007-01-24 15:44:36 +00:00
Jonas Maebe
c1df4454fe * cmpxchg8b doesn't have a size suffix
git-svn-id: trunk@6164 -
2007-01-24 15:15:04 +00:00
Jonas Maebe
1218322f8c * cs_generate_stackframes (w+/-) should only apply to normal routines,
not to pure assembler routines

git-svn-id: trunk@6159 -
2007-01-24 10:08:17 +00:00
Jonas Maebe
11528c9da6 * better fix for tw8171 (now also works for with-statements)
git-svn-id: trunk@6158 -
2007-01-24 09:55:45 +00:00
Jonas Maebe
14a95ccdc3 * fixed r6149
git-svn-id: trunk@6157 -
2007-01-24 09:33:34 +00:00
florian
4e69739a78 * fixed dword -> single
git-svn-id: trunk@6155 -
2007-01-23 22:12:13 +00:00
florian
df44f7c231 * fixed dword -> double in fpa mode
git-svn-id: trunk@6153 -
2007-01-23 21:07:09 +00:00
Jonas Maebe
ddd071b2e4 + support for Delphi's {$w-/+} switch (force stackframe generation for
assembler routines or not) (mantis #6687)

git-svn-id: trunk@6151 -
2007-01-23 19:07:56 +00:00
Jonas Maebe
ed13c7f60e + support for [recordfield.field] in assembler blocks in methods in
intel assembler (mantis 8171)

git-svn-id: trunk@6150 -
2007-01-23 17:34:11 +00:00
Jonas Maebe
fcb128c66c * don't trash reference counted types with -gt (mantis 8183)
git-svn-id: trunk@6149 -
2007-01-23 16:49:59 +00:00
pierre
35648b3de5 * reinstate code dealing with browser switches
git-svn-id: trunk@6146 -
2007-01-23 05:53:30 +00:00
pierre
30cdc88e5f * move broser information generation to a place where the infos are still valid
git-svn-id: trunk@6145 -
2007-01-23 05:52:42 +00:00
pierre
0c1d59ec5c * Use IncRefCount
git-svn-id: trunk@6144 -
2007-01-23 05:51:08 +00:00
pierre
e3651191f5 * Use IncRefCount
git-svn-id: trunk@6143 -
2007-01-23 05:49:32 +00:00
pierre
f82d47e370 * Use IncRefCountBy
git-svn-id: trunk@6142 -
2007-01-23 05:49:05 +00:00
pierre
0cfa2a6aad * Use IncRefCountBy in convert-operator
git-svn-id: trunk@6141 -
2007-01-23 05:47:59 +00:00
pierre
1c77710813 + added code for reference list creation for tsym
+ tsym.IncRefCount both increments refs and creates a reference entry
 + tsym.IncRefCountBy only increments refs

git-svn-id: trunk@6140 -
2007-01-23 05:46:29 +00:00
pierre
11be490034 + use reinstated browser switches
git-svn-id: trunk@6139 -
2007-01-23 05:42:22 +00:00
pierre
95b126b364 + reinstate browser switches
git-svn-id: trunk@6138 -
2007-01-23 05:41:26 +00:00
pierre
4466f3c2cd + new unit to handle references
git-svn-id: trunk@6137 -
2007-01-23 05:40:26 +00:00
peter
79720fa7d8 * also queue source file info for ppu reporting
git-svn-id: trunk@6132 -
2007-01-22 20:17:46 +00:00
peter
5a68a743fc * remove invalid aword typecast
git-svn-id: trunk@6131 -
2007-01-22 19:40:31 +00:00
florian
5c74d8078a * take result register size from funcretloc
git-svn-id: trunk@6116 -
2007-01-21 22:55:35 +00:00
florian
c16c124562 * handle pc relative offsets in ldf/stf correctly
git-svn-id: trunk@6115 -
2007-01-21 22:55:12 +00:00
Jonas Maebe
bb0bd621d4 * more epxlanation about the "elsewhere"
git-svn-id: trunk@6114 -
2007-01-21 22:22:54 +00:00
Jonas Maebe
a32da9bc10 * fixed comment about assembler directive handling and stack frames
git-svn-id: trunk@6113 -
2007-01-21 22:21:20 +00:00
Jonas Maebe
302a2a3ec2 * fixed calling qualified methods in assembler + tests for ppc/ppc64/
i386/x86_64

git-svn-id: trunk@6112 -
2007-01-21 22:16:42 +00:00
tom_at_work
89257f94c6 * do not convert input of unaryminusnode to sint if the original is currency; fixes tfloattostr for 64 bit platforms which use int64 as currency type
git-svn-id: trunk@6110 -
2007-01-21 22:09:32 +00:00
Jonas Maebe
c9148d67a9 * support for {$z+/-} (={$z4/1})
git-svn-id: trunk@6109 -
2007-01-21 22:08:53 +00:00
florian
01f03a69cb * outdated
git-svn-id: trunk@6103 -
2007-01-21 17:55:44 +00:00
Jonas Maebe
b951947b64 * partially fixed Delphi compatibility for assembler procedures: in case
only parameters on the stack are passed and if the function result is
    not referenced, don't allocate a stackframe. Fixes mantis 8155, but
    see that bug report for other rules (there's one error there: Delphi
    *does* allocate a function result for non-string/variant/interface
    if @result is referenced)

git-svn-id: trunk@6102 -
2007-01-21 16:53:59 +00:00
florian
7d3d64e2ec * fixed #8156
git-svn-id: trunk@6101 -
2007-01-21 16:15:19 +00:00
florian
eda8184e21 * problem with virtual methods and interfaces fixed, fixes #8158
git-svn-id: trunk@6099 -
2007-01-21 15:57:16 +00:00
yury
3fba2975a2 * proper fix for r6069. Double quotes should not be used in makefiles because on Windows make creates batch file for executing programs with double quotes in parameters. It leads to strange errors.
* Now make cycle works on Win9x and make cross cycle works on all Windows.

git-svn-id: trunk@6097 -
2007-01-21 15:14:18 +00:00
florian
2da51bce72 + cmpxchg16b
git-svn-id: trunk@6095 -
2007-01-21 11:04:19 +00:00
tom_at_work
8e3112acfe * fixed generation of branch labels in stubs of functions exported by a library (require a dot prefix on ppc64/linux; fixes tlibrary2)
git-svn-id: trunk@6092 -
2007-01-20 22:16:23 +00:00
peter
70fc3274e2 * minor fixes from mantis 8132
git-svn-id: trunk@6091 -
2007-01-20 21:06:54 +00:00
Jonas Maebe
4e96fe8fac * fixed with-support for classrefdefs (mantis 8150), with thanks to
Thorsten Engler for supplying an initial patch

git-svn-id: trunk@6088 -
2007-01-20 20:04:54 +00:00
Jonas Maebe
4d1f213889 * fixed gprof support for darwin/ppc32 (although the output from gprof
isn't very useful, since it discards all symbols which contain a '$')

git-svn-id: trunk@6080 -
2007-01-19 21:43:12 +00:00
Jonas Maebe
a3f059bc29 * call the ansistring version of val for zero-based array-of-char
parameters (because they can be auto-converted to ansistring, but not
    to shortstring) (mantis #8148)

git-svn-id: trunk@6076 -
2007-01-19 18:22:03 +00:00
Jonas Maebe
3e153102a8 * fixed calling class methods via classrefdefs (mantis #8145)
git-svn-id: trunk@6075 -
2007-01-19 18:05:58 +00:00
Jonas Maebe
6c05674d51 * fixed overload checking of virtual and class methods (mantis #8140)
* fixed "overload" keyword checking in Delphi mode

git-svn-id: trunk@6074 -
2007-01-19 17:20:36 +00:00
Jonas Maebe
ea5a5ad02c * added missing abi field initialisation
git-svn-id: trunk@6072 -
2007-01-19 13:59:17 +00:00
Jonas Maebe
2ad3ef968f * properly detect when we can't take the address of a with-expression
and assign it to a temp in that case (mantis #8141)

git-svn-id: trunk@6071 -
2007-01-19 13:01:07 +00:00
yury
2219e9fa45 * fixed: wrong fpc executable was used when doing make cycle to create cross compiler.
git-svn-id: trunk@6069 -
2007-01-19 12:38:05 +00:00
pierre
31e650f98d fix another memory leak
git-svn-id: trunk@6068 -
2007-01-19 05:43:40 +00:00
pierre
d5e4828f6f * avoid memory leak for copy of withnode in tempnodes
git-svn-id: trunk@6067 -
2007-01-19 05:12:08 +00:00
pierre
67fd7833cd * Use GetStr to get pstring values
git-svn-id: trunk@6063 -
2007-01-19 01:39:53 +00:00
pierre
903d6db366 * avoid redefinition of source OS
git-svn-id: trunk@6062 -
2007-01-19 01:38:29 +00:00
Jonas Maebe
1fb6bc1cba * updated copyright message for 2007
git-svn-id: trunk@6059 -
2007-01-18 21:51:54 +00:00
peter
fc63672012 * forgot to add files
git-svn-id: trunk@6054 -
2007-01-18 20:30:58 +00:00
peter
78499f85dd * symbian support from Felipe
git-svn-id: trunk@6051 -
2007-01-18 20:24:10 +00:00
yury
c5deb38154 * removed -dNOOPT for ARM because -O2 works good now.
git-svn-id: trunk@6037 -
2007-01-18 00:39:39 +00:00
florian
42cf5f7b2b * don't do tail recursion optimization on types requiring init/final code
git-svn-id: trunk@6031 -
2007-01-17 22:02:42 +00:00
florian
2fabc692fa * fixed memory leaks
* cleaned up some stuff

git-svn-id: trunk@6025 -
2007-01-17 14:00:36 +00:00
Jonas Maebe
f2b07704b5 * proper initialised/used warnings for variables used
in complex with-statements + tests

git-svn-id: trunk@6024 -
2007-01-17 12:04:53 +00:00
Jonas Maebe
3d99dcc178 * object constructors/methods obviously can also read the object
git-svn-id: trunk@6022 -
2007-01-17 10:09:41 +00:00
pierre
cc73d6e147 * postpone some freeing if SymbolInfo is needed
git-svn-id: trunk@6018 -
2007-01-17 05:46:21 +00:00
pierre
fa2a66c48d + Reintroduce SymbolInfo functions
git-svn-id: trunk@6017 -
2007-01-17 05:45:07 +00:00
pierre
71c5820780 * trying to resurrect Browser
git-svn-id: trunk@6016 -
2007-01-17 05:43:22 +00:00
pierre
57d944bbfe + needsymbolinfo boolean var added
git-svn-id: trunk@6015 -
2007-01-17 05:41:52 +00:00
pierre
7145c25260 * avoid level 2 comments
git-svn-id: trunk@6014 -
2007-01-17 05:40:35 +00:00
pierre
18f3be105a * get rid of unitialized warnings
git-svn-id: trunk@6013 -
2007-01-17 05:38:42 +00:00
pierre
eeb94bf9ea * avoid level 2 comments
git-svn-id: trunk@6012 -
2007-01-17 05:37:15 +00:00
florian
8ecdbbc515 * fix intf assignment
git-svn-id: trunk@6007 -
2007-01-16 22:42:21 +00:00
Jonas Maebe
9ad579855e * fixed webtbf/tw3631
* properly set vs_read/written status for tp-style objects
    without vmt of which a method is called

git-svn-id: trunk@6005 -
2007-01-16 21:15:21 +00:00
peter
323fc850b9 * fixed duplicate alias check
git-svn-id: trunk@6003 -
2007-01-16 18:31:27 +00:00
Jonas Maebe
7f24462fcb * warn when doing not(uninitialised_variable)
git-svn-id: trunk@6000 -
2007-01-16 16:34:44 +00:00
Károly Balogh
779b178157 + removed workaround (dircache disable) for morphos (and amiga)
git-svn-id: trunk@5997 -
2007-01-15 23:46:11 +00:00
Jonas Maebe
bc06fd4d74 * fixed mantis #6152 (allow overloads to be defined before all
forwarddefs have been implemented)

git-svn-id: trunk@5995 -
2007-01-15 21:59:43 +00:00
Jonas Maebe
6604b8ba06 * fixed bashisms
git-svn-id: trunk@5994 -
2007-01-15 21:56:25 +00:00
peter
c9703d43d5 * check also procedure aliases for duplicate names when
generating an export stub

git-svn-id: trunk@5993 -
2007-01-15 17:45:37 +00:00
peter
30e78b71c8 * fix IE after duplicate asm symbol
git-svn-id: trunk@5992 -
2007-01-15 17:45:01 +00:00
peter
5531ac8c91 * fixed -o for sharedlibrary
git-svn-id: trunk@5991 -
2007-01-15 17:21:38 +00:00
peter
8bf63f4f69 * don't generate RVA reloc in stabs if there is no symbol
git-svn-id: trunk@5990 -
2007-01-15 16:46:50 +00:00
Jonas Maebe
d6b54890e4 * pass arguments to the compiler using an array of ansistring so that
parameters containing spaces are preserved correctly

git-svn-id: trunk@5989 -
2007-01-15 12:35:48 +00:00
pierre
7e62e2cfc1 * correct debug info for parentfp hidden parameter,
this is a vs_value parameter, not a vs_var.
    This allows to get higher local variables in IDE
    to work again (see ide/test.pas)

git-svn-id: trunk@5984 -
2007-01-15 05:13:53 +00:00
Károly Balogh
f1067607b6 + workaround for non-working dircache on morphos/amiga
+ added a few more missing morphos defines

git-svn-id: trunk@5980 -
2007-01-14 21:32:58 +00:00
florian
ad7e261a04 * forbid to take the address of a label defined outside of the current procedure
git-svn-id: trunk@5974 -
2007-01-14 19:21:37 +00:00
florian
5e2042cff8 * correct assembling of test rm8,reg8
git-svn-id: trunk@5972 -
2007-01-14 18:08:37 +00:00
Jonas Maebe
abef29c1d5 * fixed x86 vector mmloads and use scalar loads in ncgcnv
git-svn-id: trunk@5967 -
2007-01-14 13:36:26 +00:00
yury
36ea8ec683 * Fixed Internal error 2003042401 in tw7379 for ARM CPU.
git-svn-id: trunk@5963 -
2007-01-14 01:15:22 +00:00
Jonas Maebe
38d54234d7 * fixed crash when calling a procvar with too many parameters
(mantis 8109)

git-svn-id: trunk@5951 -
2007-01-13 18:38:04 +00:00
Jonas Maebe
c0eb91ffc8 * fixed error message for trying to assign to formal parameters and
to open arrays (mantis #8111)

git-svn-id: trunk@5950 -
2007-01-13 18:20:06 +00:00
yury
d401c0a198 * activated internal get_frame for ARM.
git-svn-id: trunk@5945 -
2007-01-13 15:23:51 +00:00
Jonas Maebe
fc99b0ad48 * fixed floating point precision conversions for loc_mmregister and
between loc_fpuregister and loc_mmregister

git-svn-id: trunk@5942 -
2007-01-13 15:00:00 +00:00
peter
cfb7a70c66 * update cacheindex in get_file
git-svn-id: trunk@5939 -
2007-01-13 12:44:21 +00:00
peter
5e428406e0 * remove redundant initalization of LinkTypeSetExplicitly
git-svn-id: trunk@5938 -
2007-01-13 12:28:14 +00:00
yury
bcd86ef782 * added support for very big/small currency constants for non x86 CPUs.
git-svn-id: trunk@5937 -
2007-01-13 12:12:20 +00:00
florian
76dc5ab588 + support of -fPIC (is equivalent to -Cg) so people won't be confused if ld tells them to recompile their code with -fPIC
git-svn-id: trunk@5934 -
2007-01-12 22:27:20 +00:00
Jonas Maebe
e815b923d5 * a_loadfpu_* gets two size parameters: fromsize and tosize
* fixed downsizing the precision of floating point values
  * floating point constants are now treated using only the minimal
    precision required (e.g. 2.0 is now a single, 1.1 extended etc)
    (Delphi compatible)

git-svn-id: trunk@5927 -
2007-01-12 18:33:51 +00:00
Jonas Maebe
adbe0ab1d2 * support linker options (-k) which are > 255 chars combined
git-svn-id: trunk@5924 -
2007-01-12 17:12:29 +00:00