- * in GCC later than version 2.7 or so. If you are using some
- * compiler that doesn't understand this, you could could just
- * change it to "typedef void never_returns" and nothing would
- * break, though you might get a few more bytes of compiled code or
- * a few more compiler warnings. -- WHN 2000-10-21 */
-typedef volatile void never_returns;
+ * in GCC later than version 2.5 or so. */
+#if defined(__GNUC__)
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5)
+#define never_returns __attribute__ ((noreturn))
+#else
+#define never_returns
+#endif
+#else
+#define never_returns
+#endif
+
+extern void *successful_malloc (size_t size);
+extern char *copied_string (char *string);
+
+#define RUNTIME_OPTIONS_MAGIC 0x31EBF355
+/* 1 for magic, 1 for boolean, 2 for struct runtime_options fields */
+#define RUNTIME_OPTIONS_WORDS (1 + 1 + 2)
+
+struct runtime_options {
+ size_t dynamic_space_size;
+ size_t thread_control_stack_size;
+};