2000-09-21 Gerd Moellmann <gerd@gnu.org>
+ * config.in (NO_RETURN): Define.as `__attribute__((__noreturn__))'
+ for GCC >= 2.5.
+
+ * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
+ NO_RETURN.
+
* window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
* keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
* indent.c, search.c, alloc.c, data.c: Avoid some more compiler
extern unsigned long cons_to_long P_ ((Lisp_Object));
extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object));
extern void args_out_of_range_3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
-extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object));
+extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object)) NO_RETURN;
extern void store_symval_forwarding P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
extern Lisp_Object do_symval_forwarding P_ ((Lisp_Object));
extern Lisp_Object set_internal P_ ((Lisp_Object, Lisp_Object, struct buffer *, int));
EXFUN (FletX, UNEVALLED);
EXFUN (Fwhile, UNEVALLED);
EXFUN (Fcatch, UNEVALLED);
-EXFUN (Fthrow, 2);
+EXFUN (Fthrow, 2) NO_RETURN;
EXFUN (Funwind_protect, UNEVALLED);
EXFUN (Fcondition_case, UNEVALLED);
-EXFUN (Fsignal, 2);
+EXFUN (Fsignal, 2) NO_RETURN;
EXFUN (Fautoload, 5);
EXFUN (Fcommandp, 1);
EXFUN (Feval, 1);
extern void specbind P_ ((Lisp_Object, Lisp_Object));
extern void record_unwind_protect P_ ((Lisp_Object (*) (Lisp_Object), Lisp_Object));
extern Lisp_Object unbind_to P_ ((int, Lisp_Object));
-extern void error P_ ((/* char *, ... */));
+extern void error P_ ((/* char *, ... */)) NO_RETURN;
extern void do_autoload P_ ((Lisp_Object, Lisp_Object));
extern Lisp_Object un_autoload P_ ((Lisp_Object));
EXFUN (Ffetch_bytecode, 1);