D.gnu - Exceptions don't work in FreeBSD port of gdc
- Dmitry Marakasov <amdmi3 amdmi3.ru> Jun 21 2008
- Nicolay Korslund <korslund gmail.com> Jun 25 2008
- Witold Baryluk <baryluk smp.if.uj.edu.pl> Jul 04 2008
Exceptions don't work in FreeBSD port of gdc, throw leads straight to abort():
% gdc --version
gdc (GCC) 4.1.3 20071105 (prerelease (gdc 0.24, using dmd 1.020))
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
% cat test.d
import std.stdio;
void main() {
try {
throw new Exception("test");
} catch (Exception e) {
}
}
% gdc test.d
% ./a.out
[1] 98829 abort ./a.out
I'm not very familiar with D and gdc, so I don't have an idea what may be the
cause. There's nothing related to exceptions in the port as well. So how do I
enable them?
Please feel free to ask for any additional info.
Jun 21 2008
I'm having this problem with OpenMW. Dmitry and myself are currently working together to port openmw to FreeBSD, but it's a bit fragile if exceptions don't work. Can anyone confirm that this does or doesn't happen on FreeBSD? Is there any reason why gdc's exceptions shouldn't work on other unix systems? (How do they work really?) I just want to know if we are doing something obviously wrong, before filing a bug report. Nico Dmitry Marakasov Wrote:% cat test.d import std.stdio; void main() { try { throw new Exception("test"); } catch (Exception e) { } } % gdc test.d % ./a.out [1] 98829 abort ./a.out
Jun 25 2008
Dnia 2008-06-25, =C5=9Bro o godzinie 11:26 -0400, Nicolay Korslund pisze:import std.stdio; =20 void main() { try { throw new Exception("test"); } catch (Exception e) { } }
=EF=BB=BF$ gdc t.d=20 $ ./a.out=20 Abort trap: 6 (core dumped) $ :(
Jul 04 2008








Witold Baryluk <baryluk smp.if.uj.edu.pl>