aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/include/uhd/utils/exception.hpp7
-rw-r--r--host/lib/usrp/dboard/db_rfx.cpp4
-rw-r--r--host/lib/usrp/dboard/db_wbx.cpp4
-rw-r--r--host/lib/usrp/dboard/db_xcvr2450.cpp6
-rw-r--r--host/lib/usrp/dboard_manager.cpp2
5 files changed, 15 insertions, 8 deletions
diff --git a/host/include/uhd/utils/exception.hpp b/host/include/uhd/utils/exception.hpp
index 40e81fae0..e74c19b9c 100644
--- a/host/include/uhd/utils/exception.hpp
+++ b/host/include/uhd/utils/exception.hpp
@@ -35,4 +35,11 @@
" at " + std::string(__FILE__) + ":" + BOOST_STRINGIZE(__LINE__) + "\n" \
)
+/*!
+ * Throws an invalid code path exception with throw-site information.
+ * Use this macro in places that code execution is not supposed to go.
+ */
+#define UHD_THROW_INVALID_CODE_PATH() \
+ throw std::runtime_error(UHD_THROW_SITE_INFO("invalid code path"))
+
#endif /* INCLUDED_UHD_UTILS_EXCEPTION_HPP */
diff --git a/host/lib/usrp/dboard/db_rfx.cpp b/host/lib/usrp/dboard/db_rfx.cpp
index 5b90bbbad..17fc00d24 100644
--- a/host/lib/usrp/dboard/db_rfx.cpp
+++ b/host/lib/usrp/dboard/db_rfx.cpp
@@ -247,7 +247,7 @@ static float rx_pga0_gain_to_dac_volts(float &gain){
void rfx_xcvr::set_tx_gain(float, const std::string &name){
assert_has(rfx_tx_gain_ranges.keys(), name, "rfx tx gain name");
- UHD_ASSERT_THROW(false); //no gains to set
+ UHD_THROW_INVALID_CODE_PATH(); //no gains to set
}
void rfx_xcvr::set_rx_gain(float gain, const std::string &name){
@@ -259,7 +259,7 @@ void rfx_xcvr::set_rx_gain(float gain, const std::string &name){
//write the new voltage to the aux dac
this->get_iface()->write_aux_dac(dboard_iface::UNIT_RX, 1, dac_volts);
}
- else UHD_ASSERT_THROW(false);
+ else UHD_THROW_INVALID_CODE_PATH();
}
/***********************************************************************
diff --git a/host/lib/usrp/dboard/db_wbx.cpp b/host/lib/usrp/dboard/db_wbx.cpp
index 4cf168c6b..95dcb3802 100644
--- a/host/lib/usrp/dboard/db_wbx.cpp
+++ b/host/lib/usrp/dboard/db_wbx.cpp
@@ -248,7 +248,7 @@ void wbx_xcvr::set_tx_gain(float gain, const std::string &name){
//write the new voltage to the aux dac
this->get_iface()->write_aux_dac(dboard_iface::UNIT_TX, 0, dac_volts);
}
- else UHD_ASSERT_THROW(false);
+ else UHD_THROW_INVALID_CODE_PATH();
}
void wbx_xcvr::set_rx_gain(float gain, const std::string &name){
@@ -260,7 +260,7 @@ void wbx_xcvr::set_rx_gain(float gain, const std::string &name){
//write the new gain to atr regs
update_atr();
}
- else UHD_ASSERT_THROW(false);
+ else UHD_THROW_INVALID_CODE_PATH();
}
/***********************************************************************
diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp
index d4d5f184e..974a378bd 100644
--- a/host/lib/usrp/dboard/db_xcvr2450.cpp
+++ b/host/lib/usrp/dboard/db_xcvr2450.cpp
@@ -375,7 +375,7 @@ static max2829_regs_t::tx_baseband_gain_t gain_to_tx_bb_reg(float &gain){
gain = 5;
return max2829_regs_t::TX_BASEBAND_GAIN_5DB;
}
- UHD_ASSERT_THROW(false);
+ UHD_THROW_INVALID_CODE_PATH();
}
/*!
@@ -417,7 +417,7 @@ void xcvr2450::set_tx_gain(float gain, const std::string &name){
_max2829_regs.tx_baseband_gain = gain_to_tx_bb_reg(gain);
send_reg(0x9);
}
- else UHD_ASSERT_THROW(false);
+ else UHD_THROW_INVALID_CODE_PATH();
_tx_gains[name] = gain;
}
@@ -431,7 +431,7 @@ void xcvr2450::set_rx_gain(float gain, const std::string &name){
_max2829_regs.rx_lna_gain = gain_to_rx_lna_reg(gain);
send_reg(0xB);
}
- else UHD_ASSERT_THROW(false);
+ else UHD_THROW_INVALID_CODE_PATH();
_rx_gains[name] = gain;
}
diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp
index 01352039e..35ddfc4ee 100644
--- a/host/lib/usrp/dboard_manager.cpp
+++ b/host/lib/usrp/dboard_manager.cpp
@@ -181,7 +181,7 @@ static args_t get_dboard_args(
switch(unit){
case dboard_iface::UNIT_RX: return get_dboard_args(unit, 0x0001);
case dboard_iface::UNIT_TX: return get_dboard_args(unit, 0x0000);
- default: UHD_ASSERT_THROW(false);
+ default: UHD_THROW_INVALID_CODE_PATH();
}
}