Blame module3.c

Packit 7d6a7d
/*******************************************************************************
Packit 7d6a7d
*
Packit 7d6a7d
*  Perl/Pollution/Portability
Packit 7d6a7d
*
Packit 7d6a7d
********************************************************************************
Packit 7d6a7d
*
Packit 7d6a7d
*  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
Packit 7d6a7d
*  Version 2.x, Copyright (C) 2001, Paul Marquess.
Packit 7d6a7d
*  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
Packit 7d6a7d
*
Packit 7d6a7d
*  This program is free software; you can redistribute it and/or
Packit 7d6a7d
*  modify it under the same terms as Perl itself.
Packit 7d6a7d
*
Packit 7d6a7d
*******************************************************************************/
Packit 7d6a7d
Packit 7d6a7d
#include "EXTERN.h"
Packit 7d6a7d
#include "perl.h"
Packit 7d6a7d
Packit 7d6a7d
#define NEED_PL_parser
Packit 7d6a7d
#define NO_XSLOCKS
Packit 7d6a7d
#include "XSUB.h"
Packit 7d6a7d
Packit 7d6a7d
#include "ppport.h"
Packit 7d6a7d
Packit 7d6a7d
static void throws_exception(int throw_e)
Packit 7d6a7d
{
Packit 7d6a7d
  if (throw_e)
Packit 7d6a7d
    croak("boo\n");
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
int exception(int throw_e)
Packit 7d6a7d
{
Packit 7d6a7d
  dTHR;
Packit 7d6a7d
  dXCPT;
Packit 7d6a7d
  SV *caught = get_sv("Devel::PPPort::exception_caught", 0);
Packit 7d6a7d
Packit 7d6a7d
  XCPT_TRY_START {
Packit 7d6a7d
    throws_exception(throw_e);
Packit 7d6a7d
  } XCPT_TRY_END
Packit 7d6a7d
Packit 7d6a7d
  XCPT_CATCH
Packit 7d6a7d
  {
Packit 7d6a7d
    sv_setiv(caught, 1);
Packit 7d6a7d
    XCPT_RETHROW;
Packit 7d6a7d
  }
Packit 7d6a7d
Packit 7d6a7d
  sv_setiv(caught, 0);
Packit 7d6a7d
Packit 7d6a7d
  return 42;
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
void call_newCONSTSUB_3(void)
Packit 7d6a7d
{
Packit 7d6a7d
  newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
U32 get_PL_signals_3(void)
Packit 7d6a7d
{
Packit 7d6a7d
  return PL_signals;
Packit 7d6a7d
}
Packit 7d6a7d
Packit 7d6a7d
int dummy_parser_warning(void)
Packit 7d6a7d
{
Packit 7d6a7d
  char * volatile my_bufptr;
Packit 7d6a7d
  char * volatile *my_p_bufptr;
Packit 7d6a7d
  my_bufptr = PL_bufptr;
Packit 7d6a7d
  my_p_bufptr = &PL_bufptr;
Packit 7d6a7d
  PL_bufptr = my_bufptr;
Packit 7d6a7d
  PL_bufptr = *my_p_bufptr;
Packit 7d6a7d
  return &PL_bufptr != NULL;
Packit 7d6a7d
}