Commit Graph

2025 Commits

Author SHA1 Message Date
Jonas Maebe
b4c572483b * always call procvars inside varargs in TP/Delphi mode (mantis #15446)
git-svn-id: trunk@14527 -
2010-01-02 21:43:19 +00:00
Jonas Maebe
04606982ac * fixed evaluation of "mod" operator for tconstexprint with signed operands
(part of mantis #15453)

git-svn-id: trunk@14516 -
2010-01-01 22:50:35 +00:00
florian
81f34dd4bb * avoid too long prefixes of manglednames by using a CRC like for long parameter name lists, resolves #15203
git-svn-id: trunk@14515 -
2010-01-01 21:56:55 +00:00
Jonas Maebe
dd94f5cf2b * no longer allow typed files of reference counted data (mantis #15447)
git-svn-id: trunk@14509 -
2010-01-01 14:56:33 +00:00
Jonas Maebe
1743c6f1a8 * also recompile a unit if class/object definitions in indirectly used
units have changed, because these can influence the code of the
    current unit in case method signatures changed (mantis #13840)
    + manual test
  * fixed some recompilation crashes related to WPO info
  * clarified the unit_u_add_depend_to message

git-svn-id: trunk@14503 -
2009-12-30 14:03:31 +00:00
florian
701d911f58 * continued on node cse
git-svn-id: trunk@14496 -
2009-12-29 19:45:33 +00:00
florian
20995bb01b * patch by Sven Barth: Add CeRapiInvoke to rapi.pp, resolves #15170
git-svn-id: trunk@14482 -
2009-12-26 21:22:42 +00:00
Jonas Maebe
2d2465aac4 * disabled the use of samevalue() when comparing float variants, because
a) it's Delphi-incompatible
     b) when a tdatetime property is obtained via GetPropValue(), then
        it will be a varfloat rather than a vardate, and there full
        precision certainly is required (mantis #15296)
  - since DoVarCmpFloat() is now identical to DoVarCmpDate(), removed
    DoVarCmpFloat

git-svn-id: trunk@14472 -
2009-12-23 21:30:58 +00:00
Jonas Maebe
e254d607d6 * support arrayconstructornodes of procvars (mantis #15391)
git-svn-id: trunk@14468 -
2009-12-23 20:11:35 +00:00
florian
448f3d99c1 * cleanup of case <string> of code by Sergei Gorelkin, resolves #13700
git-svn-id: trunk@14467 -
2009-12-23 19:27:50 +00:00
florian
dab642986e * patch by Sergei Gorelkin, fixes several issues with implements, resolves #15209
git-svn-id: trunk@14466 -
2009-12-23 16:23:19 +00:00
Jonas Maebe
1a87386bfe * allow and properly handle @classtype(pointerconst).field (mantis #15415)
git-svn-id: trunk@14462 -
2009-12-22 15:19:05 +00:00
florian
8cecea9b53 * GetEnumName handles subrange types correctly, resolves #15377
git-svn-id: trunk@14461 -
2009-12-22 11:36:47 +00:00
paul
d89463588c compiler: don't compile incorrect statements if operators are involved (issue #0015338) + test
git-svn-id: trunk@14458 -
2009-12-21 06:57:38 +00:00
florian
9955e6b2bf * dfa fixes by Sergei Gorelkin, resolve #15402
git-svn-id: trunk@14455 -
2009-12-20 21:02:11 +00:00
josef
b99a49d982 * Added missing UndefinedClasses.inc to /uikit
* Changed the PHP variable which was causing the parser to not produce iphone headers
  * Added /utils/iphone directory which is the last safe version of the parser. This is because future versions of the parser will likely break the iphone parsing ability before it can be fully restored.

git-svn-id: trunk@14454 -
2009-12-20 14:29:12 +00:00
pierre
d294e80eea * test for bug report 15370
git-svn-id: trunk@14447 -
2009-12-17 15:07:56 +00:00
Jonas Maebe
10cfba3b28 * convert booleans to the actual array index type (mantis #15364)
git-svn-id: trunk@14445 -
2009-12-17 13:53:09 +00:00
Jonas Maebe
5f10ff067f * new Portuguese translations by Marcelo B Paula (mantis #15344)
git-svn-id: trunk@14443 -
2009-12-15 12:22:05 +00:00
florian
d3cd6132f2 * handle rounding of currency values correctly, resolves #12207
git-svn-id: trunk@14438 -
2009-12-13 16:19:56 +00:00
florian
b5e7b3e1e7 o patch by Sergei Gorelkin which basically resolves #14308 (still misses some tests):
* constant widestrings must be allocated and copied at program start up through an api call else they couldn't be passed between progam/dlls

git-svn-id: trunk@14432 -
2009-12-13 10:03:30 +00:00
marco
3fc150d920 * OpenAL example from Mantis 15306 by Craig Chapman.
git-svn-id: trunk@14416 -
2009-12-11 22:40:43 +00:00
Jonas Maebe
76c499a0f6 * fixed some corner cases when parsing nested (* *) comments (mantis #15293)
git-svn-id: trunk@14412 -
2009-12-11 22:02:36 +00:00
pierre
9b703628bb + Add solaris/x86_64 c objects
git-svn-id: trunk@14403 -
2009-12-11 15:44:08 +00:00
Jonas Maebe
f2c0190aa3 * treat parameters that are passed in registers as register operands in the
x86 intel assembler reader (patch by Sergei Gorelkin, mantis #6851)

git-svn-id: trunk@14402 -
2009-12-11 13:33:05 +00:00
Jonas Maebe
3d1c799190 + initial tests based on ALGLIB submitted by Sergey Bochkanov
git-svn-id: trunk@14398 -
2009-12-10 22:25:34 +00:00
Jonas Maebe
164db72f07 * implements getter must used target's default calling convention, because
it's called indirectly via an RTL helper that expects this (mantis #15303)

git-svn-id: trunk@14397 -
2009-12-10 21:47:47 +00:00
Jonas Maebe
dd7e472fa4 * don't convert "cardinal div (cardinal-cardinal)" to longint after it
has been upcasted to int64, but convert it back to cardinal (mantis
    #15015)
  * put the "remove unnecessary 64 bit type conversions" code between
    {$ifndef cpu64bitalu} instead of {$ifndef cpu64bitaddr}

git-svn-id: trunk@14396 -
2009-12-10 21:08:31 +00:00
Jonas Maebe
e50c05f44e * fixed inverted condition in inc/dec range/overflow case that caused
unsigned 32/64 bit values to be always explicitly typecasted to signed
    32/64 bit instead of never (mantis #15304)

git-svn-id: trunk@14379 -
2009-12-09 21:54:46 +00:00
Jonas Maebe
40f88809af * don't error out or generate invalid code for "with x do ;"
(Delphi/TP-compatible, mantis #15274)

git-svn-id: trunk@14370 -
2009-12-08 19:45:08 +00:00
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
sekelsenmat
4fd2aa297a Adds mipsel lazarus project
git-svn-id: trunk@14349 -
2009-12-07 13:04:05 +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
florian
9e59c6dec7 * more mipsel code
git-svn-id: trunk@14340 -
2009-12-06 12:12:15 +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
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
florian
28ac4a8dda * several mips/mipsel related stuff fixed
* regenerated linux makefile to support mipsel

git-svn-id: trunk@14278 -
2009-11-27 15:10:56 +00:00
florian
80fc5f05dc + system unit part of David Zhang's MIPS port
git-svn-id: trunk@14268 -
2009-11-24 21:26:36 +00:00
ivost
7ac4644289 * splittet zorba(dyn).pas into xqc.pas and zorba(dyn).pas
git-svn-id: trunk@14265 -
2009-11-24 12:10:12 +00:00
Jonas Maebe
d644fc87a1 * handle loc_jump/loc_flags in for-loop upper bound (mantis #15169)
git-svn-id: trunk@14261 -
2009-11-23 21:11:16 +00:00
Jonas Maebe
2c3c6d27d3 * fixed range checking for inc/dec when mixing unsigned and signed types
(mantis #14841)
   -> this also makes it impossible now to use constructs such as
    inc(qword_var,-1) with range checking enabled, because that would require
    a conversion to 128 bit for proper evaluation

git-svn-id: trunk@14260 -
2009-11-23 20:01:07 +00:00
florian
38c68b58aa + MIPS specific part of the rtl, by David Zhang
git-svn-id: trunk@14255 -
2009-11-22 18:35:03 +00:00
Jonas Maebe
dca8c521e5 r316 | jonas | 2009-11-21 16:57:50 +0100 (Sat, 21 Nov 2009) | 4 lines
* changed last parameter of PMSessionValidatePrintSettings from a
    "var boolean" back into a booleanptr as it was before (you can pass
    kPMDontWantBoolean if you are not interested in the result)
...
r315 | gorazd | 2009-11-18 18:07:57 +0100 (Wed, 18 Nov 2009) | 1 line

Added interfaces to QuickLook framework
...
r314 | gorazd | 2009-11-18 18:07:29 +0100 (Wed, 18 Nov 2009) | 1 line

Added interfaces to QuickLook framework

git-svn-id: trunk@14237 -
2009-11-21 16:08:36 +00:00
pierre
2480a6bad1 + x86_64 processor specific solaris files
git-svn-id: trunk@14235 -
2009-11-21 00:18:13 +00:00
Jonas Maebe
af85e45b67 + support for id.anyobjcmethodinscope() calls for Objective-Pascal code,
using standard FPC overload selection logic
  * fixed detection of references to static symbol tables for class
    helpers

git-svn-id: trunk@14234 -
2009-11-21 00:14:21 +00:00
florian
f54365db94 * adapted more fpc-mips stuff to trunk
git-svn-id: trunk@14230 -
2009-11-20 21:13:53 +00:00
florian
0c8546f94c * more MIPS code of David Zhang integrated
git-svn-id: trunk@14228 -
2009-11-20 14:46:45 +00:00
florian
e5ebb2a26e * started to integrate the code of David Zhang's MIPS code from fpc-mips on sf into fpc trunk
git-svn-id: trunk@14219 -
2009-11-19 22:07:10 +00:00