Commit Graph

149 Commits

Author SHA1 Message Date
Michaël Van Canneyt
f94f4e4ed9 * Use last invalid type cast info in EInvalidCast exception 2025-10-16 14:46:10 +02:00
Michaël Van Canneyt
3c5b049f6b * LLVM workaround 2025-05-14 08:47:14 +02:00
Michaël Van Canneyt
3df8de1994 * Make FreeAndNil type safe 2025-05-13 14:11:36 +02:00
Rika Ichinose
5952c5452b Allow freeing EHeapException and its descendants. 2025-04-13 17:33:45 +00:00
Rika Ichinose
9dfbc38a50 Don’t use explicit Move in Extract<T> and Swap<T>. 2024-12-23 21:06:22 +00:00
Frederic Kehrein
64c27a86a8 * Adding new generic Extract and Swap function to RTL
These allow to move data from one variable to another without triggering
the copy operation. Extract makes use of the newly introduced move
semantic for function results and Swap uses System.Move to not trigger
the copy mechanism.
2024-11-16 22:08:06 +00:00
florian
2f0cd77d86 * remove outdated defines, resolves #40897 2024-08-21 23:08:33 +02:00
Michaël Van Canneyt
0533acdc27 * Add RangeIndexError (delphi compatible) 2024-08-14 15:14:24 +02:00
Alligator-1
326073512d const array - reducing unnecessary data copying 2024-07-08 06:26:17 +00:00
Michaël Van Canneyt
680c096ac5 * Delphi compatibility: ListIndexErrorMsg 2024-07-05 15:55:47 +02:00
Rika Ichinose
05b7ebd34e Add Exchange<T> that works like std::exchange in C++. 2023-11-21 04:34:16 +03:00
Michaël Van Canneyt
2d3cd5bff2 * Add CreateFmt constructor for EInOutArgumentException 2023-11-20 21:45:53 +01:00
Michaël Van Canneyt
6eac18e8c1 * Add some missing exception classes 2023-11-19 16:20:08 +01:00
Michaël Van Canneyt
8fb39925eb * Implement ListIndexError 2023-11-09 11:43:19 +01:00
Michaël Van Canneyt
d587f48892 * Fix typos, missing sparc 2023-10-27 09:57:35 +02:00
Michaël Van Canneyt
21e99a0a1e * TOSVersion for Delphi compatibility 2023-10-26 22:15:36 +02:00
Michael VAN CANNEYT
ed50a1941b * Unicode resource strings 2023-07-25 16:06:53 +02:00
Michaël Van Canneyt
813105ea0a * Fix compilation for platforms that do not have unicodestring 2023-07-24 18:08:02 +02:00
Michael VAN CANNEYT
78374bf772 * Synchronize API for AnsiString/Unicode string, keep string where possible. 2023-07-24 15:38:09 +02:00
Rika Ichinose
7f4420495b TMarshal & TMarshaller, strange things from Delphi. 2023-07-22 15:24:27 +02:00
Michael VAN CANNEYT
4336599c3a * Char -> AnsiChar 2023-07-14 17:26:10 +02:00
Michael Van Canneyt
6ff542a13e * SafeFormat and helper function to convert array of const to string in a safe manner 2023-03-31 22:13:05 +02:00
florian
18e0979379 + Exception.GetBaseException 2021-11-23 23:01:06 +01:00
florian
34cd1212ea * cosmetics
git-svn-id: trunk@46744 -
2020-09-01 20:32:46 +00:00
florian
01302bc47d * subroutines working with an OS dependend time stamp use an int64 now, so the 2038 problem
on unixes can be tackled

git-svn-id: trunk@44010 -
2020-01-21 20:59:20 +00:00
marco
defabdc80d * bug #36497, minor stylistic cleanup from Cyrax that replaces some pwidechar with punicodechar
git-svn-id: trunk@43826 -
2019-12-31 16:35:32 +00:00
svenbarth
176a63b67b * fix for Mantis #35862: free the list of functions added with AddTerminateProc to avoid memory leaks
+ added test

git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
marco
15fcd0ab61 * remove old ifdefs
git-svn-id: trunk@39642 -
2018-08-19 14:54:58 +00:00
michael
ab84f09591 * Fix bug #39521. Generic functions only in trunk
git-svn-id: trunk@39525 -
2018-07-29 21:43:03 +00:00
michael
1e3f44965f * Added generic IfThen, as proposed by Thaddy de Koning, bug id #34012
git-svn-id: trunk@39521 -
2018-07-29 09:35:54 +00:00
pierre
31620a9c94 Add ESigQuit Exception class and use it in exceptmap
git-svn-id: trunk@38586 -
2018-03-21 10:28:33 +00:00
pierre
250e924ad3 + Add RTE 236 for thread errors:
inc/systemh.inc and java/jsystemh.inc:
    + Add reThreadError (and also reNoDynLibsSupport) to TRuntimeError.
    * Add new values to RuntimeErrorExitCodes after extension of TRuntimeError
  inc/system.inc and java/jsystem.inc:
    * use RTE 236 in fpc_threaderror.
  objpas/sysconst.pp and objpas/sysutils/stre.inc:
    + Add SThreadError string constant.
  objpas/sysutils/sysutilh.inc:
    + Add EThreadError class.
  objpas/sysutils/sysutils.inc
    + Add 236 to EThreadError conversion to exeptmap.

