summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-11-23 02:45:29 +0000
committerMike Frysinger <vapier@gentoo.org>2010-11-23 02:45:29 +0000
commit81c641e7072bbb8d3d1b066f2bf11be27e4883e4 (patch)
treea5f4ec1a0ab5850c55cac933511f1e1bb5744d0b
parentd94e4f4f7ca11c8ef7b6d1f4ef83bea51c2eeb92 (diff)
downloadppe42-binutils-81c641e7072bbb8d3d1b066f2bf11be27e4883e4.tar.gz
ppe42-binutils-81c641e7072bbb8d3d1b066f2bf11be27e4883e4.zip
sim: cast away hw/device differences
When building with device and hw support, the sim-core code generates a lot of build time warnings such as: ./../common/sim-core.c: In function 'sim_core_map_attach': ./../common/sim-core.c:198:7: warning: passing argument 1 of 'device_error' from incompatible pointer type ../common/sim-core.h:347:6: note: expected 'struct device *' but argument is of type 'struct hw *' ./../common/sim-core.c:235:7: warning: passing argument 1 of 'device_error' from incompatible pointer type ../common/sim-core.h:347:6: note: expected 'struct device *' but argument is of type 'struct hw *' In reality, these two structures get cast back and forth in the core code already and so are "compatible". So tweak the three functions that generate all of these warnings to include the casts automatically. I know this isn't exactly clean, but the current device/hw ifdef approach is full of landmines itself and I'm not entirely sure how to unscrew it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--sim/common/ChangeLog5
-rw-r--r--sim/common/sim-core.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index d6dc0224d1..3a6cea4d64 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-22 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-core.c (WITH_HW): Add device casts to device_error,
+ device_io_read_buffer, and device_io_write_buffer.
+
2010-11-16 Mike Frysinger <vapier@gentoo.org>
* dv-sockser.c (dv_sockser_write_buffer): New function.
diff --git a/sim/common/sim-core.c b/sim/common/sim-core.c
index 5476ead71f..31cb06b479 100644
--- a/sim/common/sim-core.c
+++ b/sim/common/sim-core.c
@@ -28,6 +28,9 @@
#if (WITH_HW)
#include "sim-hw.h"
+#define device_error(client, ...) device_error ((device *)(client), __VA_ARGS__)
+#define device_io_read_buffer(client, ...) device_io_read_buffer ((device *)(client), __VA_ARGS__)
+#define device_io_write_buffer(client, ...) device_io_write_buffer ((device *)(client), __VA_ARGS__)
#endif
/* "core" module install handler.
OpenPOWER on IntegriCloud