Commit Graph

31378 Commits

Author SHA1 Message Date
Jonas Maebe
b521f80b13 * give a proper error when a rangen appears in a vecn that's not an
array parameter (mantis #15287)

git-svn-id: trunk@14368 -
2009-12-08 18:47:24 +00:00
Jonas Maebe
b9b95a8f73 * fixed compiler crash when putting non-constant string in a set expression
(mantis #15288)

git-svn-id: trunk@14367 -
2009-12-08 17:15:31 +00:00
Jonas Maebe
a9c025cd6a * fixed 32 bit -> 64 bit cross compilation
git-svn-id: trunk@14366 -
2009-12-08 16:06:28 +00:00
sergei
14d42da206 * dom.pp: clean up
git-svn-id: trunk@14362 -
2009-12-08 09:09:23 +00:00
sergei
c8efa67ac7 * xmlread.pp, added a flag to force input stack unwinding upon reader destruction.
Without this, certain (malformed) documents (e.g. eduni/xml-1.1/005.xml) were causing
  InputSource leaks.

  Note: these leaks are a side effect from recent changes to entity processing and are not
  observed with older versions.

git-svn-id: trunk@14361 -
2009-12-08 08:10:35 +00:00
sergei
a7d1856620 * Removed null-termination in TXMLStreamInputSource.FetchData(): it isn't necessary and is causing unaligned access errors with ARM CPUs.
git-svn-id: trunk@14360 -
2009-12-08 05:20:44 +00:00
paul
f718be3afd compiler: remove unused variable
git-svn-id: trunk@14359 -
2009-12-08 04:24:28 +00:00
Jonas Maebe
896e481f86 * fixed function result variable symbol corruption in case a unit is
re-resolved before its implementation is parsed

git-svn-id: trunk@14358 -
2009-12-07 23:27:12 +00:00
Jonas Maebe
c3eb47293a * fixed derefdata corruption in case a unit is re-resolved and it has a
localsymtable with symbols/defs that need to be deref'ed

git-svn-id: trunk@14357 -
2009-12-07 23:26:20 +00:00
pierre
98470e953d * fix native linker end group delimiter
git-svn-id: trunk@14356 -
2009-12-07 22:27:59 +00:00
florian
a3884c4e49 * fixes bootstrapping with 2.2.x
git-svn-id: trunk@14355 -
2009-12-07 20:16:31 +00:00
pierre
90ddd046bc * Use default functions if call to iconv_open failed
git-svn-id: trunk@14352 -
2009-12-07 16:57:12 +00:00
sergei
255c14fc4d * TDOMElement.RemoveAttributeNode() was not resetting OwnerElement property of the removed attribute to nil, fixed and added a test case.
git-svn-id: trunk@14351 -
2009-12-07 16:16:10 +00:00
Jonas Maebe
722d48c8c2 * only return an error if locking a file fails when the file is already
locked, but not when another error occurs (such as EsysNOLCK, because
    this error may always be returned if the kernel doesn't support
    locking, in which case programs such as fpcmake no longer work on
    such systems)

git-svn-id: trunk@14350 -
2009-12-07 13:30:19 +00:00
sekelsenmat
4fd2aa297a Adds mipsel lazarus project
git-svn-id: trunk@14349 -
2009-12-07 13:04:05 +00:00
pierre
c7179f243b * fix problem with tcsetattr overloadwith const parameter
git-svn-id: trunk@14348 -
2009-12-07 11:07:55 +00:00
marco
f34978bf7b * another minor incompatibility
git-svn-id: trunk@14346 -
2009-12-06 21:05:51 +00:00
marco
68e2c0c33e * minor fix for problem of // with bin index chm files.
git-svn-id: trunk@14345 -
2009-12-06 21:03:35 +00:00
Legolas
ec841a86f5 * Updated to devkitARM r27 and libnds 1.4.0
git-svn-id: trunk@14344 -
2009-12-06 19:37:58 +00:00
Jonas Maebe
7547bbb59c * forgot to commit (part of r14342)
git-svn-id: trunk@14343 -
2009-12-06 14:00:05 +00:00
Jonas Maebe
b4c8c73e70 * changed tf_use_function_relative_addresses into an assembler flag (with
the opposite meaning, af_stabs_use_function_absolute_addresses), because it
    is different on Darwin for the internal and external assembler)

git-svn-id: trunk@14342 -
2009-12-06 13:21:28 +00:00
florian
2fbf2df137 * sunos is not supported on mips
git-svn-id: trunk@14341 -
2009-12-06 12:19:08 +00:00
florian
9e59c6dec7 * more mipsel code
git-svn-id: trunk@14340 -
2009-12-06 12:12:15 +00:00
Jonas Maebe
3138093fdf * changed errnum parameter of halt() from byte to longint to match the
definition of exitcode (mantis #15231)

git-svn-id: trunk@14339 -
2009-12-06 10:02:05 +00:00
Jonas Maebe
0e96a159c8 * enabled pushing (x87) fpu registers in case too few might be available
also for x86_64, since some of those platforms also support the x87
    (noticed by Florian)

git-svn-id: trunk@14338 -
2009-12-05 22:53:27 +00:00
Jonas Maebe
8f3b1e42c0 + -godwarfmethodclassprefix option to prefix method names in the DWARF debug
info with the classname, like is done for Stabs. Not done by default
    because otherwise once calling methods from the debugger is implemented,
    this would require typing classinstance.classname__methodname

git-svn-id: trunk@14337 -
2009-12-05 22:21:52 +00:00
Jonas Maebe
3a8f889179 * fixed printing formal constants with DWARF:
a) use DW_TAG_variable instead of DW_TAG_constant in combination with a
      DW_AT_constant_value, since that way gdb does support formal constants
   b) store constant strings as either a shortstring or a longstring rather
      than using DW_FORM_string, since gdb's Pascal printer doesn't support
      gdb's generic STRING type yet for output

