From 373ac097e98b35c568b7d24ef05ae96896b24315 Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Wed, 12 Apr 2017 14:43:40 -0400 Subject: [PATCH] Move error strings from "constants.h" to "errnames.h" --- src/compiler/generic/genesis.lisp | 15 +++++++++------ src/runtime/interr.c | 1 + 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 4abae33d9..451eeb6a2 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -3210,12 +3210,6 @@ core and return a descriptor to it." for i from 0 when (stringp description) do (format t "#define ~A ~D~%" (c-symbol-name name) i)) - ;; C code needs strings for describe_internal_error() - (format t "#define INTERNAL_ERROR_NAMES ~{\\~%~S~^, ~}~2%" - (map 'list 'sb!kernel::!c-stringify-internal-error - sb!c:+backend-internal-errors+)) - (format t "#define INTERNAL_ERROR_NARGS {~{~S~^, ~}}~2%" - (map 'list #'cddr sb!c:+backend-internal-errors+)) ;; I'm not really sure why this is in SB!C, since it seems ;; conceptually like something that belongs to SB!VM. In any case, @@ -3254,6 +3248,14 @@ core and return a descriptor to it." (c-symbol-name symbol) (sb!xc:mask-field (symbol-value symbol) -1)))) +(defun write-errnames-h (stream) + ;; C code needs strings for describe_internal_error() + (format stream "#define INTERNAL_ERROR_NAMES ~{\\~%~S~^, ~}~2%" + (map 'list 'sb!kernel::!c-stringify-internal-error + sb!c:+backend-internal-errors+)) + (format stream "#define INTERNAL_ERROR_NARGS {~{~S~^, ~}}~2%" + (map 'list #'cddr sb!c:+backend-internal-errors+))) + #!+sb-ldb (defun write-tagnames-h (out) (labels @@ -3852,6 +3854,7 @@ initially undefined function references:~2%") (format stream "#endif~%")))) (out-to "config" (write-config-h stream)) (out-to "constants" (write-constants-h stream)) + (out-to "errnames" (write-errnames-h stream)) (out-to "gc-tables" (sb!vm::write-gc-tables stream)) #!+sb-ldb (out-to "tagnames" (write-tagnames-h stream)) diff --git a/src/runtime/interr.c b/src/runtime/interr.c index 6c3e4c890..6e6235c84 100644 --- a/src/runtime/interr.c +++ b/src/runtime/interr.c @@ -172,6 +172,7 @@ void print_constant(os_context_t *context, int offset) { } } +#include "genesis/errnames.h" char *internal_error_descriptions[] = {INTERNAL_ERROR_NAMES}; char internal_error_nargs[] = INTERNAL_ERROR_NARGS; /* internal error handler for when the Lisp error system doesn't exist -- 2.11.4.GIT