diff --git a/SWIG/Lib/guile/guile_gh_run.swg b/SWIG/Lib/guile/guile_gh_run.swg index 699834d54..7a5f8fe3d 100644 --- a/SWIG/Lib/guile/guile_gh_run.swg +++ b/SWIG/Lib/guile/guile_gh_run.swg @@ -30,6 +30,12 @@ extern "C" { #define SWIG_Guile_MarkPointerNoncollectable(s) (s) #define SWIG_Guile_MarkPointerDestroyed(s) (s) +#define SWIG_contract_assert(expr, msg) \ + if (!(expr)) \ + scm_error(gh_symbol2scm("swig-contract-assertion-failed"), \ + (char *) FUNC_NAME, (char *) msg, \ + SCM_EOL, SCM_BOOL_F); else + #if defined(SWIG_NOINCLUDE) # define SWIGSTATIC #elif defined(SWIG_GLOBAL) diff --git a/SWIG/Lib/guile/guile_scm_run.swg b/SWIG/Lib/guile/guile_scm_run.swg index da9780ee5..0464d497c 100644 --- a/SWIG/Lib/guile/guile_scm_run.swg +++ b/SWIG/Lib/guile/guile_scm_run.swg @@ -36,7 +36,12 @@ typedef struct swig_guile_clientdata { SWIG_Guile_NewPointerObj((void*)ptr, type, owner) #define SWIG_PropagateClientData(type) \ SWIG_Guile_PropagateClientData(type) - +#define SWIG_contract_assert(expr, msg) \ + if (!(expr)) \ + scm_error(scm_str2symbol("swig-contract-assertion-failed"), \ + (char *) FUNC_NAME, (char *) msg, \ + SCM_EOL, SCM_BOOL_F); else + #ifdef SWIG_NOINCLUDE /* Interface helper function */