Commit Graph

27574 Commits

Author SHA1 Message Date
Jonas Maebe
47d221ee7f * dsymutil under darwin "smart links" dwarf info -> make sure we
use the DW_TAG_typedef entries, because without them a type is
    only locally visible in the file where it is declared (see
    comments)

git-svn-id: trunk@9426 -
2007-12-11 13:10:39 +00:00
Jonas Maebe
f50d9cb9cb * finish the lineinfo table with a DW_LNE_set_address of the last
instruction of the function, like in the example in the dwarf2
    specifications appendix 3 and as done by gcc (expected by Apple's
    dsymutil)

git-svn-id: trunk@9425 -
2007-12-10 22:09:12 +00:00
Legolas
27eb735d24 * Resized stack value for NDS
* Changes to prt0:
  + Added argv support 
  * New function calls

git-svn-id: trunk@9424 -
2007-12-10 17:06:14 +00:00
Jonas Maebe
974c240266 * also use sse2 instructions to convert int to real on i386
for (types convertable to) longint
  * fixed expectloc for x86_64 int_to_real if result is in mmreg

git-svn-id: trunk@9423 -
2007-12-09 18:10:23 +00:00
Jonas Maebe
444ba107f8 * fixed location.size for divmodn (in particular the sign)
git-svn-id: trunk@9422 -
2007-12-09 18:06:44 +00:00
marco
679fd10b3f * export + datadict also for fpc
git-svn-id: trunk@9421 -
2007-12-09 10:51:03 +00:00
Jonas Maebe
91e0e5db17 * avoid some superfluous memory accesses when converting a double
precision/comp value in an fpu register to an sse value

git-svn-id: trunk@9420 -
2007-12-08 22:59:24 +00:00
Jonas Maebe
b20652821d + call fpc_cpucodeinit, so sse_support gets initialised for *bsd/darwin
+ support for catching sigill on FreeBSD in case not running on
    an SSE2-capable cpu (untested) -- Darwin only runs on SSE2-capable 
    cpus

git-svn-id: trunk@9419 -
2007-12-08 22:56:58 +00:00
Jonas Maebe
814e983c98 * optimize intvar*(-1) to -intvar
git-svn-id: trunk@9418 -
2007-12-08 16:41:28 +00:00
Jonas Maebe
92b99c4389 + test for previous commit
git-svn-id: trunk@9417 -
2007-12-08 16:00:28 +00:00
Jonas Maebe
7ec9dc5bc9 * fixed unix CompareWideString to not treat null characters inside
a widestring as end-of-string + test (which fails on Darwin/FreeBSD
    in utf-8/utf-16 locales, because their libc's wcscoll is documented
    as only working in single-byte locales and falling back to wcscmp
    for others)

