These functions either call abort() themselves, or call functions which
are already marked noreturn. Either way, they don't return, so mark them
as such so calling code can assume this. This fixes some uninitialized
warnings due to code paths that end in an abort function.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+2010-01-10 Mike Frysinger <vapier@gentoo.org>
+
+ * hw-device.h (hw_abort, hw_vabort, hw_halt): Add noreturn attribute.
+ * sim-hw.h (sim_hw_abort): Likewise.
+
2011-01-05 Mike Frysinger <vapier@gentoo.org>
* sim-load.c (sim_load_file): Change buffer type to unsigned char *.
void hw_abort
(struct hw *me,
const char *fmt,
- ...) __attribute__ ((format (printf, 2, 3)));
+ ...) __attribute__ ((format (printf, 2, 3), noreturn));
void hw_vabort
(struct hw *me,
const char *fmt,
- va_list ap);
+ va_list ap) __attribute__ ((noreturn));
void hw_halt
(struct hw *me,
int reason,
- int status);
+ int status) __attribute__ ((noreturn));
#define hw_trace_p(hw) ((hw)->trace_of_hw_p + 0)
(SIM_DESC sd,
struct hw *hw,
const char *fmt,
- ...) __attribute__ ((format (printf, 3, 4)));
+ ...) __attribute__ ((format (printf, 3, 4), noreturn));