summaryrefslogtreecommitdiff
path: root/Source/Core/Common/SymbolDB.cpp
diff options
context:
space:
mode:
authorAmber Brault <celestialamber1@gmail.com>2026-05-07 09:24:55 +0200
committerAmber Brault <celestialamber1@gmail.com>2026-05-07 09:25:28 +0200
commit3f5460a5ff318751b3effb85c4c57bbdd46e9ece (patch)
treea3d1de70144416637e4e1e0ccfa7bf9ee4d03ef0 /Source/Core/Common/SymbolDB.cpp
parenteb44b64c9ecbca2f6e346a1d2bdcdf00609f9f31 (diff)
Core: Implement automatic symbol demangling
Diffstat (limited to 'Source/Core/Common/SymbolDB.cpp')
-rw-r--r--Source/Core/Common/SymbolDB.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/Common/SymbolDB.cpp b/Source/Core/Common/SymbolDB.cpp
index 2fa514ba86..e1778d2ca5 100644
--- a/Source/Core/Common/SymbolDB.cpp
+++ b/Source/Core/Common/SymbolDB.cpp
@@ -9,6 +9,7 @@
#include <string>
#include <utility>
+#include "Common/CWDemangler.h"
#include "Common/CommonTypes.h"
#include "Common/Logging/Log.h"
@@ -31,6 +32,10 @@ void Symbol::Rename(const std::string& symbol_name)
{
this->name = symbol_name;
this->function_name = GetStrippedFunctionName(symbol_name);
+
+ // Try demangling the symbol name, saving it in the symbol if valid.
+ auto demangle_result = CWDemangler::demangle(symbol_name, CWDemangler::DemangleOptions());
+ this->demangled_name = demangle_result.value_or("");
}
void SymbolDB::List()