/*
** Automatically generated from `backjump.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64-apple-darwin13.3.0.
** Do not edit.
*/
#ifndef BACKJUMP_MH
#define BACKJUMP_MH

#ifdef __cplusplus
extern "C" {
#endif

#ifdef MR_HIGHLEVEL_CODE
#include "mercury.h"
#else
  #ifndef MERCURY_HDR_EXCLUDE_IMP_H
  #include "mercury_imp.h"
  #endif
#endif
#ifdef MR_DEEP_PROFILING
#include "mercury_deep_profiling.h"
#endif

#ifndef BACKJUMP_DECL_GUARD
#define BACKJUMP_DECL_GUARD
#line 121 "backjump.m"
#include "mercury_backjump.h"
#line 30 "backjump.mh.tmp"
#line 128 "backjump.m"

/* protect against multiple inclusion */
#ifndef ML_BACKJUMP_GUARD
#define ML_BACKJUMP_GUARD

#ifdef MR_HIGHLEVEL_CODE

#include <setjmp.h>

#ifdef MR_USE_GCC_NESTED_FUNCTIONS
    #define MR_CONT_PARAMS      MR_NestedCont cont
    #define MR_CONT_PARAM_TYPES MR_NestedCont
    #define MR_CONT_ARGS        cont
    #define MR_CONT_CALL()      (*cont)()
#else
    #define MR_CONT_PARAMS      MR_Cont cont, void *cont_env
    #define MR_CONT_PARAM_TYPES MR_Cont, void *
    #define MR_CONT_ARGS        cont, cont_env
    #define MR_CONT_CALL()      cont(cont_env)
#endif

void MR_CALL
mercury__backjump__builtin_choice_id_1_p_0(MR_BackJumpChoiceId *id, MR_CONT_PARAMS);

void MR_CALL
mercury__backjump__builtin_backjump_1_p_0(MR_BackJumpChoiceId id);

#endif /* MR_HIGHLEVEL_CODE */
#endif /* ML_BACKJUMP_GUARD */

#line 62 "backjump.mh.tmp"
#line 252 "backjump.m"

#ifndef MR_HIGHLEVEL_CODE

#include "mercury_stacks.h"
#include "mercury_stack_trace.h"
#include "mercury_trace_base.h"
#include "mercury_layout_util.h"
#include "mercury_deep_profiling_hand.h"

#endif /* !MR_HIGHLEVEL_CODE */

#line 75 "backjump.mh.tmp"

#endif
void ML_report_invalid_backjump(MR_Integer);

#ifdef __cplusplus
}
#endif

#endif /* BACKJUMP_MH */
