+/*******************************************************************************
+*
+* Perl/Pollution/Portability
+*
+********************************************************************************
+*
+* $Revision: 6 $
+* $Author: mhx $
+* $Date: 2005/02/02 21:47:34 +0100 $
+*
+********************************************************************************
+*
+* Version 3.x, Copyright (C) 2004-2005, Marcus Holland-Moritz.
+* Version 2.x, Copyright (C) 2001, Paul Marquess.
+* Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the same terms as Perl itself.
+*
+*******************************************************************************/
#include "EXTERN.h"
#include "perl.h"
+
+#define NO_XSLOCKS
#include "XSUB.h"
#include "ppport.h"
-void test3(void)
+static void throws_exception(int throw_e)
+{
+ if (throw_e)
+ croak("boo\n");
+}
+
+int exception(int throw_e)
+{
+ dTHR;
+ dXCPT;
+ SV *caught = get_sv("Devel::PPPort::exception_caught", 0);
+
+ XCPT_TRY_START {
+ throws_exception(throw_e);
+ } XCPT_TRY_END
+
+ XCPT_CATCH
+ {
+ sv_setiv(caught, 1);
+ XCPT_RETHROW;
+ }
+
+ sv_setiv(caught, 0);
+
+ return 42;
+}
+
+void call_newCONSTSUB_3(void)
{
- newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
+ newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
}
+