fix type name deducing for clang

This commit is contained in:
Francisco Paisana 2020-04-27 16:24:57 +01:00 committed by Francisco Paisana
parent af9ca9f9e5
commit 38f848ecdf
4 changed files with 20 additions and 5 deletions

View File

@ -66,6 +66,22 @@ std::string get_type_name()
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
template <typename T>
std::string get_type_name()

View File

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

View File

@ -66,9 +66,8 @@ private:
virtual ~mme_gtpc();
static mme_gtpc* m_instance;
srslte::log_filter* m_mme_gtpc_log;
srslte::byte_buffer_pool* m_pool;
s1ap* m_s1ap;
srslte::log_filter* m_mme_gtpc_log;
s1ap* m_s1ap;
uint32_t m_next_ctrl_teid;
std::map<uint32_t, uint64_t> m_mme_ctr_teid_to_imsi;

View File

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