Commit Graph

60 Commits

Author SHA1 Message Date
paul
fcaac0ebe1 compiler,rtl - safecall handling:
- pass address to SafeCallException  method(rtl needed a modification)
  - improve code generation for regular safecall routines (not methods)
  - improve test - check that passed exception and address are valid

git-svn-id: trunk@14946 -
2010-02-27 04:41:52 +00:00
paul
bfb7d91b74 rtl: fix typos
git-svn-id: trunk@14935 -
2010-02-25 04:09:30 +00:00
yury
e475735c43 * ifdefed fatal error messages in exception handling to be available only if debugging is needed.
git-svn-id: trunk@9562 -
2007-12-28 20:10:19 +00:00
yury
99ea98c7b1 * Workaround dead code warnings by using preprocessor.
git-svn-id: trunk@9497 -
2007-12-21 21:49:47 +00:00
yury
3ab20922d6 * Optimization for code size. It saves 1.5KB for ARM and 0.5KB for i386.
git-svn-id: trunk@5329 -
2006-11-11 13:26:09 +00:00
Jonas Maebe
865a4573cf * exit with exitcode 217 instead of some random OS result
on an unhandled exception

git-svn-id: trunk@5314 -
2006-11-10 20:32:20 +00:00
yury
df6fec5301 * removed runtime error on unhandled exception when SysUtils is used.
git-svn-id: trunk@5273 -
2006-11-07 10:32:27 +00:00
florian
0089de9428 * improved exception handling code
git-svn-id: trunk@2632 -
2006-02-19 15:48:15 +00:00
florian
9e5a2f9522 * From Yury Sidorov:
* Now runtime error is not popped on program's exit if exception was handled. 

git-svn-id: trunk@601 -
2005-07-09 13:06:19 +00:00
florian
25b79e9db3 * patch from Yury Sidorov to make simply exception handling without sysutils possible
git-svn-id: trunk@595 -
2005-07-07 18:53:21 +00:00
peter
58cdeb8184 * give runerror 231 if exceptobjectstack=nil
git-svn-id: trunk@401 -
2005-06-14 05:22:18 +00:00
michael
5cafc069b5 + Removed NOSAVEREGISTERS define
git-svn-id: trunk@307 -
2005-06-09 17:58:20 +00:00
michael
859bb30daa + Removed HASTHREADVAR SUPPORT_THREADVAR defines
git-svn-id: trunk@295 -
2005-06-09 17:40:29 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
5d02b2c6cc Removed HAS_ADDR_STACK_ON_STACK define
git-svn-id: trunk@261 -
2005-06-07 21:14:57 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
peter
87fe5d9b98 * limit backtraces to values inside the stack, patch by Vincent Snijders
git-svn-id: trunk@162 -
2005-06-01 06:50:52 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
michael
71f56b3d61 + Patch to return nil if there is no exception object (as in Delphi) 2005-05-08 21:20:26 +00:00
florian
cd86e40cb7 * ref. counting for popping second exceptiono object fixed 2005-04-03 11:32:05 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
93ec8d154c * fix crash with backtrace if invalid frame is passed 2005-01-29 17:01:18 +00:00
peter
a68b710efd * retrieve backtrace when exception is raised
* RaiseMaxFrameCount added to limit the number of backtraces, setting
    it to 0 disables backtraces. Default is 16
2005-01-26 17:07:10 +00:00
peter
fd759e521f * saveregisters calling convention is obsolete 2004-10-24 20:01:41 +00:00
florian
2553988d5a * exception addr record size for 64 bit systems fixed 2004-04-27 18:47:51 +00:00
florian
c9122a4719 + completed x86-64/linux system unit 2004-02-05 01:16:12 +00:00
michael
0271650b3a + New runerror 231 (exception stack error) and 232 (nothread support) 2003-11-26 20:12:08 +00:00
florian
91cd02e04e + applied patch for ref. counted exceptions by Johannes Berg 2003-10-06 15:59:20 +00:00
marco
e4621276af * one VIRTUALPASCAL 2003-09-06 21:56:29 +00:00
florian
eab5d1f7c5 * started to make the rtl 64 bit save by introducing SizeInt and SizeUInt (similar to size_t of C) 2003-05-01 08:05:23 +00:00
peter
5fff238567 * threads unit added for thread support 2002-10-14 19:39:16 +00:00
peter
01dfac4a4e * old logs removed and tabs fixed 2002-09-07 15:06:34 +00:00
Jonas Maebe
b9f6efc85b + "compproc" helpers
* renamed several helpers so that their name is the same as their
    "public alias", which should facilitate the conversion of processor
    specific code in the code generator to processor independent code
  * some small fixes to the val_ansistring and val_widestring helpers
    (always immediately exit if the source string is longer than 255
     chars)
  * fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
    still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
peter
e150c46c78 * remove warnings 2001-04-13 22:26:32 +00:00
florian
ddd5f168eb + more MT stuff added 2001-01-24 21:47:18 +00:00
florian
00917cb46f * the info about exception frames is stored now on the stack
instead on the heap
2001-01-05 17:35:50 +00:00
sg
9048ff6354 * Added 'RaiseProc': A user-definable callback procedure which gets
called whenever an exception is being raised
2000-09-30 07:38:07 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
michael
bc8a454afd + Modifications for exception support in sysutils. Mainly added
RaiseList function.
2000-06-22 18:05:56 +00:00
pierre
3930cc5818 * Use saveregisters for PushExcept.. 2000-05-04 12:25:53 +00:00
peter
ebbf2e578f * backtraces for exceptions are now only generated from the place of the
exception
  * frame is also pushed for exceptions
  * raise statement enhanced with [,<frame>]
2000-04-24 11:11:50 +00:00
florian
e22cb380d4 + popsecondobjectstack added 2000-02-09 22:16:50 +00:00
peter
6b66a55cd6 * truncated log 2000-02-09 16:59:28 +00:00
florian
d3b00ca358 * popobjectstack is now a function 2000-02-06 17:17:57 +00:00
daniel
ec29a31834 * copyright 2000 2000-01-07 16:41:28 +00:00
florian
95b0c00463 * catch doesn't call popaddrstack anymore, this is done now by the compiler 1999-07-27 08:14:15 +00:00
florian
7d90aed73f * reraise doesn't call popaddrstack anymode 1999-07-26 12:11:28 +00:00
peter
ec0a511cfa * merged 1999-06-14 00:43:35 +00:00