Commit Graph

9165 Commits

Author SHA1 Message Date
florian
6a1a2d3464 * get rid of some feature checks, probably the whole feature stuff is plainly the wrong way, embedded rtl compiles again, resolves #20913
git-svn-id: trunk@19907 -
2011-12-29 14:06:30 +00:00
florian
c4c20102fd * make buildrtl aware of heapmgr
git-svn-id: trunk@19906 -
2011-12-29 14:04:50 +00:00
marco
881caba4c3 * power functions added
git-svn-id: trunk@19900 -
2011-12-28 18:11:45 +00:00
marco
397a6059f8 * correct INVALID_SOCKET to NOT 0, mantis #20946
git-svn-id: trunk@19883 -
2011-12-22 12:20:00 +00:00
sergei
ce2812e24a * Split combined declarations of GetModuleHandle and GetModuleFileName into separate WinCE and non-WinCE versions. Using Pointer as 'common denominator' in combined declarations was making it impossible to use e.g. GetModuleHandle('literal') in System unit.
* Also fixed parameter and return types for these declarations.

git-svn-id: trunk@19881 -
2011-12-22 02:17:02 +00:00
marco
60c1b263d6 * add public alias to getrlimit
git-svn-id: trunk@19878 -
2011-12-21 14:05:52 +00:00
mazen
489e20356c * Removed executable flag from source files.
git-svn-id: trunk@19877 -
2011-12-19 17:40:02 +00:00
sergei
cd347e40b2 * Moved existing exception-related definitions into separate include file seh64.inc, and added some more WinAPI definitions needed for SEH.
git-svn-id: trunk@19869 -
2011-12-18 01:15:31 +00:00
sergei
ebb2205c63 * Moved TExceptionRecord definition to sysos.inc, it is identical for all Windows targets.
git-svn-id: trunk@19868 -
2011-12-18 00:45:52 +00:00
sergei
009ee271ec - Cleaned out STR_CONCAT_PROCS define
- i386-specific fpc_shortstr_append_shortstr removed too, because a) it was anyway disabled with STR_CONCAT_PROCS, b) the generic implementation is smaller and probably faster due to optimized Move().

git-svn-id: trunk@19867 -
2011-12-17 17:22:18 +00:00
sergei
724f41a9af - Cleaned out FPC_STRTOSHORTSTRPROC and FPC_STRTOCHARARRAYPROC defines. Somebody had to do it one day.
git-svn-id: trunk@19851 -
2011-12-14 22:40:08 +00:00
sergei
abdbe49861 + SysUtils part of SEH (enabled only for win64)
* EExternal.ExceptionRecord changed from field to property and made available on all Windows, not just win32.
* CatchUnhandledException: removed AnsiString variable, ideally there should be no memory allocations in this code path.

git-svn-id: trunk@19849 -
2011-12-14 10:47:26 +00:00
sergei
5b6b6cdd11 - clean out remaining ver2_0, REGCALL, FPC_HAS_INDIRECT_MAIN_INFORMATION defines.
git-svn-id: trunk@19847 -
2011-12-13 21:40:22 +00:00
sergei
2642403d5b * float_raise: Reduce amount of threadvar accesses, gains a bit more compact code. Functionality is not changed.
git-svn-id: trunk@19846 -
2011-12-13 20:21:22 +00:00
sergei
bcbd25568e * Call InitHeap before InitSystemThreads in TLS callback (necessary because InitSystemThreads calls RelocateHeap), and skip both of them in initialization section of system.pp if they have been called from TLS callback. This restores correct initialization sequence which was broken by r19779, resulting in lots of debug messages about corrupted heap when running tests/test/theapthread.pp
git-svn-id: trunk@19836 -
2011-12-13 07:40:02 +00:00
Tomas Hajny
6b43ce2e13 * boolean must not be used for DosCalls API parameters
git-svn-id: trunk@19811 -
2011-12-11 00:46:55 +00:00
Tomas Hajny
12e216ed4e * boolean must not be used for DosCalls API parameters
git-svn-id: trunk@19810 -
2011-12-11 00:46:16 +00:00
florian
41636711e4 * fix to align float64 correctly
git-svn-id: trunk@19791 -
2011-12-09 21:34:09 +00:00
florian
c7f846ebd5 + added missing syscalls so sparc-linux rtl compiles again
git-svn-id: trunk@19790 -
2011-12-09 20:35:11 +00:00
michael
0bdccfa2b0 * Added clock_getres, clock_gettime, clock_settime calls
git-svn-id: trunk@19789 -
2011-12-09 16:30:23 +00:00
michael
2d7dbacee0 * Added inotify calls
git-svn-id: trunk@19788 -
2011-12-09 16:05:35 +00:00
sergei
3b904943e7 * Moved ExceptObjProc from objpas to system, because it is going to be called from system. Also added ExceptClsProc variable.
* Fixed SExceptionErrorMessage, it was missing format placeholder.

