File Coverage

cpan/Devel-PPPort/module3.c
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition n/a
subroutine n/a
total 22 22 100.0


line stmt bran cond sub 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           static void throws_exception(int throw_e)
26           {
27 4         if (throw_e)
28 2         croak("boo\n");
29           }
30            
31 4         int exception(int throw_e)
32           {
33           dTHR;
34           dXCPT;
35 4         SV *caught = get_sv("Devel::PPPort::exception_caught", 0);
36            
37 4         XCPT_TRY_START {
38           throws_exception(throw_e);
39 4         } XCPT_TRY_END
40            
41 4         XCPT_CATCH
42           {
43 2         sv_setiv(caught, 1);
44 2         XCPT_RETHROW;
45           }
46            
47 2         sv_setiv(caught, 0);
48            
49 2         return 42;
50           }
51            
52 2         void call_newCONSTSUB_3(void)
53           {
54 2         newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
55 2         }
56            
57 2         U32 get_PL_signals_3(void)
58           {
59 2         return PL_signals;
60           }
61            
62 2         int dummy_parser_warning(void)
63           {
64           char * volatile my_bufptr;
65           char * volatile *my_p_bufptr;
66 2         my_bufptr = PL_bufptr;
67 2         my_p_bufptr = &PL_bufptr;
68 2         PL_bufptr = my_bufptr;
69 2         PL_bufptr = *my_p_bufptr;
70 2         return &PL_bufptr != NULL;
71           }