summaryrefslogtreecommitdiffstats
path: root/c/src/librtems++
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/librtems++')
-rw-r--r--c/src/librtems++/ChangeLog5
-rw-r--r--c/src/librtems++/src/rtemsInterrupt.cc10
2 files changed, 13 insertions, 2 deletions
diff --git a/c/src/librtems++/ChangeLog b/c/src/librtems++/ChangeLog
index 6c64385cbc..ceccfe9f34 100644
--- a/c/src/librtems++/ChangeLog
+++ b/c/src/librtems++/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-06 Chris Johns <chrisj@rtems.org>
+
+ * src/rtemsInterrupt.cc: Fixed the code to compile on targets with
+ CPU_SIMPLE_VECTORED_INTERRUPTS defined to true.
+
2008-12-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/rtems++/rtemsEvent.h, include/rtems++/rtemsMessageQueue.h,
diff --git a/c/src/librtems++/src/rtemsInterrupt.cc b/c/src/librtems++/src/rtemsInterrupt.cc
index 21b875b414..6d92d592f4 100644
--- a/c/src/librtems++/src/rtemsInterrupt.cc
+++ b/c/src/librtems++/src/rtemsInterrupt.cc
@@ -75,10 +75,13 @@ const rtems_status_code rtemsInterrupt::isr_catch(const rtems_vector_number vec)
interrupt_table[vec] = this;
vector = vec;
+#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE)
set_status_code(rtems_interrupt_catch(redirector,
vector,
&old_handler));
-
+#else
+ set_status_code(RTEMS_NOT_DEFINED);
+#endif
if (successful())
caught = true;
else
@@ -96,10 +99,13 @@ const rtems_status_code rtemsInterrupt::release(void)
{
if (caught)
{
+#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE)
set_status_code(rtems_interrupt_catch(old_handler,
vector,
&old_handler));
-
+#else
+ set_status_code(RTEMS_NOT_DEFINED);
+#endif
interrupt_table[vector] = old_interrupt;
old_interrupt = 0;
old_handler = 0;