[fpc-devel] Exception handling failure
Adriaan van Os
adriaan at adriaan.biz
Thu Mar 12 10:18:42 CET 2026
I see that fpc source commit 4921be35
https://gitlab.com/freepascal.org/fpc/source/-/commit/4921be352392c32c401dd689de50980fdaa7b578 adds
"some exception related tests that currently fail on aarch64-win64". I see no committed fixes in
the history after that. My 3.3.1 compiler was built from the jan 10 sources (as a more recent
revision failed to bootstrap). This 3.3.1 compiler fails a simple exception handling test on macOS,
which previous compilers did handle.
[Mac-mini:~/fpc-test/simple-crashme] administrator% cat crashme2.pas
{$modeswitch exceptions}
program crashme2;
type
pinteger = ^integer;
var
p: pinteger;
begin
try
p := pinteger( 1234);
p^ := 1
except
writeln
( 'the exception was catched')
end
[Mac-mini:~/fpc-test/simple-crashme] administrator% /usr/local/lib/fpc/3.3.1/ppca64 crashme2.pas
Free Pascal Compiler version 3.3.1 [2026/01/10] for aarch64
Copyright (c) 1993-2026 by Florian Klaempfl and others
Target OS: Darwin for AArch64
Compiling crashme2.pas
Assembling (pipe) crashme2.s
Linking crashme2
-macosx_version_min has been renamed to -macos_version_min
16 lines compiled, 0.4 sec, 180224 bytes code, 98303 bytes data
[Mac-mini:~/fpc-test/simple-crashme] administrator% ./crashme2
Runtime error 216 at $0000000104EC36A8
$0000000104EC36A8
$0000000104EEB4CC
$0000000104EC35E0
$0000000104EC3638
$00000001820C7154
$4E35800000000000
[Mac-mini:~/fpc-test/simple-crashme] administrator% /usr/local/lib/fpc/3.2.4/ppca64 crashme2.pas
Free Pascal Compiler version 3.2.4-rc1 [2025/10/15] for aarch64
Copyright (c) 1993-2024 by Florian Klaempfl and others
Target OS: Darwin for AArch64
Compiling crashme2.pas
Assembling crashme2
Linking crashme2
ld: warning: -multiply_defined is obsolete
-macosx_version_min has been renamed to -macos_version_min
16 lines compiled, 0.1 sec
[Mac-mini:~/fpc-test/simple-crashme] administrator% ./crashme2
the exception was catched
[Mac-mini:~/fpc-test/simple-crashme] administrator% /usr/local/lib/fpc/3.0.4/ppcx64 crashme2.pas
Free Pascal Compiler version 3.0.4 [2017/11/26] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Darwin for x86_64
Compiling crashme2.pas
Assembling (pipe) crashme2.s
Linking crashme2
ld: warning: -multiply_defined is obsolete
-macosx_version_min has been renamed to -macos_version_min
ld: warning: support for macOS with 10.5 minimum deployment target is deprecated and will be
removed in future release
ld: warning: building for macOS 10.5 is deprecated
16 lines compiled, 0.2 sec
[Mac-mini:~/fpc-test/simple-crashme] administrator% ./crashme2
the exception was catched
[Mac-mini:~] administrator% sw_vers
ProductName: macOS
ProductVersion: 14.7.4
BuildVersion: 23H420
More information about the fpc-devel
mailing list