git-svn-id: trunk@9416 -
2007-12-08 16:00:09 +00:00
Jonas Maebe
da2f1c0374 * updated svn:ignore properties
git-svn-id: trunk@9415 -
2007-12-08 15:43:36 +00:00
florian
17fd261292 * fixed compilation
git-svn-id: trunk@9414 -
2007-12-08 08:40:42 +00:00
Jonas Maebe
24f8249f36 * flush pending local switch changes before evaluating ifopt
(mantis #10350)

git-svn-id: trunk@9413 -
2007-12-07 18:24:57 +00:00
Jonas Maebe
742ff35c48 + also optimize assignments from calls to by-reference "results":
o it's a by-reference parameter, but ignore that since it's
      guaranteed to be safe because of the escape analysis
    o it's wrapped in an absolute type conversion -> added
      actualtargetnode method to tnode which digs through that

git-svn-id: trunk@9412 -
2007-12-07 17:58:25 +00:00
michael
915aa94e2d * Implemented dummys for missing methods
git-svn-id: trunk@9411 -
2007-12-07 16:42:09 +00:00
Jonas Maebe
d46b433778 * move conversions of winlinke widestring, variant and records/arrays-
with-init-info assignments into helper calls from
    tassignmentnode.pass_typecheck to pass_1 so they can be optimised
    in more cases (patch from Sergei Gorelkin)

git-svn-id: trunk@9410 -
2007-12-07 15:52:12 +00:00
Jonas Maebe
f38e190892 * don't substitute the result variable of an inlined function with
a regable variable, because this result variable of the inlined
    function may not be regable + test (mantis #10371)

git-svn-id: trunk@9409 -
2007-12-07 13:29:16 +00:00
michael
46f15635b6 * Removed conditional define. CHM always included
git-svn-id: trunk@9408 -
2007-12-07 10:55:17 +00:00
michael
e261bd766c * Patch from Andrew Haines to support FPDOC generating CHMs
git-svn-id: trunk@9407 -
2007-12-07 10:53:21 +00:00
michael
853c34fda0 * Patch from Andrew Haines to support FPDOC generating CHMs
git-svn-id: trunk@9406 -
2007-12-07 10:51:52 +00:00
marco
e6087db326 * fix for 10357
git-svn-id: trunk@9405 -
2007-12-07 10:13:02 +00:00
marco
244b796a92 * fix for #10352. MCI_SaveParms
git-svn-id: trunk@9404 -
2007-12-07 09:35:58 +00:00
michael
edb3027c7f * Patch from Giulio Bernardi to fix a typo in writewstring
git-svn-id: trunk@9403 -
2007-12-06 22:07:47 +00:00
Jonas Maebe
9da3986087 * removed some unused variables, which fixes building on non-unix
git-svn-id: trunk@9400 -
2007-12-06 15:55:57 +00:00
Jonas Maebe
8b8ee03c32 * fixed BeOS compilation (patch from Olivier Coursiere)
git-svn-id: trunk@9398 -
2007-12-06 08:08:17 +00:00
michael
b363afcd0a * Patch from Giulio Bernardi
* ObjectBinaryToText, ObjectTextToBinary and ObjectTextToResource are
    endian safe and writing and reading extended type is supported on
    machines that don't have an extended type
 - TStream.WriteResourceHeader, TStream.ReadResHeader,
   TStream.FixupResourceHeader are endian safe

git-svn-id: trunk@9397 -
2007-12-05 20:50:26 +00:00
Jonas Maebe
02c714aec1 * characters <= 127, not just < 127, can be concatenated to an
ansistring without conversion

git-svn-id: trunk@9395 -
2007-12-05 18:48:54 +00:00
Jonas Maebe
a180fdcc74 - removed commented out implementation of Upper/LowerWideString which
takes into account surrogate pairs (not needed, since upper/lower
    case characters never need surrogate pairs)

git-svn-id: trunk@9394 -
2007-12-05 17:44:34 +00:00
Jonas Maebe
68595c8b72 * fixed wchar_t type (was: widechar, now is cint/cint32/long depending on
platform)
  + mbstate_t type for all unixes except BeOS (doesn't exist for BeOS)
  + implemented UpperAnsiStringProc/LowerAnsiStringProc for unix
  * fixed Ansi2UCS4Move in cwstring (although it isn't used anywhere
    currently)
  + test for Upper/LowerAnsiString

git-svn-id: trunk@9393 -
2007-12-05 17:42:35 +00:00
Jonas Maebe
997d7b33db * don't override routines hooked by a real widestring manager before
sysutils initialised

git-svn-id: trunk@9392 -
2007-12-05 14:28:11 +00:00
Jonas Maebe
2319d8c3ce * fixed WideStringToUCS4String and UCS4StringToWideString for code points
requiring surrogate pairs in utf-16 + test

git-svn-id: trunk@9391 -
2007-12-05 13:05:09 +00:00
michael
1ab5e28f75 * Fixed TFPDataDictionary.findfielddef
git-svn-id: trunk@9390 -
2007-12-04 15:05:14 +00:00
michael
4404a27428 * Initial implementation
git-svn-id: trunk@9389 -
2007-12-04 15:04:21 +00:00
michael
39e8141f89 * Patch from Giulio Bernardi to allow int64 support in TParser
git-svn-id: trunk@9388 -
2007-12-04 13:02:24 +00:00
florian
891ce34513 * preparations for unicodestring support in the rtl
git-svn-id: trunk@9386 -
2007-12-02 22:33:56 +00:00
florian
57acf67659 + constant unicodestrings
git-svn-id: trunk@9385 -
2007-12-02 20:43:08 +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
peter
6b06d551a1 * don't fail on -Cg- for platforms that do not support PIC
git-svn-id: trunk@9383 -
2007-12-02 18:29:27 +00:00
florian
5c96c4a671 + first part of support for an unicodestring type
git-svn-id: trunk@9382 -
2007-12-02 16:39:13 +00:00
Jonas Maebe
154601b41d * don't handle dynamic arrays using fpc_copy_proc(), because it
takes the address of its parameters and a dynamic array can
    be in a register (e.g. as function result, mantis #10320)

git-svn-id: trunk@9381 -
2007-12-02 15:58:48 +00:00
daniel
34d2cf6b4f * Use zerror rather than hardcoded error table.
git-svn-id: trunk@9380 -
2007-12-02 11:34:11 +00:00
Jonas Maebe
95f00eb633 * fixed x86_64 and non-darwin i386 GOT/GOTPCREL parsing after r9366
(I put that code in a separate method because it appeared in two
     places, but in one of the two places it was buggy and apparently
     never triggered, and I copied that part...)

git-svn-id: trunk@9379 -
2007-12-02 11:13:51 +00:00
daniel
190ec54d73 * Convert error messages to resourcestrings.
git-svn-id: trunk@9378 -
2007-12-02 10:35:46 +00:00
daniel
10796b2d84 * Reset resets stream to beginning to zstream, not beginning of file.
* Readpng resets source stream to start of zstream before creating
    Tdecompressionstream, rather than seek the decompression stream.

git-svn-id: trunk@9377 -
2007-12-02 09:51:19 +00:00
sekelsenmat
38048fd073 Small fix for symbian arm target.
git-svn-id: trunk@9376 -
2007-12-02 08:27:18 +00:00
daniel
00e8db2ab6 * Should use Edecompressionerror in Tdecompresionstream.
git-svn-id: trunk@9372 -
2007-12-01 22:03:53 +00:00
Jonas Maebe
5196db1ac3 * fixed low(set)/high(set) after previous changes + test
git-svn-id: trunk@9371 -
2007-12-01 17:16:33 +00:00
Jonas Maebe
61522d00a2 * fixed tests now that i386 assembler code is checked for correct PIC
usage in case PIC generation is on (some by adding PIC-versions of
    the assembler code, most by adding -Cg- to the options to be used).

    Note: the Intel assembler reader does not yet support the Delphi
    PIC construct, so tests with that (like test/tasmread and test/tcg1)
    do not work with -Cg on non-Darwin (Darwin needs a different PIC
    construct)

git-svn-id: trunk@9370 -
2007-12-01 14:34:50 +00:00
Jonas Maebe
f1f1f1c7cd + tests for wrong relsymbol usage
git-svn-id: trunk@9369 -
2007-12-01 14:27:45 +00:00