git-svn-id: trunk@19787 -
2011-12-09 14:52:26 +00:00
Tomas Hajny
f56cd3d6d9 * fix for SysThreadSetPriority
git-svn-id: trunk@19783 -
2011-12-09 00:26:51 +00:00
sergei
76b9d7e766 - Removed Win32Wide2AnsiMove() again, it was removed already in r17202 but got restored during subsequent cpstrnew merging.
git-svn-id: trunk@19781 -
2011-12-08 21:28:12 +00:00
pierre
4a9c8e330b + Move EXEC_callback into separate file win/systlsdir.inc
* In win32/sysinitXX units, rename EntryInforation
    to SysInitEntryInformation.
    include new win/systlsdir.inc file from
    win/syswin.inc for win64 target
    and from win32/sysinit.inc for win32 target.
    Set fields of both SysInitEntryInformation and EntryInformation
    by converting them into typed constants.

git-svn-id: trunk@19779 -
2011-12-08 16:11:07 +00:00
Legolas
8feff2bf86 * WII: added Timeval record for libogc compatibility
git-svn-id: trunk@19774 -
2011-12-07 17:29:21 +00:00
Legolas
0012aa613b * Fixed GBA rtl compilation
* Some minor cleanup

git-svn-id: trunk@19773 -
2011-12-07 17:27:52 +00:00
Tomas Hajny
3f2f5ed559 + support for working with thread priorities added
git-svn-id: trunk@19765 -
2011-12-07 01:02:56 +00:00
Tomas Hajny
4fb6274942 * minor enhancement for one of DosQuerySysState record types
git-svn-id: trunk@19764 -
2011-12-06 23:39:55 +00:00
pierre
ceffd8b8cc * Fix lineinfo problems for BeOS/Haiku
git-svn-id: trunk@19760 -
2011-12-05 16:29:43 +00:00
florian
9426cac1b0 * rebuilt Makefiles
git-svn-id: trunk@19748 -
2011-12-04 15:34:01 +00:00
Tomas Hajny
f879ee31eb + proper implementation of *Event* support
git-svn-id: trunk@19740 -
2011-12-04 02:26:34 +00:00
Tomas Hajny
4d981acad3 + proper implementation of MS Windows-like 'critical sections'
git-svn-id: trunk@19739 -
2011-12-04 00:47:17 +00:00
Jonas Maebe
a4804a3c25 * let FloatToStr output the correct number of decimals in case the
first significant digit is preceded by several zeroes (patch by
    C. Western, mantis #16907)

git-svn-id: trunk@19738 -
2011-12-03 22:34:00 +00:00
marco
f89e32c034 * expanded VK_ codes. Patch by Nikolay N. Mantis #20801
git-svn-id: trunk@19734 -
2011-12-03 16:41:06 +00:00
Tomas Hajny
c0c526efbc * DosQuerySysState and DosReplaceModule added
git-svn-id: trunk@19733 -
2011-12-03 14:59:26 +00:00
sergei
8dc6ebb5ed rtl/generic.inc, minor optimizations:
* fpc_help_constructor: call platform-optimized version of FillChar directly instead of going through generic overloaded version.
* don't compile software multiplication routines if not necessary (the interface part already has similar $ifdef around)
* fpc_shortstr_append_shortstr: use sizeint instead of integer (the latter is 16-bit, produces less efficient code on most platforms)

git-svn-id: trunk@19727 -
2011-12-02 20:55:53 +00:00
sergei
32094761ef * win32/system.pp, win64/system.pp: Moved duplicated declarations of WinAPI functions to sysos.inc (Florian's comment about include ordering is no longer true, wstrings.inc comes after sysos.inc these days).
* Result of GetCurrentProcess and first argument of ReadProcessMemory are THandle, not dword.

git-svn-id: trunk@19726 -
2011-12-02 18:52:48 +00:00
sergei
37abdd52df * Reverted r19693, calling SysInitMultithreading from PROCESS_ATTACH is plain wrong because it depends on initialized thread manager. Calling InitSystemThreads is more correct, but in case of Win32 it further depends on EnrtyInformation, which is not available at this point. Properly solving the issue requires moving the entire TLS stuff into sysinit units or something like that.
git-svn-id: trunk@19715 -
2011-11-30 15:14:00 +00:00
sergei
e62cd71a2f * Fixed cycling with 2.4.4 after r19707 (2.4.4 does not define FPC_HAS_FEATURE_RESOURCES, so related stuff is not compiled)
git-svn-id: trunk@19711 -
2011-11-30 10:49:47 +00:00
sergei
0093517227 * sysutils: changed RunErrorToExcept to use table instead of case statement for OS exceptions. This is to be able to extract exception class alone for the upcoming SEH support.
* Some Delphi-compatible changes:
  * For floating point underflow condition, raise EUnderflow, not EOverflow.
  * For unknown codes, raise EInOutError, not Exception.
  * Added entries for EZeroDivide and EStackOverflow (actually raising EZeroDivide on floating-point division by zero requires further changes to System because currently both integer and float division by zero is mapped to the same code 200).

  

git-svn-id: trunk@19707 -
2011-11-29 18:41:13 +00:00
sergei
266acd1bed * Windows TLS callbacks, call SysInitMultithreading early, it is necessary because if a statically loaded DLL creates a thread, apparently DLL_THREAD_ATTACH callback executes right away before the entry point. In turn, DLL_THREAD_ATTACH requires TLSIndex to be initialized.
git-svn-id: trunk@19693 -
2011-11-26 20:52:27 +00:00
Jonas Maebe
f67d7f08fc * use temporary location to construct writestr() string, because the
final destination may also be used in the other arguments
    (mantis #20744)

git-svn-id: trunk@19678 -
2011-11-24 19:56:21 +00:00
marco
b070a0bbbc * add NULL handling for customvariants, patch by Ludo, Mantis #20697
git-svn-id: trunk@19660 -
2011-11-20 19:45:22 +00:00
Tomas Hajny
21179c6833 * retrieve process ID even if running under DOS
git-svn-id: trunk@19644 -
2011-11-17 20:19:00 +00:00
michael
9fc66414b5 * Avoid code duplication in TFileStream.Create
git-svn-id: trunk@19628 -
2011-11-11 17:32:17 +00:00
marco
9324726374 * const added to size (record) Mantis #20653
git-svn-id: trunk@19620 -
2011-11-11 09:32:46 +00:00
Jonas Maebe
715c819ff7 - removed "packed" from record types that should/need not be packed
git-svn-id: trunk@19613 -
2011-11-08 23:13:16 +00:00
Jonas Maebe
aefe5acd72 - removed "packed" modifiers from record types, the C versions don't have any
__attribute__((__packed__)) either (and {$packrecords c} is always active
    when compiling this file)

git-svn-id: trunk@19612 -
2011-11-08 22:04:36 +00:00
Jonas Maebe
c7d38570fd * fixed file descriptor control and locking flags (patch by Barlone,
bug #20617)

git-svn-id: trunk@19611 -
2011-11-08 21:44:49 +00:00