git-svn-id: trunk@14336 -
2009-12-05 21:54:27 +00:00
Jonas Maebe
fa044d05e0 * fixed shortstring size information
git-svn-id: trunk@14335 -
2009-12-05 19:26:25 +00:00
Jonas Maebe
255a9e7d22 * dirent structure available on 10.6 and iPhoneOS
* added some missing private fields to "dir" type for all Darwin platforms

git-svn-id: trunk@14334 -
2009-12-05 11:29:59 +00:00
Jonas Maebe
e7d7867082 + added new tstatfs structure available on Mac OS X 10.6, which appears to
be the only one that's supported on iPhonsOS (fixes webtbs/tw1041 on
    iPhoneOS)

git-svn-id: trunk@14333 -
2009-12-05 10:51:48 +00:00
Jonas Maebe
fbebd87593 * use BLX instead of "mov r14, r15; mov r15, reg" for a_call_reg on ARMv6
and above, so this also works when calling thumb code (should actually
    also be done for ARMv5T, but we don't have a monicker for that yet)
  * use BX instead of "mov r15, r14" for simple returns from subroutines
    on ARMv6+ to support returning to thumb code from ARM code (idem)

git-svn-id: trunk@14332 -
2009-12-04 22:38:50 +00:00
Jonas Maebe
fa42b022d2 * made test names unique (if you overwrite an existing binary with another
one on iPhoneOS, the OS refuses to execute the new binary; you have to
    remove the old one first -- but it's easier to make sure that there are
    no two tests with the same name)

git-svn-id: trunk@14331 -
2009-12-04 21:06:33 +00:00
Jonas Maebe
d19eaab7c6 * don't specify ARM architecture subtype to linker, because then it will
refuse linking in compiled resources (because those have a generic
    cpu subtype)

git-svn-id: trunk@14330 -
2009-12-04 20:29:05 +00:00
Jonas Maebe
877c024d4e * added tf_requires_proper_alignment for Darwin/ARM, fixes webtbs/tw7391.pp
with VFP

git-svn-id: trunk@14329 -
2009-12-04 19:56:00 +00:00
Jonas Maebe
91fc26a530 * the bits in the VFP fpscr don't mask exceptions, but enable them
(was used correctly in fpu init code in arm.inc, but inverted in
     setexcetionmask logic)

git-svn-id: trunk@14328 -
2009-12-04 19:54:35 +00:00
Jonas Maebe
4838ebe73b * renamed mark_InlineStart/mark_InlineEnd to mark_NoLineinfoStart/
mark_NoLineinfoEnd
  * add "no line info" markers for try/except and try/finally internal cleanup
    code, so the debugger doesn't jump back and forth between the end and start
    of exception blocks when you arrive at the end
  * honour "no line info" markers in dbgdwarf.pas

git-svn-id: trunk@14327 -
2009-12-04 19:37:22 +00:00
paul
ae52b19820 compiler: generate STABS debug info for Variant type
git-svn-id: trunk@14326 -
2009-12-04 17:06:17 +00:00
paul
4e29be8a36 rtl: DoVarCopyComplex should copy variant strings by ref (reason: this is delphi compatible behavior)
git-svn-id: trunk@14325 -
2009-12-04 14:57:17 +00:00
marco
9243d89025 * haiku now an unix, Mantis 15032
git-svn-id: trunk@14322 -
2009-12-04 13:03:41 +00:00
Jonas Maebe
e6ce17c1de - removed accidentally committed unfinished code in r14317
git-svn-id: trunk@14321 -
2009-12-04 10:27:28 +00:00
marco
d72c2991e5 * group type to u_long as per mantis 15241
git-svn-id: trunk@14320 -
2009-12-04 08:37:18 +00:00
marco
fabb88852f * mod_wavetable, mod_swsynth added, mantis 15250
git-svn-id: trunk@14319 -
2009-12-04 08:28:11 +00:00
Jonas Maebe
280f27b45c * store/restore trttinode.rttidatatype to/from ppu file, and also copy it in
rttidatatype.getcopy (fixes mantis #15207)

git-svn-id: trunk@14318 -
2009-12-03 23:03:25 +00:00
Jonas Maebe
d1538ab023 o added ARM VPFv2/VFPv3 support:
+ RTL support:
      o VFP exceptions are disabled by default on Darwin,
        because they cause kernel panics on iPhoneOS 2.2.1 at least
      o all denormals are truncated to 0 on Darwin, because disabling
        that also causes kernel panics on iPhoneOS 2.2.1 (probably
        because otherwise denormals can also cause exceptions)
    * set softfloat rounding mode correctly for non-wince/darwin/vfp
      targets
    + compiler support: only half the number of single precision
      registers is available due to limitations of the register
      allocator
    + added a number of comments about why the stackframe on ARM is
      set up the way it is by the compiler
    + added regtype and subregtype info to regsets, because they're
      also used for VFP registers (+ support in assembler reader)
    + various generic support routines for dealing with floating point
      values located in integer registers that have to be transferred to
      mm registers (needed for VFP)
    * renamed use_sse() to use_vectorfpu() and also use it for
      ARM/vfp support
    o only superficially tested for Linux (compiler compiled with -Cpvfpv6
      -Cfvfpv2 works on a Cortex-A8, no testsuite run performed -- at least
      the fpu exception handler still needs to be implemented), Darwin has
      been tested more thoroughly
  + added ARMv6 cpu type and made it default for Darwin/ARM
  + ARMv6+ implementations of atomic operations using ldrex/strex
  * don't use r9 on Darwin/ARM, as it's reserved under certain
    circumstances (don't know yet which ones)
  * changed C-test object files for ARM/Darwin to ARMv6 versions
  * check in assembler reader that regsets are not empty, because
    instructions with a regset operand have undefined behaviour in that
    case
  * fixed resultdef of tarmtypeconvnode.first_int_to_real in case of
    int64->single type conversion
  * fixed constant pool locations in case 64 bit constants are generated,
    and/or when vfp instructions with limited reach are present

  WARNING: when using VFP on an ARMv6 or later cpu, you *must* compile all
    code with -Cparmv6 (or higher), or you will get crashes. The reason is
    that storing/restoring multiple VFP registers must happen using
    different instructions on pre/post-ARMv6.

git-svn-id: trunk@14317 -
2009-12-03 22:46:30 +00:00
Jonas Maebe
5939a03017 + added some extra checks
git-svn-id: trunk@14316 -
2009-12-03 22:25:38 +00:00
Jonas Maebe
36ebb6a980 * fixed clearing fpscr "exception happened" flags
git-svn-id: trunk@14313 -
2009-12-03 20:21:27 +00:00
Jonas Maebe
3bd7f55f92 * write debug info for Variant with the name "Variant" instead of TVARDATA
so they can be distinguished by debugger frontends

git-svn-id: trunk@14298 -
2009-12-03 14:34:47 +00:00
Jonas Maebe
985c74adde * sizeof(voidpointertype.size) -> voidpointertype.size (although they
happen to be the same currently on all platforms, this is not
     guaranteed)

git-svn-id: trunk@14297 -
2009-12-03 13:29:02 +00:00
Jonas Maebe
93523c7767 * fixed for overflow in sort_movelist (by Paul Ishenin, mantis #15204), and
made a similar change in sort_simplify_worklist

git-svn-id: trunk@14296 -
2009-12-03 11:07:37 +00:00
paul
1cd32f5327 rtl: implement TCollection.SetPropName
git-svn-id: trunk@14295 -
2009-12-02 03:40:26 +00:00