summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-01-10 21:52:08 +0000
committerMike Frysinger <vapier@gentoo.org>2011-01-10 21:52:08 +0000
commit5f78776ab10ca691df6a39760795257e30121be5 (patch)
treeaf17830010a40e221de6a5cfe825c1931ed96bbe /sim
parent0df8b4180acb4890d058c92753dafcd4ff0a87d1 (diff)
downloadbinutils-5f78776ab10ca691df6a39760795257e30121be5.tar.gz
binutils-5f78776ab10ca691df6a39760795257e30121be5.tar.bz2
binutils-5f78776ab10ca691df6a39760795257e30121be5.zip
sim: add noreturn markings to more hw abort/halt funcs
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>
Diffstat (limited to 'sim')
-rw-r--r--sim/common/ChangeLog5
-rw-r--r--sim/common/hw-device.h6
-rw-r--r--sim/common/sim-hw.h2
3 files changed, 9 insertions, 4 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index ea0ce2070b0..04ea93b61ae 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,8 @@
+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 *.
diff --git a/sim/common/hw-device.h b/sim/common/hw-device.h
index 4ac61b1ad0b..b0f66eb53f6 100644
--- a/sim/common/hw-device.h
+++ b/sim/common/hw-device.h
@@ -433,17 +433,17 @@ int hw_ioctl
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)
diff --git a/sim/common/sim-hw.h b/sim/common/sim-hw.h
index 1e0d3b37eb9..e85cecc2b11 100644
--- a/sim/common/sim-hw.h
+++ b/sim/common/sim-hw.h
@@ -49,7 +49,7 @@ void sim_hw_abort
(SIM_DESC sd,
struct hw *hw,
const char *fmt,
- ...) __attribute__ ((format (printf, 3, 4)));
+ ...) __attribute__ ((format (printf, 3, 4), noreturn));