=head1 NAME
ExtUtils::ExCxx - Let perl use ANSI C++ exceptions.
=head1 SYNOPSIS
use ExtUtils::ExCxx;
=head1 DESCRIPTION
Replaces perl's default tryblock method with a C++ try/throw style
method. This should be completely transparent (except to extensions
that secretly invoke low-level exception handling routines).
=head1 PATCH
At the moment, this extension requires patches to the perl source
code. Hopefully, these changes will make it into the next developer
release. Either apply stage0[1-3] or the whole.patch to 5.004_56.
'make test' should be 100%!
(FYI: You don't need to built this extension to test the patch.)
=head2 ALSO
call_list should probably be optimized to call tryblock only once
instead of doing it for each BEGIN or END block. However, the control
flow is messy enough that I didn't attempt it.
dJMPENV is setjmp-centric. This might be construed as a bug.
=head2 FUNCTIONS AFFECTED
=over 4
=item * JMPENV_PUSH
perl_call_sv
perl_eval_sv
docatch
perl_parse
perl_run
call_list
=item * JMPENV_JUMP
die
croak
docatch
pp_goto
calllist
my_exit_jump
=back
=head1 BUGS
sigsetjmp saves more state than a C++ try block. sigprocmask &
priocntl stuff should be addressed.
=head1 AUTHOR
Copyright © 1997-1998 Joshua Nathaniel Pritikin. All rights reserved.
This package is free software and is provided "as is" without express
or implied warranty. It may be used, redistributed and/or modified
under the terms of the Perl Artistic License (see
http://www.perl.com/perl/misc/Artistic.html)
The author hereby releases the patches to the perl source code to the
public domain. Thanks a ton! pritikin@mindspring.com
=cut