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


/* :- module stm_builtin. */
/* :- interface. */

#ifndef MR_HEADER_GUARD_stm_builtin
#define MR_HEADER_GUARD_stm_builtin

#ifdef __cplusplus
extern "C" {
#endif

#include "mercury.h"


#ifndef STM_BUILTIN_DECL_GUARD
#define STM_BUILTIN_DECL_GUARD
#line 213 "stm_builtin.m"
#include "mercury_stm.h"
#line 407 "stm_builtin.m"

/*
INIT mercury_sys_init_stm_builtin_modules
*/

#if !defined(MR_HIGHLEVEL_CODE)
    MR_define_extern_entry(mercury__stm_builtin__block_thread_resume);
#endif

#endif




#line 52 "stm_builtin.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__stm_builtin__stm_builtin__type_ctor_info_rollback_exception_0;

#line 55 "stm_builtin.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__stm_builtin__stm_builtin__type_ctor_info_stm_0;

#line 58 "stm_builtin.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__stm_builtin__stm_builtin__type_ctor_info_stm_dummy_output_0;

#line 61 "stm_builtin.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__stm_builtin__stm_builtin__type_ctor_info_stm_validation_result_0;

#line 64 "stm_builtin.mih.tmp"
extern const MR_TypeCtorInfo_Struct mercury__stm_builtin__stm_builtin__type_ctor_info_stm_var_1;

#line 187 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_67_111_109_112_97_114_101_95_95_95_115_116_109_95_98_117_105_108_116_105_110_95_95_115_116_109_95_100_117_109_109_121_95_111_117_116_112_117_116_95_48_95_95_91_50_44_32_51_93_95_48_3_p_0(
#line 187 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_1);

#line 187 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_95_95_85_110_105_102_121_95_95_95_115_116_109_95_98_117_105_108_116_105_110_95_95_115_116_109_95_100_117_109_109_121_95_111_117_116_112_117_116_95_48_95_95_91_49_44_32_50_93_95_48_2_p_0(void);

#line 82 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__f_85_110_117_115_101_100_65_114_103_115_95_95_112_114_101_100_95_95_114_101_116_114_121_95_95_91_49_93_95_48_1_p_0(void);

#line 223 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin____Compare____stm_var_1_0(
#line 223 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 223 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_2,
#line 223 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_3,
#line 223 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_4);

#line 223 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin____Unify____stm_var_1_0(
#line 223 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 223 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 223 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_3);

#line 158 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin____Compare____stm_validation_result_0_0(
#line 158 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_1,
#line 158 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2,
#line 158 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_3);

#line 158 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin____Unify____stm_validation_result_0_0(
#line 158 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 158 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2);

#line 187 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin____Compare____stm_dummy_output_0_0(
#line 187 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_1);

#line 187 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin____Unify____stm_dummy_output_0_0(void);

#line 226 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin____Compare____stm_0_0(
#line 226 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_1,
#line 226 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 226 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_3);

#line 226 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin____Unify____stm_0_0(
#line 226 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1,
#line 226 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2);

#line 125 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin____Compare____rollback_exception_0_0(
#line 125 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_1,
#line 125 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2,
#line 125 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_3);

#line 125 "stm_builtin.m"
MR_bool MR_CALL 
mercury__stm_builtin____Unify____rollback_exception_0_0(
#line 125 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 125 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2);

#line 201 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_merge_nested_logs_3_p_0(
#line 201 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1,
#line 201 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 201 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3);

#line 199 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__unsafe_write_stm_var_4_p_0(
#line 199 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 199 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 199 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_3,
#line 199 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_4,
#line 199 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_5);

#line 194 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_from_inner_to_outer_2_p_0(
#line 194 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 194 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 194 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3);

#line 193 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_from_outer_to_inner_2_p_0(
#line 193 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 193 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 193 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3);

#line 181 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_block_1_p_0(
#line 181 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1);

#line 172 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_commit_1_p_0(
#line 172 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1);

#line 165 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_validate_2_p_0(
#line 165 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1,
#line 165 "stm_builtin.m"
  MR_Word * mercury__stm_builtin__param_2);

#line 150 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_unlock_0_p_0(void);

#line 146 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_lock_0_p_0(void);

#line 142 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_create_nested_transaction_log_2_p_0(
#line 142 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1,
#line 142 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_2);

#line 135 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_discard_transaction_log_1_p_0(
#line 135 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1);

#line 131 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__stm_create_transaction_log_1_p_0(
#line 131 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_1);

#line 104 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__or_else_5_p_0(
#line 104 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 104 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2,
#line 104 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_3,
#line 104 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_4,
#line 104 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_5,
#line 104 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_6);

#line 96 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__atomic_transaction_4_p_0(
#line 96 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 96 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_2,
#line 96 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3);

#line 82 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__retry_1_p_0(
#line 82 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_1);

#line 70 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__read_stm_var_4_p_0(
#line 70 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 70 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 70 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3,
#line 70 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_4,
#line 70 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_5);

#line 66 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__write_stm_var_4_p_0(
#line 66 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 66 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 66 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_3,
#line 66 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_4,
#line 66 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_5);

#line 62 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__new_stm_var_atomic_4_p_0(
#line 62 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 62 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 62 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3,
#line 62 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_4,
#line 62 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_5);

#line 56 "stm_builtin.m"
void MR_CALL 
mercury__stm_builtin__new_stm_var_4_p_0(
#line 56 "stm_builtin.m"
  MR_Word mercury__stm_builtin__param_1,
#line 56 "stm_builtin.m"
  MR_Box mercury__stm_builtin__param_2,
#line 56 "stm_builtin.m"
  MR_Box * mercury__stm_builtin__param_3);

void mercury__stm_builtin__init(void);
void mercury__stm_builtin__init_type_tables(void);
void mercury__stm_builtin__init_debugger(void);

#ifdef __cplusplus
}
#endif

#endif /* MR_HEADER_GUARD_stm_builtin */

/* :- end_interface stm_builtin. */
