Commit Graph

2195 Commits

Author SHA1 Message Date
Jonas Maebe
d7cdd9afba * allow tthread-based threads to only start executing once the constructor
has finished running (based on patch by Jared Davison, mantis #16884)

git-svn-id: trunk@15599 -
2010-07-18 16:31:25 +00:00
Jonas Maebe
b18a4617bb * fixed calling static TP-style object methods from within other methods
(mantis #16954)

git-svn-id: trunk@15598 -
2010-07-18 11:01:12 +00:00
Jonas Maebe
5b0962b735 * fixed misplaced bracket in condition test that caused all blocks
in libraries to be parsed as if they were the main module block,
    which in practice mainly mean that local variables with default
    values were never initialisation (mantis #16949)

git-svn-id: trunk@15596 -
2010-07-18 09:46:04 +00:00
florian
9affb070b8 * don't force OT_BITS32 on x86-64, resolves #16622
git-svn-id: trunk@15595 -
2010-07-17 20:57:06 +00:00
marco
eead32ac62 * unblock folded into chmls and deleted.
git-svn-id: trunk@15593 -
2010-07-17 11:52:58 +00:00
Jonas Maebe
a07bb94fcb * separate the finally block that dezals with cleaning up temps and the
except block that deals with exceptions raised inside the constructor
    (including afterconstruction), so that afterconstruction is always
    called after all temps have been finalised (necessary because in case
    of tinterfacedobject it decreases the reference count of the instance
    without every freeing the instance, so if that is done before a temp
    that also holds a refernce is finalised, the temp may wrongly free
    the instance (mantis #16592, #16592)

git-svn-id: trunk@15583 -
2010-07-15 19:25:40 +00:00
Jonas Maebe
bfc1a6ff1c + added support for intialising/finalising threads not started via the FPC
runtime

git-svn-id: trunk@15557 -
2010-07-12 16:16:50 +00:00
andrew
ab10e35fd5 * added basic reading for ms help 2 the successor to chm
git-svn-id: trunk@15548 -
2010-07-11 12:43:38 +00:00
Jonas Maebe
9273856e84 * disallow pusha*/popa* for x86_64 (mantis #14862)
* disallow pushfd/popfd for x86_64 (mantis #14862)
  * fixed assembling popfq with the internal assembler (it needs a rex.w
    prefisx, while pushfq doesn't)
  * changed the default opcode size of pushf/popf/pusha/popa in
    {$asmmode intel} from "native size" to 16 bit (compatible with Intel
    manuals and Kylix; in AT&T mode, the default size for those operations
    remains the native one)
  * changed pushf/popf in rtl/i386/* into pushfd/popfd because of the
    previous change

git-svn-id: trunk@15546 -
2010-07-10 16:22:46 +00:00
Jonas Maebe
26cc281390 * fixed real48 to double conversion for 0.0 (patch by "jeng", mantis #16863)
git-svn-id: trunk@15543 -
2010-07-10 12:15:13 +00:00
Jonas Maebe
d3976c858b * fixed 64 bit check for "movd xmmreg, mem" and "movd mem, xmmreg" (patch by
Jasper Neumann, mantis #13294)
  * moved "reg64, xmmreg" and "xmmreg, reg64" combo's from movd to movq
    (movd is always 32 bit)

git-svn-id: trunk@15538 -
2010-07-09 21:16:48 +00:00
Jonas Maebe
229cbca086 * propagate pi_has_assembler_block and pi_uses_exceptions flags from inlined
routines to their host, as in this case the stack frame cannot be omitted
    (mantis #16874)

git-svn-id: trunk@15535 -
2010-07-08 20:34:17 +00:00
Jonas Maebe
c6d00a2b1f * correct the register size holding a smallset < 4 bytes when using "bt"
on it (mantis #16861)
  * fixed some indentation

git-svn-id: trunk@15531 -
2010-07-07 18:45:57 +00:00
Jonas Maebe
7d27f4c21d * also support variants for %s in sysutils.format (mantis #16787)
git-svn-id: trunk@15509 -
2010-07-02 19:59:58 +00:00
Jonas Maebe
58362db962 * use the correct procdef when taking the address of an overloaded function
in a typed constant (mantis #16820)

git-svn-id: trunk@15508 -
2010-07-02 19:30:20 +00:00
Jonas Maebe
60041ebf8b * allow exit(value) in exception blocks. Forbidding this dates back to
when this construct was still handled by custom code (mantis #16803)

git-svn-id: trunk@15492 -
2010-06-29 16:56:59 +00:00
Jonas Maebe
7321f9a87a * fixed register allocation info when initialising parameters, both in
case they are refcounted out-parameters and when using -gt (mantis #16757)

git-svn-id: trunk@15479 -
2010-06-26 09:59:04 +00:00
Jonas Maebe
62d677eb92 + support for formally declared objcclasses ("type x=objcclass;external;")
+ tests

git-svn-id: trunk@15476 -
2010-06-25 15:08:37 +00:00
Jonas Maebe
e36857742f * allow taking the address of an indexed array function result
(mantis #16772)

git-svn-id: trunk@15475 -
2010-06-25 12:42:27 +00:00
Jonas Maebe
04a63ea278 * fixed range/overflow checking for succ/pred (mantis #16770)
git-svn-id: trunk@15474 -
2010-06-22 19:15:08 +00:00
Jonas Maebe
267cb54cd6 + some extra (already working) tests for class references
git-svn-id: trunk@15467 -
2010-06-21 15:19:02 +00:00
Jonas Maebe
bcc836f1b0 * put the RTTI for optional protocol methods in the correct section for
fragile ABI platforms

git-svn-id: trunk@15465 -
2010-06-21 15:07:29 +00:00
Jonas Maebe
1474e7191f * moved tests to correct directory (they depend on the CocoaAll unit)
git-svn-id: trunk@15463 -
2010-06-21 09:26:51 +00:00
Jonas Maebe
835899524b + support for Objective-Pascal for-in loops ("fast enumerations")
+ {$modeswitch objectivec2}, which is required before you can use
    Objective-C 2.0 features (such as the above). It automatically
    also implies {$modeswitch objectivec1}
  + genloadfield() helper to load a field of a node representing
    a record/object/class

git-svn-id: trunk@15460 -
2010-06-20 12:38:45 +00:00
Jonas Maebe
790c7954b7 * fixed assigning "id" to a protocol instance and using protocol instances
to call methods + test

git-svn-id: trunk@15453 -
2010-06-19 16:19:13 +00:00
Jonas Maebe
935cd9eb8c - reverted r15430, it was wrong (variadic parameters don't require an extra
colon in the selector)

git-svn-id: trunk@15432 -
2010-06-13 19:45:45 +00:00
Jonas Maebe
8c1a63fb80 * take "varags" into account when checking for the correct number of
formal parameters of an Objective-C method

git-svn-id: trunk@15430 -
2010-06-13 19:35:41 +00:00
Jonas Maebe
ea4bb9d752 * don't treat variant records with one element as "records with one element"
(the ABIs that prescribe special treatment for aggregates with one
     scalar element don't either, since a "union containing a single scalar"
     is not the same as a scalar)
  * fixed passing record with a single float field on PowerPC/AIX abi's
  * several changes to cgobj and ncgutil to correctly deal with transfering
    such records between integer and floating point registers

git-svn-id: trunk@15416 -
2010-06-13 09:57:58 +00:00
Jonas Maebe
6d6892bec6 * fixed "byte/word/... ptr []" and "byte/word/..([])" typecasted expressions
in case the memory expression contains a record subscription (mantis
    #16700)

git-svn-id: trunk@15408 -
2010-06-11 14:51:58 +00:00
marco
1a7f50e3b5 * mass unblock CHM utility for win32/win64
git-svn-id: trunk@15406 -
2010-06-11 07:11:19 +00:00
Jonas Maebe
7c372ede44 * fixed initialising 32 resp. 64 bit regvars with -g-t if the compiler is
an i386 resp. x86-64 binary (mantis #16668)

git-svn-id: trunk@15398 -
2010-06-09 15:58:39 +00:00
michael
e94344784d * Ext.Direct demo
git-svn-id: trunk@15375 -
2010-06-04 15:24:27 +00:00
Jonas Maebe
62b1698912 + added
git-svn-id: trunk@15372 -
2010-06-03 21:49:47 +00:00
Jonas Maebe
42eefb0e0c + added
git-svn-id: trunk@15371 -
2010-06-03 21:44:14 +00:00
Jonas Maebe
429a9cdba0 + added
git-svn-id: trunk@15369 -
2010-06-03 21:20:14 +00:00
Jonas Maebe
15e9c54b44 * fixed ABI compliance for parameter passing and function returning on all
x86-64 platforms (except for win64, which uses another ABI and which
    already complied to it) + test
  * fixed returning records containing 1 single or double field on darwin/i386,
    these have to be returned via ST0 instead of as a regular record
  * added support for LOC_FPUREGISTER and LOC_MMREGISTER in several places
    where they can now occur due to the previous two changes
  * made a few internalerrors unique

git-svn-id: trunk@15368 -
2010-06-03 20:08:50 +00:00
michael
951c475e62 * Added some test instructions
git-svn-id: trunk@15362 -
2010-06-03 15:23:47 +00:00
michael
3d414fe91b * json-rpc examples, and compile it as well
git-svn-id: trunk@15361 -
2010-06-03 15:18:09 +00:00
michael
9797140bad * Added JSON-RPC functionality
git-svn-id: trunk@15360 -
2010-06-03 15:09:29 +00:00
Jonas Maebe
2a752f2c49 - removed, because C "long double" compatibility has been fixed (via
the "cextended" type) and testing this functionality has been
    enabled in tcalext a while back already

git-svn-id: trunk@15359 -
2010-06-02 21:23:19 +00:00
Jonas Maebe
d167f338a7 + test for mantis #16357 fixed in r15350
git-svn-id: trunk@15357 -
2010-05-31 18:11:46 +00:00
michael
1993663af7 * Deprecated in favour of fcl-web and WST
git-svn-id: trunk@15346 -
2010-05-30 14:14:18 +00:00
michael
ce8ab2b735 * Forgot to add
git-svn-id: trunk@15335 -
2010-05-27 15:48:23 +00:00
michael
81648b6fbf * Added webdata
git-svn-id: trunk@15334 -
2010-05-27 15:22:02 +00:00
michael
ef213e67d6 * Examples added
git-svn-id: trunk@15333 -
2010-05-27 14:06:12 +00:00
michael
54519645ae * Moved all to base directory
git-svn-id: trunk@15331 -
2010-05-27 13:36:04 +00:00
michael
ba9226866e * Test application for CGI gateway
git-svn-id: trunk@15330 -
2010-05-27 09:22:26 +00:00
michael
26590e487f * Implemented CGI -> FastCGI gateway application class
git-svn-id: trunk@15329 -
2010-05-27 09:21:47 +00:00
michael
9c8674fcd7 * Added BaseURL, and support for additional encodings. Implemented CGI testbed application
git-svn-id: trunk@15322 -
2010-05-25 11:20:38 +00:00
Jonas Maebe
00f6eb870e + test file
git-svn-id: trunk@15302 -
2010-05-21 14:13:38 +00:00