-/* GCC can be told that a function doesn't return; this helps it do
- better error checking (for uninitialized variable use, for
- example), and some optimization. */
-#ifdef __GNUC__
-#define SCM_NORETURN __attribute__ ((noreturn))
-#else
-#define SCM_NORETURN
-#endif
-
-extern void scm_error SCM_P ((SCM key, const char *subr, const char *message,
- SCM args, SCM rest)) SCM_NORETURN;
-extern SCM scm_error_scm SCM_P ((SCM key, SCM subr, SCM message,
- SCM args, SCM rest)) SCM_NORETURN;
-extern SCM scm_strerror (SCM err);
-extern void scm_syserror SCM_P ((const char *subr)) SCM_NORETURN;
-extern void scm_syserror_msg SCM_P ((const char *subr, const char *message,
- SCM args, int eno)) SCM_NORETURN;
-extern void scm_sysmissing SCM_P ((const char *subr)) SCM_NORETURN;
-extern void scm_num_overflow SCM_P ((const char *subr)) SCM_NORETURN;
-extern void scm_out_of_range SCM_P ((const char *subr, SCM bad_value))
+SCM_API void scm_error (SCM key, const char *subr, const char *message,
+ SCM args, SCM rest) SCM_NORETURN;
+SCM_API SCM scm_error_scm (SCM key, SCM subr, SCM message,
+ SCM args, SCM rest) SCM_NORETURN;
+SCM_API SCM scm_strerror (SCM err);
+SCM_API void scm_syserror (const char *subr) SCM_NORETURN;
+SCM_API void scm_syserror_msg (const char *subr, const char *message,
+ SCM args, int eno) SCM_NORETURN;
+SCM_API void scm_num_overflow (const char *subr) SCM_NORETURN;
+SCM_API void scm_out_of_range (const char *subr, SCM bad_value)