Commit Graph

8631 Commits

Author SHA1 Message Date
marco
69c89d4579 * more tcustomvariant conversion helpers from Lacak2. Mantis 16853
git-svn-id: trunk@16504 -
2010-12-04 20:21:03 +00:00
sergei
b8aec6e4aa + Support for UnicodeString in variant conversions, based on patch from Ivan Shikhalev, resolves #18083.
git-svn-id: trunk@16502 -
2010-12-04 03:53:28 +00:00
marco
c9c1179b00 * Initial variantop and compare handlers. Patch from Laaca, bug #16853
git-svn-id: trunk@16486 -
2010-11-30 20:49:46 +00:00
marco
9534c5bd8b * Delphi XE (2010?) compatible alias for defaultformatsettings.
* deprecated separate globals (Delphi XE). Causes some deprecated
      warnings in dati.inc that still have to be fixed.

git-svn-id: trunk@16482 -
2010-11-30 09:49:19 +00:00
Jonas Maebe
5cbe12c622 * don't overwrite the target value of interlockedcompareexchange*() if the
value is different from the comparand (patch by "FVI", mantis #18082)
  * sign extend the loaded value of interlockedcompareexchange() on PowerPC64,
    because the function arguments are longints

git-svn-id: trunk@16475 -
2010-11-29 12:53:10 +00:00
florian
a0c25dc0f9 - removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089
git-svn-id: trunk@16472 -
2010-11-28 20:46:50 +00:00
florian
6b42ba170b + TFPGObjectList.GetEnumerator and TFPGInterfacedObjectList.GetEnumerator, resolves #18094
git-svn-id: trunk@16471 -
2010-11-28 20:32:35 +00:00
florian
f15141a6f3 - removes 2.2.x bootstrapping stuff
git-svn-id: trunk@16465 -
2010-11-28 17:29:15 +00:00
sergei
099df04a5e * variants.pp, patch from Ivan Shikhalev implementing TInvokeableVariant.DispInvoke (with some changes), resolves #17919.
git-svn-id: trunk@16458 -
2010-11-27 19:34:39 +00:00
sergei
3b910d9eb2 + Support custom variants in VarIsClear
* TCustomVariantType.IsClear simply returns False (since its VType can never have values for standard variants)

git-svn-id: trunk@16457 -
2010-11-27 18:07:10 +00:00
sergei
7dd93b1282 * Variant types: renamed varunicodestring to varustring and changed its value to $102 (for Delphi compatibility), introduced varUStrArg=$73, added some description comments.
* ncal.pas, translate_disp_call:
  * pass UnicodeString as varUStrArg
  * do not typecast ordinal consts to Integer, so typecasts in source (if any) are preserved.
+ test for correct passing of Dispatch method arguments, concludes work on Mantis #17904.

git-svn-id: trunk@16456 -
2010-11-27 16:17:43 +00:00
ivost
5f39d255e1 * added TFPGMapInterfacedObjectData: This generic class expects a TInterfacedObject as type of TData. The advantage over TFPGMap is, that refcounting is used. It's compareable to TFPGInterfacedObjectList. Note that this only works within the TData part, TKey is not refcounted!
git-svn-id: trunk@16455 -
2010-11-27 16:02:01 +00:00
michael
fa0454afe2 * Fixed references to sub components (mantis #18021)
git-svn-id: trunk@16448 -
2010-11-26 14:51:43 +00:00
michael
cc0be1be4d * Completely initialize threadvars when an external thread is detected. Needs still cleanup code (or a better thread initialization/finalization).
git-svn-id: trunk@16432 -
2010-11-25 15:50:49 +00:00
florian
3d13c2e2be * cleaned up ver2_0 defines
git-svn-id: trunk@16430 -
2010-11-25 14:28:31 +00:00
florian
ef0899425b * adds assign methods to the fgl classes based on a patch by Aleksa Todorovic, resolves #10479
git-svn-id: trunk@16429 -
2010-11-25 14:12:13 +00:00
ivost
e770bc597f * fixed refcounting problem. When copy an item over an existing one, the existing one was not dereferenced
* removed some old (useless) commented code

git-svn-id: trunk@16424 -
2010-11-24 23:08:12 +00:00
Jonas Maebe
1f61b5b30c * reverted the rtl patches from r14184, because they cause an endless
loop when attempting to terminate a process via the RTL compiled into
    a Linux shared library  (mantis #17383)
  * call FPC_LIB_EXIT (the internal/generic RTL finalisation routine) instead
    of FPC_SHARED_LIB_EXIT (the Linux-specific "process exit" code for shared
    libraries) as "fini" routine (fixes #14958 again after reverting r14184)

git-svn-id: trunk@16418 -
2010-11-24 15:33:29 +00:00
Jonas Maebe
c706394a15 * part of r16407, forgot to commit
git-svn-id: trunk@16415 -
2010-11-24 07:59:50 +00:00
pierre
ed1c558726 * Fix RIP relative assmebler code of rev 16410
git-svn-id: trunk@16414 -
2010-11-24 07:57:01 +00:00
pierre
64bb6794f7 + Add cmem to the list of units
git-svn-id: trunk@16412 -
2010-11-23 23:05:29 +00:00
pierre
cb017ad074 + Allow compilation for go32v2 target
git-svn-id: trunk@16411 -
2010-11-23 23:02:05 +00:00
pierre
709d36a1d0 + Add signals unit for win64
git-svn-id: trunk@16410 -
2010-11-23 23:57:10 +00:00
pierre
889caf5911 * fix type of fourth parameter of msgrcv function
git-svn-id: trunk@16409 -
2010-11-23 23:44:34 +00:00
michael
c4cc9b59e0 * Tag is now PtrInt, for upcoming Delphi 64-bit compatibility
git-svn-id: trunk@16408 -
2010-11-23 21:19:39 +00:00
Jonas Maebe
749991ec02 + support extra parameter for initialize() that indicates how many elements
should be initialised, similar to how this was already allowed for
    finalize() (mantis #17998)

git-svn-id: trunk@16407 -
2010-11-23 15:14:40 +00:00
sergei
5f1d15c693 * Patch from LacaK2 implementing some missing properties of BCDVariant, partially fixes #16853.
git-svn-id: trunk@16404 -
2010-11-22 22:50:40 +00:00
michael
a1d8ad7a27 * Changed var to out in TStringList.Find
git-svn-id: trunk@16395 -
2010-11-21 18:20:44 +00:00
sergei
907e7a32d5 * GetFileHandle(), THandleStream: changed type that is used to store file handle from Integer to THandle, so it can be redefined to 64 bits on certain platforms, see http://lists.freepascal.org/lists/fpc-devel/2010-November/023019.html
git-svn-id: trunk@16383 -
2010-11-20 12:58:53 +00:00
paul
23e74d5d46 rtl: fixed typo in variants.pp noticed by Ivan Shikhalev (mantis #0017983)
git-svn-id: trunk@16368 -
2010-11-19 03:19:52 +00:00
sergei
cbdc08b641 * dynlibs.pas: added 'const' modifiers to eliminate unnecessary local string copies
git-svn-id: trunk@16366 -
2010-11-18 22:09:48 +00:00
paul
4036be1221 rtl: add IO_REPARSE_TAG constants
git-svn-id: trunk@16358 -
2010-11-18 04:06:49 +00:00
Jonas Maebe
c14574bb56 * don't change the fpu control word in the initialisation code of dynamic
libraries (mantis #16263, #16801)

git-svn-id: trunk@16347 -
2010-11-14 16:00:25 +00:00
Jonas Maebe
fdfb21387f * fixed potential buffer overflow errors (reported by Stian Skjelstad,
mantis #17922)

git-svn-id: trunk@16343 -
2010-11-14 11:59:24 +00:00
Jonas Maebe
0cb2fa1baf + semtimedop() for Linux, marked as "platform" (last part of patch from
mantis #14075)

git-svn-id: trunk@16339 -
2010-11-13 18:37:43 +00:00
Jonas Maebe
36aa39cc38 o fixed several Linux ipc bugs, based on patch by Ruben Chaer/
Pablo Alfaro (mantis #14075, also fixes #13363):
    * ipc msgtyp is clong, not cint
    * TIPC_Perm and TSEMid_ds are different on 64 bit systems
    * fixed passing semun arguments (have to be passed by value, not reference)
    * fixed the order of parameters to msg* syscalls, and don't use
      TIPC_Kludge for msgrcv syscall (only for ipccall.inc variants)
    * use new operation variants on 64 bit platforms in ipccall.inc
  * introduced use kernel_mode/uid/gid_t types for use by the Linux ipc
    records
  * fixed type of TSEMid_ds.sem_base for Darwin
  * added {$packrecords c} to ipc unit, and {$packrecords 4} around
    certain structs for Darwin as in the C headers
  * fixed passing semun argument to semctl for libc platforms (by
    value, not reference)

git-svn-id: trunk@16336 -
2010-11-13 16:58:23 +00:00
michael
5cdc3c3a29 * Correction of PAFProtocols (Ivan Shikhalev, bug ID #17924
git-svn-id: trunk@16335 -
2010-11-13 15:51:43 +00:00
sergei
bd15329d38 * variants.pp, modified TCustomVariantType constructors to they pass basic tests (tests/units/variants/tcustomvariant.pp)
* Changed allowed custom VarType range to $10F..$FFF (as specified in Delphi documentation).

git-svn-id: trunk@16323 -
2010-11-10 16:27:23 +00:00
sergei
58f2faa1db + variants.pp: implemented FindCustomVariantType(byTypeName overloaded version)
+ also implemented some trivial methods of TCustomVariantType and TInvokeableVariantType

git-svn-id: trunk@16320 -
2010-11-10 12:17:40 +00:00
sergei
6d89ec4ee4 * SysUtils unit, fixed return value of FileSetDate:
* return value of GetLastOSError if one is available, to be consistent with handle-based implementations and Delphi behavior.
  * otherwise, return -1

git-svn-id: trunk@16318 -
2010-11-09 09:52:42 +00:00
florian
18011b99cc o patch by Sven Barth, resolves #17827
* text.inc used Std*Handle without checking if the feature CONSOLEIO is present, fixed
  * OpenStdIO should use the type THandle for the hdl parameter, fixed

git-svn-id: trunk@16309 -
2010-11-06 19:47:17 +00:00
marco
71aa7eaabd * fix from mantis 17818. Value is only peaked, add readvalue to also consume it.
git-svn-id: trunk@16301 -
2010-11-03 20:45:01 +00:00
Jonas Maebe
c4488f6b3a * hook up CompareUnicodeStringProc and CompareTextUnicodeStringProc in
cwstring (fixes webtbs/tw17591.pp on unix platforms)
  * enhanced webtbs/tw17591.pp so it also (superficially) checks the
    correctness of the called routines, and add cwstring for unix platforms

git-svn-id: trunk@16298 -
2010-11-03 12:16:20 +00:00
sergei
80d69c8a22 * win/sysutils.pp, implement CompareUnicodeString and CompareTextUnicodeString, resolves #17591.
git-svn-id: trunk@16293 -
2010-11-02 07:34:23 +00:00
sergei
a4dd7701d9 * win/sysutils.pp: removed private WinAPI function declarations. Since this unit uses Windows unit, there's no point in re-declaring stuff.
git-svn-id: trunk@16292 -
2010-11-02 07:11:17 +00:00
sergei
ffc357a528 * TThread, Windows implementation: prevent resource leak when destroying an initially suspended and never resumed thread. The thread must be always resumed so that ThreadProc can complete and cleanup. Fixes Mantis #17560.
git-svn-id: trunk@16290 -
2010-11-01 22:37:33 +00:00
florian
747b93b7ec + cpu unit for x86-64 containing a CAS128 implementation
git-svn-id: trunk@16284 -
2010-11-01 08:20:31 +00:00
sergei
0933bdc045 * win/sysutils.pp, removed an unused variable (forgotten part of r13838)
git-svn-id: trunk@16282 -
2010-11-01 00:38:51 +00:00
florian
b4c912bf92 * made Byte/Word/Long/Int64Rec endian safe
+ Int128/OWordRec

git-svn-id: trunk@16279 -
2010-10-31 17:57:54 +00:00
Legolas
42ffd3bc50 * Updated nds to devkitARM r32 and libnds 1.4.8
* Fixed nds rtl for ARGV and Exit to menu protocol 

git-svn-id: trunk@16273 -
2010-10-31 15:22:49 +00:00