git-svn-id: trunk@38584 -
2018-03-21 10:19:04 +00:00
michael
77caa28bab * Fix bug #33204
git-svn-id: trunk@38327 -
2018-02-24 11:12:11 +00:00
pierre
ec45d8617c Fix wince rtl compilation (fix for bug report 32859)
git-svn-id: trunk@37778 -
2017-12-21 17:45:20 +00:00
nickysn
5409450195 + ported and enabled compilation of unit sysutils for win16
git-svn-id: trunk@37734 -
2017-12-15 16:58:49 +00:00
pierre
e325284160 Fix compilation failure for systems that do not have dynlibs
git-svn-id: trunk@37056 -
2017-08-25 07:28:35 +00:00
michael
a4c4ce1764 * Capture result in SafeLoadLibrary
git-svn-id: trunk@37050 -
2017-08-24 09:27:49 +00:00
michael
b6700f68b8 * Fix bug #32314 (SafeLoadLibrary does nothing on other platforms than windows)
git-svn-id: trunk@37049 -
2017-08-24 08:46:07 +00:00
marco
f0a02cdaf9 * reengineered utf8-less fix for #0031257
git-svn-id: trunk@36293 -
2017-05-22 13:58:43 +00:00
michael
3e96806f7e Renamed DisposeAndNil to FreeMemAndNil
git-svn-id: trunk@33378 -
2016-03-29 07:55:58 +00:00
michael
92b8bf97c0 * Added DisposeAndNil (bug ID 28895)
git-svn-id: trunk@33377 -
2016-03-29 07:33:28 +00:00
marco
66608fec02 * unicode executeprocess from work during Lazarus convention in IJsselstein
git-svn-id: trunk@33290 -
2016-03-19 17:59:42 +00:00
michael
4a32135563 * no type helpers in version 2.6.*
git-svn-id: trunk@32263 -
2015-11-07 09:54:43 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
michael
81fa382c42 * Rename WriteExceptionToStdErr -> WriteErrorsToStdErr
git-svn-id: trunk@30555 -
2015-04-12 15:37:46 +00:00
michael
bda3626025 * Write unhandled exceptions to StdErr. Option to revert back to old behaviour (Bug ID 17346)
git-svn-id: trunk@30140 -
2015-03-08 09:37:35 +00:00
Tomas Hajny
329f788f58 * added conditional possibility of displaying the last OS error in information displayed for unhandled exceptions
git-svn-id: trunk@29622 -
2015-02-04 01:33:14 +00:00
svenbarth
2d454dc8fa Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages.
Each port that allows the usage of dynamic libraries should call InitSystemDynLibs during initialization of the System unit.
The DynLibs unit has been adjusted to be a forwarder for the functions that now reside in the System unit (for backwards compatiblity just in case). Additionally the unit will register the DynLibsManager if it doesn't reside in the System unit anyway.
Currently only the Windows targets (Win32, Win64 and WinCE) implement the DynLibsManager inside the System unit. For other systems using the LoadLibrary, etc. functions will lead to a run error/exception.
If a port wants to implement its own DynLibsManager then it needs to define DISABLE_NO_DYNLIBS_MANAGER. TLibHandle, NilHandle and optionally TOrdinalEntry (it's set to SizeUInt otherwise) should be defined in sysdlh.inc which needs to be enabled using the define FPC_SYSTEM_HAS_SYSDLH (because there are targets which have FEATURE_DYNLIBS enabled, but don't support them... e.g. powerpc-wii -.-).
The DynLibsManager contains methods for loading a library based on a RawByteString and based on a UnicodeString. BOTH should be implemented, but internally one can forward to the other.
The loading by ordinal *can* be be implemented. If it is set to Nil then the implementation of GetProcAddress(lib,ordinal) will return Nil.

+ new functions SetDynLibsManager and GetDynLibsManager to set and retrieve the current DynLibsManager
* provide interface of DynLibs unit in unit System

git-svn-id: trunk@29613 -
2015-02-03 20:00:00 +00:00
pierre
bde3bb4f5b Give a different output if Obj is not a vlaid class
git-svn-id: trunk@29045 -
2014-11-09 22:14:13 +00:00
sergei
b16c6f8ced * i386 and x86_64 changes for Delphi compatibility:
* 'mxcsr' variable made public and renamed to DefaultMXCSR.
  * GetSSECSR and SetSSECSR renamed to GetMXCSR and SetMXCSR, respectively. Previous names continue to exist as deprecated aliases.

git-svn-id: trunk@27656 -
2014-04-25 15:10:12 +00:00