File Coverage

module3.c
Criterion Covered Total %
statement 26 26 100.0
branch 12 20 60.0
condition n/a
subroutine n/a
pod n/a
total 38 46 82.6


line stmt bran cond sub pod time code
1             /*******************************************************************************
2             *
3             * Perl/Pollution/Portability
4             *
5             ********************************************************************************
6             *
7             * Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
8             * Version 2.x, Copyright (C) 2001, Paul Marquess.
9             * Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
10             *
11             * This program is free software; you can redistribute it and/or
12             * modify it under the same terms as Perl itself.
13             *
14             *******************************************************************************/
15              
16             #include "EXTERN.h"
17             #include "perl.h"
18              
19             #define NEED_PL_parser
20             #define NO_XSLOCKS
21             #include "XSUB.h"
22              
23             #include "ppport.h"
24              
25 2           static void throws_exception(int throw_e)
26             {
27 2 100         if (throw_e)
28 1           croak("boo\n");
29 1           }
30              
31 3           int exception(int throw_e)
32             {
33             dTHR;
34 2           dXCPT;
35 2           SV *caught = get_sv("Devel::PPPort::exception_caught", 0);
36              
37 3 100         XCPT_TRY_START {
38 2           throws_exception(throw_e);
39 2           } XCPT_TRY_END
40              
41 2 100         XCPT_CATCH
42             {
43 1           sv_setiv(caught, 1);
44 1 50         XCPT_RETHROW;
    0          
45             }
46              
47 1           sv_setiv(caught, 0);
48              
49 1           return 42;
50             }
51              
52 1           void call_newCONSTSUB_3(void)
53             {
54 1           newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
55 1           }
56              
57 1           U32 get_PL_signals_3(void)
58             {
59 1           return PL_signals;
60             }
61              
62 1           int dummy_parser_warning(void)
63             {
64             char * volatile my_bufptr;
65             char * volatile *my_p_bufptr;
66 1 50         my_bufptr = PL_bufptr;
67 1 50         my_p_bufptr = &PL_bufptr;
68 1 50         PL_bufptr = my_bufptr;
69 1 50         PL_bufptr = *my_p_bufptr;
70 1 50         return &PL_bufptr != NULL;
71             }