Commit Graph

158 Commits

Author SHA1 Message Date
florian
347ae5a3bf * val takes care of empty string, patch from Petr Kristan
git-svn-id: trunk@10609 -
2008-04-06 19:33:31 +00:00
micha
83b7f81f81 + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone)
git-svn-id: trunk@10422 -
2008-03-02 12:59:02 +00:00
peter
6ed3d91989 * CompareText for shortstrings added
* optimize CompareText
  * use CompareText for case-insenstive compares in the RTL
  patches from Sergei Gorelkin

git-svn-id: trunk@9384 -
2007-12-02 18:36:20 +00:00
michael
9777065197 * Fixed carry bug in conversion of currency to string
git-svn-id: trunk@8612 -
2007-09-23 10:26:00 +00:00
Jonas Maebe
77eaa77772 - reverted r7790 because it's buggy (+ test)
git-svn-id: trunk@8444 -
2007-09-12 21:22:08 +00:00
Jonas Maebe
bd0532f158 * removed unused variable from fpc_shortstr_enum and reformatted
its declarations

git-svn-id: trunk@8394 -
2007-09-07 11:54:00 +00:00
Jonas Maebe
a57f9e0672 + added QWord overloads for IntToHex, hexStr, OctStr, binStr
git-svn-id: trunk@8332 -
2007-08-29 12:06:54 +00:00
daniel
bb5fea342f * RTL updates needed to successfully cycle with -CIcommon_type.
git-svn-id: trunk@8119 -
2007-07-21 19:22:28 +00:00
Jonas Maebe
76c783f0a1 * removed divisions from val() for unsigned types
git-svn-id: trunk@7790 -
2007-06-24 13:04:44 +00:00
pierre
986dea1cfc * reject 0x#0 and variations in val function
git-svn-id: trunk@7159 -
2007-04-23 07:43:51 +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
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
bfcf0d5459 * val stops on #0 without error, resolves #8177
git-svn-id: trunk@6635 -
2007-02-24 21:06:32 +00:00
Jonas Maebe
5f61271824 * fixed val_sint(x,longint) for negative hex/bin values on 64 bit
platforms

git-svn-id: trunk@6205 -
2007-01-26 18:43:50 +00:00
Jonas Maebe
6c578f55df * support 'x1f' and 'X1f' for hex notation in val() (Delphi compatibility,
mantis 8177)

git-svn-id: trunk@6204 -
2007-01-26 18:34:08 +00:00
yury
21dcfcd404 * fixed fpc_ShortStr_Currency in case of 0 value.
git-svn-id: trunk@5895 -
2007-01-11 18:52:00 +00:00
yury
f45a5e2961 * fixed compilation on 64 bit targets.
git-svn-id: trunk@5871 -
2007-01-10 18:26:48 +00:00
Jonas Maebe
2fa51a485f * bootstrapping for systems where currency is not a float
git-svn-id: trunk@5865 -
2007-01-09 16:24:45 +00:00
yury
adae4e9976 * implemented fpc_WideStr_Currency, fpc_chararray_Currency, fpc_Val_Currency_WideStr.
git-svn-id: trunk@5861 -
2007-01-09 00:06:28 +00:00
yury
b6b9582d8e * implemented fpc_AnsiStr_Currency and fpc_Val_Currency_AnsiStr.
* fixed fpc_ShortStr_Currency.

