X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel-headers.c;h=ed6cfe67ae18f31a531ac4e4d7f04928b7a2218a;hb=bd4f596b07e3783992e00eae88afdc05ebe7c6a6;hp=3cdee8aa8eae3fea44295a3481956798126dffb0;hpb=94284af2ff059b0d83d891fb9903f182db6751af;p=sbcl.git diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index 3cdee8a..ed6cfe6 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -51,18 +51,18 @@ printf("(define-alien-type " lispname " (%s %d))\n", (((foo=-1)<0) ? "sb!alien:signed" : "unsigned"), (8 * (sizeof foo))); } void -defconstant(char* lisp_name, long unix_number) +defconstant(char* lisp_name, unsigned long unix_number) { - printf("(defconstant %s %ld) ; #x%lx\n", + printf("(defconstant %s %lu) ; #x%lx\n", lisp_name, unix_number, unix_number); } -void deferrno(char* lisp_name, long unix_number) +void deferrno(char* lisp_name, unsigned long unix_number) { defconstant(lisp_name, unix_number); } -void defsignal(char* lisp_name, long unix_number) +void defsignal(char* lisp_name, unsigned long unix_number) { defconstant(lisp_name, unix_number); } @@ -149,6 +149,16 @@ main(int argc, char *argv[]) defconstant ("CSIDL_FLAG_CREATE", CSIDL_FLAG_CREATE); defconstant ("CSIDL_FLAG_MASK", CSIDL_FLAG_MASK); + printf(";;; Exception codes\n"); + defconstant("+exception-flt-divide-by-zero+", EXCEPTION_FLT_DIVIDE_BY_ZERO); + defconstant("+exception-flt-invalid-operation+", EXCEPTION_FLT_INVALID_OPERATION); + defconstant("+exception-flt-underflow+", EXCEPTION_FLT_UNDERFLOW); + defconstant("+exception-flt-overflow+", EXCEPTION_FLT_OVERFLOW); + defconstant("+exception-flt-inexact-result+", EXCEPTION_FLT_INEXACT_RESULT); + defconstant("+exception-flt-denormal-operand+", EXCEPTION_FLT_DENORMAL_OPERAND); + defconstant("+exception-flt-stack-check+", EXCEPTION_FLT_STACK_CHECK); + defconstant("+exception-stack-overflow+", EXCEPTION_STACK_OVERFLOW); + printf(";;; FormatMessage\n"); defconstant ("FORMAT_MESSAGE_ALLOCATE_BUFFER", FORMAT_MESSAGE_ALLOCATE_BUFFER); @@ -168,6 +178,7 @@ main(int argc, char *argv[]) DEFTYPE("dword", DWORD); DEFTYPE("bool", BOOL); DEFTYPE("uint", UINT); + DEFTYPE("ulong", ULONG); /* FIXME: SB-UNIX and SB-WIN32 really need to be untangled. */ printf("(in-package \"SB!UNIX\")\n\n"); @@ -343,6 +354,14 @@ main(int argc, char *argv[]) defsignal("sigxcpu", SIGXCPU); defsignal("sigxfsz", SIGXFSZ); #endif + defconstant("fpe-intovf", FPE_INTOVF); + defconstant("fpe-intdiv", FPE_INTDIV); + defconstant("fpe-fltdiv", FPE_FLTDIV); + defconstant("fpe-fltovf", FPE_FLTOVF); + defconstant("fpe-fltund", FPE_FLTUND); + defconstant("fpe-fltres", FPE_FLTRES); + defconstant("fpe-fltinv", FPE_FLTINV); + defconstant("fpe-fltsub", FPE_FLTSUB); #endif // _WIN32 return 0; }