Commit Graph

39440 Commits

Author SHA1 Message Date
florian
92565c80ba * make exception variables threadvars or not depending on threading support
git-svn-id: trunk@23262 -
2012-12-31 19:31:22 +00:00
florian
ebd2e79270 * calling SysInitExceptions is not really needed because it sets only some vars to nil which are nil anyways, this saves some bytes
git-svn-id: trunk@23261 -
2012-12-31 19:28:45 +00:00
florian
00af813eee * write supported cpu and fpu types more compact
git-svn-id: trunk@23260 -
2012-12-31 16:45:30 +00:00
florian
a5cc48da0e * write controller types more compact
git-svn-id: trunk@23259 -
2012-12-31 16:31:23 +00:00
florian
e6f2c8cbd3 * turn off threadvars in softfpu if threading is not enabled
git-svn-id: trunk@23258 -
2012-12-31 16:31:03 +00:00
florian
eb7882037a * disable uncompilable targets for embedded targets
git-svn-id: trunk@23257 -
2012-12-31 15:51:04 +00:00
florian
0215f00490 * fix compilation of objpas if ansistrings are disabled as requested by Michael Ring on fpc-devel
git-svn-id: trunk@23256 -
2012-12-31 14:26:48 +00:00
florian
020b3e02ea + parallel compilation of embedded rtl
* fix rules for GNU Make 3.82

git-svn-id: trunk@23255 -
2012-12-31 14:17:20 +00:00
florian
c9d8047113 * open config files read only so they can be open by multiple compilers at once
git-svn-id: trunk@23254 -
2012-12-31 14:13:05 +00:00
pierre
eaeb63f86d FreeBSD and OpenBSD also seem to use eax:edx for small strcut returns
git-svn-id: trunk@23253 -
2012-12-29 22:03:17 +00:00
michael
48c3adfdb9 * TFPHashlist.Pack now also reclaims unused string memory
git-svn-id: trunk@23252 -
2012-12-29 15:35:02 +00:00
Tomas Hajny
49cb967614 * unit sockets extended to allow interoperability with external socket libraries compiled using EMX - e.g. OpenSSL
git-svn-id: trunk@23251 -
2012-12-29 14:38:36 +00:00
michael
c6467056bf * Initial implementation of TFPHashList tests
git-svn-id: trunk@23250 -
2012-12-29 12:47:26 +00:00
michael
3367a29831 * Update ansistring header record explanation
git-svn-id: trunk@23249 -
2012-12-29 10:23:16 +00:00
florian
d140c5b4ee * handle inc/dec/pred/succ correctly with type parameters, resolves #23299
git-svn-id: trunk@23248 -
2012-12-29 10:01:54 +00:00
michael
f2ee6bcb77 * Fixed bug ID #23444, improved example to show elapsed time
git-svn-id: trunk@23247 -
2012-12-29 09:58:12 +00:00
michael
b3de56a540 * Fixed compilation for version 5.5 of mysql
git-svn-id: trunk@23246 -
2012-12-28 23:40:10 +00:00
michael
33b6b8eef5 * No PIPE signal on darwin
git-svn-id: trunk@23245 -
2012-12-28 22:57:46 +00:00
florian
a2edcfc4e0 * patch by olivier to fix BeOS compilation, resolves #23545
git-svn-id: trunk@23244 -
2012-12-28 21:51:57 +00:00
florian
728c074bd6 * accept with statements with generic variables having a generic parameter type, resolves #21329
git-svn-id: trunk@23243 -
2012-12-28 19:48:33 +00:00
pierre
cd0c8a173e CustHttpApp.pp has no resource strings
git-svn-id: trunk@23242 -
2012-12-28 15:33:58 +00:00
florian
f6b78719bc * fix trealconstnode.dogetcopy and trealconstnode.docompare, taking care of all fields, resolves #23486
git-svn-id: trunk@23241 -
2012-12-28 14:16:09 +00:00
svenbarth
e240856e43 * rtl/m68k/setjumph.inc:
data registers stored are 1 to 7, not 0 to 7
* rtl/m68k/setjump.inc:
    don't use "S" or "value" to reference the parameters as the code generator does not use "sp" instead of "fp" in case of "nostackframe"
    restore a0 at the end of setjmp

