From: Guillermo J. Rozas Date: Mon, 1 Nov 1993 15:30:34 +0000 (+0000) Subject: dynamic initialization need not know the block name. X-Git-Tag: 20090517-FFI~7633 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=83559255de140cc39eec485cacd78ed3f51b9277;p=mit-scheme.git dynamic initialization need not know the block name. --- diff --git a/v7/src/compiler/machines/C/cout.scm b/v7/src/compiler/machines/C/cout.scm index f29c63055..d90ad657e 100644 --- a/v7/src/compiler/machines/C/cout.scm +++ b/v7/src/compiler/machines/C/cout.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: cout.scm,v 1.8 1993/10/31 18:34:13 gjr Exp $ +$Id: cout.scm,v 1.9 1993/11/01 15:30:24 gjr Exp $ Copyright (c) 1992-1993 Massachusetts Institute of Technology @@ -203,7 +203,8 @@ MIT in each case. |# "\", " decl-data-name ", " data-name ")\n" "#endif /* WANT_ONLY_CODE */\n\n" - "DECLARE_DYNAMIC_INITIALIZATION ()\n\n")) + "DECLARE_DYNAMIC_INITIALIZATION (\"" + code-name "\")\n\n")) '()) xtra-procs diff --git a/v7/src/microcode/liarc.h b/v7/src/microcode/liarc.h index 5d07ac54a..d9adef733 100644 --- a/v7/src/microcode/liarc.h +++ b/v7/src/microcode/liarc.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: liarc.h,v 1.7 1993/10/30 03:02:05 gjr Exp $ +$Id: liarc.h,v 1.8 1993/11/01 15:30:34 gjr Exp $ Copyright (c) 1992-1993 Massachusetts Institute of Technology @@ -346,7 +346,7 @@ REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer extern int EXFUN (decl_data, (void)); \ extern SCHEME_OBJECT * EXFUN (data, (unsigned long)); -# define DECLARE_DYNAMIC_INITIALIZATION() +# define DECLARE_DYNAMIC_INITIALIZATION(name) #else /* COMPILE_FOR_DYNAMIC_LOADING */ @@ -371,17 +371,21 @@ REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer return (declare_compiled_data (name, decl_data, data)); \ } -# define DECLARE_DYNAMIC_INITIALIZATION() \ - extern int EXFUN (dload_initialize_file, (void)); \ +# define DECLARE_DYNAMIC_INITIALIZATION(name) \ + extern char * EXFUN (dload_initialize_file, (void)); \ \ - int \ + char * \ DEFUN_VOID (dload_initialize_file) \ { \ int result = (dload_initialize_code ()); \ if (result != 0) \ - return (result); \ - return (dload_initialize_data ()); \ - } + return ((char *) NULL); \ + result = (dload_initialize_data ()); \ + if (result != 0) \ + return ((char *) NULL); \ + else \ + return (name); \ + } \ #endif /* COMPILE_FOR_DYNAMIC_LOADING */ diff --git a/v8/src/microcode/liarc.h b/v8/src/microcode/liarc.h index 5d07ac54a..d9adef733 100644 --- a/v8/src/microcode/liarc.h +++ b/v8/src/microcode/liarc.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: liarc.h,v 1.7 1993/10/30 03:02:05 gjr Exp $ +$Id: liarc.h,v 1.8 1993/11/01 15:30:34 gjr Exp $ Copyright (c) 1992-1993 Massachusetts Institute of Technology @@ -346,7 +346,7 @@ REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer extern int EXFUN (decl_data, (void)); \ extern SCHEME_OBJECT * EXFUN (data, (unsigned long)); -# define DECLARE_DYNAMIC_INITIALIZATION() +# define DECLARE_DYNAMIC_INITIALIZATION(name) #else /* COMPILE_FOR_DYNAMIC_LOADING */ @@ -371,17 +371,21 @@ REGISTER SCHEME_OBJECT * Rsp = Stack_Pointer return (declare_compiled_data (name, decl_data, data)); \ } -# define DECLARE_DYNAMIC_INITIALIZATION() \ - extern int EXFUN (dload_initialize_file, (void)); \ +# define DECLARE_DYNAMIC_INITIALIZATION(name) \ + extern char * EXFUN (dload_initialize_file, (void)); \ \ - int \ + char * \ DEFUN_VOID (dload_initialize_file) \ { \ int result = (dload_initialize_code ()); \ if (result != 0) \ - return (result); \ - return (dload_initialize_data ()); \ - } + return ((char *) NULL); \ + result = (dload_initialize_data ()); \ + if (result != 0) \ + return ((char *) NULL); \ + else \ + return (name); \ + } \ #endif /* COMPILE_FOR_DYNAMIC_LOADING */