File runtime.diff of Package smlnj
--- c-libs/smlnj-date/mktime.c
+++ c-libs/smlnj-date/mktime.c
@@ -3,6 +3,7 @@
* COPYRIGHT (c) 1995 AT&T Bell Laboratories.
*/
+#include <string.h>
#include <time.h>
#include "ml-base.h"
#include "ml-c.h"
--- c-libs/smlnj-runtime/gc-ctl.c
+++ c-libs/smlnj-runtime/gc-ctl.c
@@ -5,6 +5,7 @@
* General interface for GC control functions.
*/
+#include <string.h>
#include "ml-base.h"
#include "ml-values.h"
#include "ml-state.h"
--- gc/c-globals-tbl.c
+++ gc/c-globals-tbl.c
@@ -6,6 +6,7 @@
* in the ML heap (e.g., references to C functions).
*/
+#include <string.h>
#include "ml-base.h"
#include "tags.h"
#include "ml-values.h"
--- gc/heap-in-util.c
+++ gc/heap-in-util.c
@@ -75,6 +75,7 @@ status_t HeapIO_Seek (inbuf_t *bp, long
if (fseek (bp->file, offset, SEEK_SET) != 0)
Die ("unable to seek on heap image\n");
bp->nbytes = 0; /* just in case? */
+ return SUCCESS;
}
} /* end of HeapIO_Seek */
--- gc/heap-out-util.c
+++ gc/heap-out-util.c
@@ -5,6 +5,7 @@
* Utility routines to export (or blast) an ML heap image.
*/
+#include <string.h>
#include "ml-base.h"
#include "heap.h"
#include "ml-values.h"
--- gc/mem-writer.c
+++ gc/mem-writer.c
@@ -5,6 +5,7 @@
* An implementation of the abstract writers on top of memory regions.
*/
+#include <string.h>
#include "ml-base.h"
#include "writer.h"
--- include/asm-base.h
+++ include/asm-base.h
@@ -90,7 +90,7 @@
#elif (defined(HOST_RS6000) || defined(HOST_PPC))
# if defined(OPSYS_AIX)
-# define CFUNSYM(ID) CONCAT(.,ID)
+# define CFUNSYM(ID) .ID
# define USE_TOC
# if defined(HOST_RS6000)
# define GLOBAL(ID) .globl CSYM(ID)
@@ -138,8 +138,8 @@
# define WORD(W) WORD32(W)
# else
# define CGLOBAL(ID) GLOBAL CSYM(ID)
-# define LABEL(ID) CONCAT(ID,:)
-# define IMMED(ID) CONCAT($,ID)
+# define LABEL(ID) ID:
+# define IMMED(ID) $ID
# define ALIGN4 .align 2
# define WORD(W) .word W
# define TEXT .text
--- include/ml-base.h
+++ include/ml-base.h
@@ -149,8 +149,16 @@ typedef struct { /* a table of system co
extern void Say (char *fmt, ...);
extern void SayDebug (char *fmt, ...);
extern void Error (char *, ...);
-extern void Exit (int code);
-extern void Die (char *, ...);
+extern void Exit (int code)
+#ifdef __GNUC__
+ __attribute__((noreturn))
+#endif
+;
+extern void Die (char *, ...)
+#ifdef __GNUC__
+ __attribute__((noreturn))
+#endif
+;
/* heap_params is an abstract type, whose representation depends on the
* particular GC being used.
--- kernel/main.c
+++ kernel/main.c
@@ -6,6 +6,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include <ctype.h>
#include "ml-base.h"
#include "ml-options.h"
--- mach-dep/assyntax.h
+++ mach-dep/assyntax.h
@@ -312,8 +312,8 @@
/* Addressing Modes */
/* Immediate Mode */
-#define ADDR(a) CHOICE(CONCAT($,a), CONCAT($,a), a)
-#define CONST(a) CHOICE(CONCAT($,a), CONCAT($,a), a)
+#define ADDR(a) CHOICE($a, $a, a)
+#define CONST(a) CHOICE($a, $a, a)
/* Indirect Mode */
#define CONTENT(a) CHOICE(a, a, (a)) /* take contents of variable */