git-svn-id: trunk@23240 -
2012-12-28 13:00:28 +00:00
Tomas Hajny
2f25717e67 * GetTickCount(64) implementation for OS/2 added
git-svn-id: trunk@23239 -
2012-12-28 12:53:55 +00:00
michael
91c8177890 * Better error handling, continue to serve requests (bug ID 22260)
git-svn-id: trunk@23238 -
2012-12-28 11:38:46 +00:00
michael
764b132645 * Implemented some server socket options
git-svn-id: trunk@23237 -
2012-12-28 11:28:08 +00:00
yury
1e78337015 * Oops, wrong commit r23235. Reverted. Now correct: Fixed lineinfo for Android.
git-svn-id: branches/targetandroid@23236 -
2012-12-28 10:42:27 +00:00
yury
fefaef34db * Fixed lineinfo for Android.
git-svn-id: branches/targetandroid@23235 -
2012-12-28 09:38:04 +00:00
svenbarth
70a7a09413 * use the correct thread ID when checking for the main thread
* ensure that the Exception reference is Nil when appending a synchronize entry to the synchronize queue

git-svn-id: trunk@23234 -
2012-12-27 23:36:16 +00:00
Tomas Hajny
e256311188 * GetCPUCount implementation for OS/2 added
git-svn-id: trunk@23233 -
2012-12-27 22:23:03 +00:00
yury
17c9af9ec8 * Fixed the test for android.
git-svn-id: branches/targetandroid@23232 -
2012-12-27 20:52:26 +00:00
yury
e76af3a670 + Added C object files for arm-android.
git-svn-id: branches/targetandroid@23231 -
2012-12-27 20:51:32 +00:00
florian
962cf1ea10 * patch by Reinier Olislagers: change several types from Longint to Longword in the zip code, resolves #23482
git-svn-id: trunk@23230 -
2012-12-27 19:50:21 +00:00
florian
feefcb6d3d * don't generate dec for case nodes of unsigned types because dec does not set the carry flag, resolves #23503
git-svn-id: trunk@23229 -
2012-12-27 19:35:58 +00:00
ludob
7075f7aaa3 pqconnection.pp: use of connection pool instead of creating a new connection for every new transaction.
git-svn-id: trunk@23228 -
2012-12-27 18:09:22 +00:00
svenbarth
764f36a179 Extend TThread with (class) methods and (class) properties from Delphi 2007 and newer.
Especially for the introduction of the Queue method the internal Synchronize handling was modified. Instead of handling only one event there is now a queue of events which is walked completely when CheckSynchronize is called. Each entry in the queue can carry a PRTLEvent which will be signaled when the contained method has been executed and thus Synchronize methods can still be blocking.
Exceptions inside the queued methods are either handed back to the calling method for Synchronize events or raised directly (after leaving the queue in a valid state) to the caller of CheckSynchronize.

The way platform specific adjustments can be made to TThread was changed. Instead of implementing the Constructor and Destructor directly one now implements the methods SysCreate and SysDestroy which are called from the Constructor and Destructor respectively. All RTLs were adjusted for this and should be controlled by the platform maintainers for correct compilation (Unix works).

The new method NameThreadForDebugging has two overloaded variants: one with the thread name as AnsiString and one with the thread name as UnicodeString.
By default the AnsiString variant calls the UnicodeString variant and the latter needs to be implemented. This can be changed by defining THREADNAME_IS_ANSISTRING for a platform. Then the UnicodeString variant calls the AnsiString one and the AnsiString one needs to be implemented.

Also added was a global property CPUCount for the System unit. This property returns the number of virtual cores of the system.

