Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use std::string::rfind to match string prefix.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 22 Apr 2021 20:27:08 +0000 (22:27 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 22 Apr 2021 21:00:25 +0000 (23:00 +0200)
src/mc/inspect/mc_dwarf.cpp
src/xbt/backtrace.cpp

index 90277e1..48261b0 100644 (file)
@@ -30,8 +30,6 @@
 #include <elfutils/libdw.h>
 #include <elfutils/version.h>
 
-#include <boost/algorithm/string/predicate.hpp>
-
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_dwarf, mc, "DWARF processing");
 
 /** @brief The default DW_TAG_lower_bound for a given DW_AT_language.
@@ -473,8 +471,7 @@ static void MC_dwarf_add_members(const simgrid::mc::ObjectInformation* /*info*/,
         member.name = name;
       // Those base names are used by GCC and clang for virtual table pointers
       // respectively ("__vptr$ClassName", "__vptr.ClassName"):
-      if (boost::algorithm::starts_with(member.name, "__vptr$") ||
-          boost::algorithm::starts_with(member.name, "__vptr."))
+      if (member.name.rfind("__vptr$", 0) == 0 || member.name.rfind("__vptr.", 0) == 0)
         member.flags |= simgrid::mc::Member::VIRTUAL_POINTER_FLAG;
       // A cleaner solution would be to check against the type:
       // ---
index 7324dca..ec5c0a0 100644 (file)
@@ -10,7 +10,6 @@
 #include <xbt/sysdep.h>
 #include <xbt/virtu.h>
 
-#include <boost/algorithm/string/predicate.hpp>
 #include <cstdio>
 #include <cstdlib>
 #include <sstream>
@@ -49,8 +48,8 @@ public:
     for (boost::stacktrace::frame const& frame : st) {
       const std::string frame_name = frame.name();
       if (print) {
-        if (boost::starts_with(frame_name, "simgrid::xbt::MainFunction") ||
-            boost::starts_with(frame_name, "simgrid::kernel::context::Context::operator()()"))
+        if (frame_name.rfind("simgrid::xbt::MainFunction", 0) == 0 ||
+            frame_name.rfind("simgrid::kernel::context::Context::operator()()", 0) == 0)
           break;
         ss << "  ->  " << frame_count++ << "# " << frame << "\n";
         if (frame_name == "main")