/*
** Automatically generated from `backjump.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64--netbsd.
** Do not edit.
**
** The autoconfigured grade settings governing
** the generation of this C file were
**
** TAG_BITS=3
** UNBOXED_FLOAT=yes
** PREGENERATED_DIST=no
** HIGHLEVEL_CODE=yes
**
** END_OF_C_GRADE_INFO
*/


/* :- module backjump. */
/* :- interface. */

#ifndef MR_HEADER_GUARD_backjump
#define MR_HEADER_GUARD_backjump

#ifdef __cplusplus
extern "C" {
#endif

#include "mercury.h"


#ifndef BACKJUMP_DECL_GUARD
#define BACKJUMP_DECL_GUARD
#line 121 "backjump.m"
#include "mercury_backjump.h"
#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 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 */

#endif




#line 85 "backjump.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__backjump__backjump__type_ctor_info_choice_id_0;

#line 90 "backjump.m"
void MR_CALL 
mercury__backjump____Compare____choice_id_0_0(
#line 90 "backjump.m"
  MR_Word * mercury__backjump__param_1,
#line 90 "backjump.m"
  MR_Integer mercury__backjump__param_2,
#line 90 "backjump.m"
  MR_Integer mercury__backjump__param_3);

#line 90 "backjump.m"
MR_bool MR_CALL 
mercury__backjump____Unify____choice_id_0_0(
#line 90 "backjump.m"
  MR_Integer mercury__backjump__param_1,
#line 90 "backjump.m"
  MR_Integer mercury__backjump__param_2);

#line 80 "backjump.m"
MR_Integer MR_CALL 
mercury__backjump__to_int_1_f_0(
#line 80 "backjump.m"
  MR_Integer mercury__backjump__param_1);

#line 67 "backjump.m"
void MR_CALL 
mercury__backjump__backjump_1_p_0(
#line 67 "backjump.m"
  MR_Integer mercury__backjump__param_1);

#line 61 "backjump.m"
void MR_CALL 
mercury__backjump__get_choice_id_1_p_0(
#line 61 "backjump.m"
  MR_Integer * mercury__backjump__param_1,
#line 61 "backjump.m"
  MR_Cont mercury__backjump__param_2,
#line 61 "backjump.m"
  void * mercury__backjump__param_3);

void mercury__backjump__init(void);
void mercury__backjump__init_type_tables(void);
void mercury__backjump__init_debugger(void);

#ifdef __cplusplus
}
#endif

#endif /* MR_HEADER_GUARD_backjump */

/* :- end_interface backjump. */