New methods and functions that should be implemented per platform are:
System.GetCPUCount (default returns 1)
Classes.TThread.GetSystemTimes (default zeros the struct)
Classes.TThread.NameThreadForDebugging (default does nothing)

More detailed information about the added methods will be available in the feature announcement mail.

git-svn-id: trunk@23227 -
2012-12-27 16:16:17 +00:00
yury
663f354471 * Support for running tests on a remote Android device using ADB.
git-svn-id: branches/targetandroid@23226 -
2012-12-27 08:17:06 +00:00
michael
0dd6c1454e * Patch from Anton to support dotted unit names (Bug ID 22919)
git-svn-id: trunk@23225 -
2012-12-26 18:09:11 +00:00
pierre
8b4603ed51 Set OSABI in elf header for openbsd OS, contributed by Pascal Stumpf
git-svn-id: trunk@23224 -
2012-12-26 15:01:38 +00:00
pierre
7457a0f321 Use new getdirentriesi49 syscall, contributed by Pascal Stumpf
git-svn-id: trunk@23223 -
2012-12-26 14:33:30 +00:00
michael
3588c39a55 * Patch by Graeme Geldenhuys to fix various issues (bug ID 23432)
git-svn-id: trunk@23222 -
2012-12-26 14:13:10 +00:00
pierre
bba4932ef9 * Fix commit 23220, by moving declaration from syscallh.inc to syscall.inc
git-svn-id: trunk@23221 -
2012-12-25 22:54:49 +00:00
pierre
70a29668a4 Try to fix simply the fpc_threadvar_relocate_proc problem
git-svn-id: trunk@23220 -
2012-12-24 16:23:30 +00:00
yury
9b799b9636 * For compatibility with existing cross-platform registry code, add registry constants to Registry unit on Windows. The constants are directly mapped to Windows unit to avoid problems.
git-svn-id: trunk@23219 -
2012-12-24 14:07:01 +00:00
marco
80c25bda92 * make onprogress public. Mantis #23476
git-svn-id: trunk@23218 -
2012-12-23 19:52:52 +00:00
marco
2b70085b61 * removed debug writeln.
git-svn-id: trunk@23216 -
2012-12-23 18:32:53 +00:00
svenbarth
e914ec7f00 Add platform independant support for "GetTickCount" and "GetTickCount64" to unit "SysUtils". "GetTickCount" is declared as deprecated from the beginning and thus "GetTickCount64" should be used instead.
The default implementation of "GetTickCount" just uses the lower 32-Bit from the result of "GetTickCount64". 
The default implementation of "GetTickCount64" is based upon "Now" for systems that support a floating point unit (and thus "Now"). 
Other systems can define a "SysTimerTick" function which is used instead if "HAS_SYSTIMERTICK" is defined.

The Windows implementation of "GetTickCount" uses Windows' "GetTickCount" function. 
The implemenation of "GetTickCount64" checks whether the system is a Windows Vista or newer and then uses Windows' "GetTickCount64" function. Otherwise Windows' "GetTickCount" is used also.

The Unix implementation of "GetTickCount" is the default one. 
The "GetTickCount64" implementation uses "fpgettimeofday".

git-svn-id: trunk@23215 -
2012-12-23 16:12:57 +00:00
sergei
d967566a37 * Changed TExternalAssembler.CreateSmartLinkPath to use ansistrings (TPathStr), like the rest of file handling routines do.
git-svn-id: trunk@23214 -
2012-12-23 14:11:27 +00:00
sergei
27c626245b * Reuse RecordRTTI to finalize class instances. This is possible because RTTI for classes is the same as for records (except different value of tkKind field), and RecordRTTI ignores tkKind (assuming that required checks are done by its caller).
git-svn-id: trunk@23213 -
2012-12-23 12:10:11 +00:00
marco
4dbe24d375 * some position 64-bit fixes found when I did a quick investigation of #23482
Don't know if this solves that though.

git-svn-id: trunk@23211 -
2012-12-22 19:59:58 +00:00