git-svn-id: trunk@5856 -
2007-01-08 19:40:14 +00:00
yury
2d683bcbe6 * implemented fpc_Val_Currency_ShortStr.Not used yet.
git-svn-id: trunk@5852 -
2007-01-08 17:37:21 +00:00
yury
697875f5af * Fixed reading beyond input string in fpc_Val_Real_ShortStr if empty string was passed.
git-svn-id: trunk@5849 -
2007-01-08 15:12:48 +00:00
yury
a2f4c7fd2a * fixed fpc_ShortStr_Currency.
git-svn-id: trunk@5848 -
2007-01-08 14:13:49 +00:00
yury
37b9258431 * Implemented fpc_ShortStr_Currency. Not used yet.
git-svn-id: trunk@5847 -
2007-01-08 13:51:04 +00:00
Jonas Maebe
1914a723c0 * fixed parsing of denormals (mantis #6493)
git-svn-id: trunk@5772 -
2007-01-01 14:23:29 +00:00
Jonas Maebe
9a08cdccf0 * several changes of var parameters into out parameters to avoid
useless warnings: code parameter of val(), destination of str(),
    destinations of ansi2wide and wide2ansi

git-svn-id: trunk@2041 -
2005-12-23 22:25:26 +00:00
Jonas Maebe
2dea0c793f * made the target parameter of SetString an "out" instead of "var" parameter
git-svn-id: trunk@1896 -
2005-12-07 16:06:34 +00:00
florian
ed95c19399 * reallocation of widestrings on windows fixed
* warnings in sstrings.inc fixed

git-svn-id: trunk@500 -
2005-06-26 08:17:21 +00:00
michael
7449f99d5f + Removed all compatibility defines from compiler
git-svn-id: trunk@335 -
2005-06-09 21:14:22 +00:00
michael
06ab2d2ee6 + Removed STR_USES_VALINT define
git-svn-id: trunk@305 -
2005-06-09 17:53:01 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
db5d9d75aa + Removed INTERNCOPY define
git-svn-id: trunk@259 -
2005-06-07 21:11:49 +00:00
michael
a20556e62d + Removed INTERNLENGTH/INTERNSETLENGTH defines
git-svn-id: trunk@257 -
2005-06-07 21:07:21 +00:00
michael
23ad0ae1ec + Removed HASINTF and VER1_0 defines
git-svn-id: trunk@239 -
2005-06-07 20:30:03 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
f787600c86 + 0x is now recognized as hex prefix 2005-04-02 07:57:38 +00:00
michael
5c047389a6 + Patch from Colin Western to fix uninitialized memory reads 2005-03-20 12:45:19 +00:00
peter
7eeca4fdce * added HexStr(Pointer) 2005-02-25 12:34:46 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
14eb8f59b4 internconst, internproc and some external declarations moved to interface 2004-11-17 22:19:04 +00:00
Jonas Maebe
d9267aafdf * fixed endianess bug in fpc_val_int64_shortstr() (webtbf/tw2128) 2004-11-02 22:38:58 +00:00
peter
81b6d9f16c * replace strlenint with sizeint 2004-05-01 23:55:18 +00:00
peter
b5df63e617 * ValSInt fixed for 64 bit 2004-05-01 20:52:50 +00:00
peter
cafed35e77 * str() helpers now also use valint/valuint
* int64/qword helpers disabled for cpu64
2004-04-29 18:59:43 +00:00
Jonas Maebe
eee67f89ea * fixed shortstring version of setstring 2003-02-26 20:04:47 +00:00
Jonas Maebe
f5a775bc7c * fixed some buffer overflow errors in SetString (both short and
ansistring versions) (merged)
2002-10-21 19:52:47 +00:00
michael
aae8314d02 + Added check for nil buffer to setstring 2002-10-19 17:06:50 +00:00
peter
603b3bc48b * Copy() changed to internal function calling compilerprocs
* FPC_SHORTSTR_COPY renamed to FPC_SHORTSTR_ASSIGN because of the
    new copy functions
2002-10-02 18:21:51 +00:00
carl
e1167f8d09 * Delphi compatibility fix (with string routines) 2002-09-14 11:20:50 +00:00
carl
7cbb2eb379 * cardinal -> longword 2002-09-07 21:16:45 +00:00
peter
01dfac4a4e * old logs removed and tabs fixed 2002-09-07 15:06:34 +00:00
peter
a17291b2d4 * array of char support for Str() 2002-09-02 19:24:41 +00:00
michael
b5717d4dde + Added support for octal strings (using &) 2002-08-06 20:53:38 +00:00
peter
c6fd513271 * lowercase() overloaded 2002-01-24 18:27:06 +00:00
Jonas Maebe
1b89398cec * optimized fpc_val_sint_shortstr 2001-11-16 15:09:47 +00:00
Jonas Maebe
4716f168dd * renamed some str(x,y) and val(x,y) helpers so the naming scheme is the
same for all string types
  + added the str(x,y) and val(x,y,z) helpers for int64/qword to
    compproc.inc
2001-08-13 12:40:16 +00:00
Jonas Maebe
b9f6efc85b + "compproc" helpers
* renamed several helpers so that their name is the same as their
    "public alias", which should facilitate the conversion of processor
    specific code in the code generator to processor independent code
  * some small fixes to the val_ansistring and val_widestring helpers
    (always immediately exit if the source string is longer than 255
     chars)
  * fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
    still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
peter
ca8d604964 * various widestring updates, it works now mostly without charset
mapping supported
2001-07-08 21:00:14 +00:00
Jonas Maebe
417d6849a8 * fixed bug in ValSignedInt (it accepted some values slightly larger than
high(cardinal) such as 4294967297) (merged)
2001-07-04 12:02:14 +00:00
peter
741d455ab7 * Formal const to var fixes
* Hexstr(int64) added
2001-06-04 11:43:51 +00:00
peter
e150c46c78 * remove warnings 2001-04-13 22:26:32 +00:00
peter
22db4256ce * removed rtllite define 2001-04-13 18:06:28 +00:00
Jonas Maebe
e72e5a0cfa * made val for longints a bit faster 2001-03-03 12:38:53 +00:00
florian
bd0d141b08 * val for dword and qword didn't handle the max values
correctly
  * val for qword works again
  + val with int64/qword and ansistring implemented
2000-12-09 20:52:40 +00:00
Jonas Maebe
eeec1b6882 * fix for web bug #1265 by Peter (merged) 2000-11-23 11:41:56 +00:00
Jonas Maebe
0d5167e124 * fixed bug for val when processing -2147483648 and low(int64) (merged) 2000-11-17 17:01:23 +00:00
peter
94c1f86d79 * changed ver1_0 defines to temporary defs 2000-11-06 20:34:24 +00:00
florian
1a2851eb47 * a lot of small changes:
- setlength is internal
     - win32 graph unit extended
     ....
2000-10-21 18:20:17 +00:00
Jonas Maebe
afec990176 * fixed web bug1069
* fixed similar (and other) problems in val() for int64 and qword
    (both merged from fixes branch)
2000-07-28 12:29:49 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
pierre
062604c406 * fix for extended constants 2000-04-06 11:51:47 +00:00
peter
6b66a55cd6 * truncated log 2000-02-09 16:59:28 +00:00
daniel
ec29a31834 * copyright 2000 2000-01-07 16:41:28 +00:00
daniel
a79b4a404b * copyright 2000 added 2000-01-07 16:32:21 +00:00
Jonas Maebe
6c3f032c9f * avoid unwanted type conversion from cardinal to longint in val for
signed and unsigned 32bit int
1999-12-11 19:07:44 +00:00
peter
aa083c5b4d * truncated log 1999-11-06 14:35:38 +00:00
peter
ebd738f2f5 * removed temp defines 1999-07-05 20:04:21 +00:00
peter
458a7be587 * generic write_float str_float 1999-05-06 09:05:11 +00:00
peter
dda7bf2bc9 + subrange checking for readln() 1999-04-08 15:57:44 +00:00
michael
d864c6d8c3 + Fixed insert with char. length byte wrapped around in some cases. 1999-04-05 12:28:27 +00:00
peter
79abf0ac4f * fixed '1.' parsing of val 1999-04-01 22:11:50 +00:00
peter
8d5ffc3b09 * universal names for str/val (ansistr instead of stransi)
* '1.' support for val() this is compatible with tp7
1999-04-01 22:00:48 +00:00
peter
c5db6f3dfe * last para changed to long for easier pushing with 4 byte aligns 1999-03-26 00:24:15 +00:00
Jonas Maebe
228829bd86 * changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
* in text.inc: changed RTE 106 when read integer values are out of bounds to RTE 201
  * in systemh.inc: disabled "support_fixed" for the i386 because it gave internal errors,
1999-03-16 17:49:36 +00:00
florian
d10d8cb5fd * str and val for extended use now int constants to minimize
rounding error
1999-03-10 21:49:02 +00:00
michael
5b750c0345 + Added setstring for Delphi compatibility 1999-03-03 15:23:57 +00:00
peter
06e8a03894 * fixed insert to support again the max string length 1999-01-25 20:24:28 +00:00
Jonas Maebe
f7b137cdef * made inster(string,string,index) a bit faster
+ overloaded insert(char,string,index)
1999-01-11 19:26:53 +00:00
peter
516958a67b * removed temp symbols 1998-12-15 22:42:49 +00:00
pierre
c1b6f90bcf * fix for length(char) in const expressions 1998-11-05 10:29:34 +00:00
peter
5727090134 * ansistring fixes 1998-11-04 10:20:48 +00:00
peter
31fbeac551 * small typo :( 1998-10-11 14:30:19 +00:00
peter
af1ccc6f61 + read single,fixed
+ val with code:longint
  + val for fixed
1998-10-10 15:28:46 +00:00
peter
4620a73a9b * FPC_ names
* Heap manager is now system independent
1998-09-14 10:48:00 +00:00
peter
de0a5038f9 * splitted default_extended from support_extended 1998-08-11 21:39:04 +00:00
florian
29a7bb1314 * a lot small fixes to the extended data type work 1998-08-08 12:28:09 +00:00
florian
5e5ca61090 * strlenint type implemented 1998-07-18 17:14:22 +00:00