/*===========================================================================*/
/*   (Engine/signals.scm)                                                    */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Engine/signals.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>

BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzengine_signalsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzinit_mainz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__osz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_killzd2myzd2selfz00zzengine_signalsz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_installzd2compilerzd2signalsz12z12zzengine_signalsz00();
extern obj_t BGl_za2verboseza2z00zzengine_paramz00;
BGL_IMPORT obj_t BGl_signalz00zz__osz00(int, obj_t);
static obj_t BGl__installzd2compilerzd2signalsz12z12zzengine_signalsz00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzengine_signalsz00();
static obj_t BGl_requirezd2initializa7ationz75zzengine_signalsz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_notifyzd2errorzd2zz__errorz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzengine_signalsz00();
extern obj_t BGl_exitzd2bigloozd2zzinit_mainz00(obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_installzd2compilerzd2signalsz12zd2envzc0zzengine_signalsz00, BgL_bgl__installza7d2compilerza7d2signalsza712za712za7za7engine_signalsza7001038za7, BGl__installzd2compilerzd2signalsz12z12zzengine_signalsz00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc1025z00zzengine_signalsz00, BgL_bgl_killza7d2myza7d2selfza700za7za7engine_signalsza7001039z00, BGl_killzd2myzd2selfz00zzengine_signalsz00, 0L, 1 );
DEFINE_STRING( BGl_string1029z00zzengine_signalsz00, BgL_bgl_string1029za700za7za7engine_signalsza7001040z00, "aborting", 8 );
DEFINE_STRING( BGl_string1028z00zzengine_signalsz00, BgL_bgl_string1028za700za7za7engine_signalsza7001041z00, "internal error", 14 );
DEFINE_STRING( BGl_string1027z00zzengine_signalsz00, BgL_bgl_string1027za700za7za7engine_signalsza7001042z00, "aborting...", 11 );
DEFINE_STRING( BGl_string1026z00zzengine_signalsz00, BgL_bgl_string1026za700za7za7engine_signalsza7001043z00, "Illegal signal caught", 21 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzengine_signalsz00(long BgL_checksumz00_12, char * BgL_fromz00_13)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzengine_signalsz00))
{ 
BGl_requirezd2initializa7ationz75zzengine_signalsz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzengine_signalsz00(); 
BGl_importedzd2moduleszd2initz00zzengine_signalsz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzengine_signalsz00()
{ AN_OBJECT;
{ /* ./Engine/signals.scm 16 */
BGl_modulezd2initializa7ationz75zz__osz00(((long)0), "engine_signals"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "engine_signals"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "engine_signals"); 
return BUNSPEC;} 
}



/* install-compiler-signals! */
BGL_EXPORTED_DEF obj_t BGl_installzd2compilerzd2signalsz12z12zzengine_signalsz00()
{ AN_OBJECT;
{ /* ./Engine/signals.scm 24 */
BGl_signalz00zz__osz00(SIGFPE, BGl_proc1025z00zzengine_signalsz00); 
BGl_signalz00zz__osz00(SIGILL, BGl_proc1025z00zzengine_signalsz00); 
BGl_signalz00zz__osz00(SIGBUS, BGl_proc1025z00zzengine_signalsz00); 
return 
BGl_signalz00zz__osz00(SIGSEGV, BGl_proc1025z00zzengine_signalsz00);} 
}



/* _install-compiler-signals! */
obj_t BGl__installzd2compilerzd2signalsz12z12zzengine_signalsz00(obj_t BgL_envz00_9)
{ AN_OBJECT;
{ /* ./Engine/signals.scm 24 */
return 
BGl_installzd2compilerzd2signalsz12z12zzengine_signalsz00();} 
}



/* kill-my-self */
obj_t BGl_killzd2myzd2selfz00zzengine_signalsz00(obj_t BgL_envz00_10, obj_t BgL_nz00_11)
{ AN_OBJECT;
{ /* ./Engine/signals.scm 25 */
{ 
obj_t BgL_nz00_2;
BgL_nz00_2 = BgL_nz00_11; 
{ /* ./Engine/signals.scm 26 */
bool_t BgL_test1008z00_4;
{ /* ./Engine/signals.scm 26 */
long BgL_n1z00_6;
BgL_n1z00_6 = 
(long)CINT(BGl_za2verboseza2z00zzengine_paramz00); 
BgL_test1008z00_4 = 
(BgL_n1z00_6>((long)0)); } 
if(BgL_test1008z00_4)
{ /* ./Engine/signals.scm 26 */
BGl_notifyzd2errorzd2zz__errorz00(BGl_string1026z00zzengine_signalsz00, BgL_nz00_2, BGl_string1027z00zzengine_signalsz00); }  else 
{ /* ./Engine/signals.scm 26 */
BGl_notifyzd2errorzd2zz__errorz00(BGl_string1028z00zzengine_signalsz00, BGl_string1029z00zzengine_signalsz00, BFALSE); } } 
return 
BGl_exitzd2bigloozd2zzinit_mainz00(
BINT(((long)2)));} } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzengine_signalsz00()
{ AN_OBJECT;
{ /* ./Engine/signals.scm 16 */
BGl_modulezd2initializa7ationz75zzinit_mainz00(((long)6610), "engine_signals"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "engine_signals");} 
}

