aboutsummaryrefslogtreecommitdiff
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
parent0df8b4180acb4890d058c92753dafcd4ff0a87d1 (diff)
downloadgdb-5f78776ab10ca691df6a39760795257e30121be5.zip
gdb-5f78776ab10ca691df6a39760795257e30121be5.tar.gz
gdb-5f78776ab10ca691df6a39760795257e30121be5.tar.bz2
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>
-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 ea0ce20..04ea93b 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 4ac61b1..b0f66eb 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 1e0d3b3..e85cecc 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));