fix type name deducing for clang

master
Francisco Paisana 5 years ago committed by Francisco Paisana
parent af9ca9f9e5
commit 38f848ecdf

@ -66,6 +66,22 @@ std::string get_type_name()
return s; return s;
} }
#elif defined(__clang__)
template <typename T>
std::string get_type_name()
{
static const char* funcname = __PRETTY_FUNCTION__;
static const std::string s = []() {
static const char* pos1 = strchr(funcname, '=') + 2;
static const char* pos2 = strchr(pos1, ']');
std::string s2{pos1, pos2};
size_t colon_pos = s2.rfind(':');
std::string s3 = colon_pos == std::string::npos ? s2 : s2.substr(colon_pos + 1, s2.size());
return s3.find('>') == std::string::npos ? s3 : s2;
}();
return s;
}
#else #else
template <typename T> template <typename T>
std::string get_type_name() std::string get_type_name()

@ -66,7 +66,7 @@ private:
received_##NAME = true; \ received_##NAME = true; \
} }
class dummy_radio : public srslte::radio_interface_phy class dummy_radio final : public srslte::radio_interface_phy
{ {
private: private:
std::mutex mutex; std::mutex mutex;

@ -67,7 +67,6 @@ private:
static mme_gtpc* m_instance; static mme_gtpc* m_instance;
srslte::log_filter* m_mme_gtpc_log; srslte::log_filter* m_mme_gtpc_log;
srslte::byte_buffer_pool* m_pool;
s1ap* m_s1ap; s1ap* m_s1ap;
uint32_t m_next_ctrl_teid; uint32_t m_next_ctrl_teid;

@ -62,7 +62,7 @@ class phy_test_bench : public srslte::thread
{ {
private: private:
// Dummy classes // Dummy classes
class dummy_stack : public srsue::stack_interface_phy_lte class dummy_stack final : public srsue::stack_interface_phy_lte
{ {
private: private:
srslte::log_filter log_h; srslte::log_filter log_h;

Loading…
Cancel
Save