summaryrefslogtreecommitdiff
path: root/demangler
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2025-05-14 18:06:42 -0600
committerRusty Wagner <rusty.wagner@gmail.com>2025-05-19 11:46:38 -0600
commit1b135ac9d41053326dd5da74d31716f90008f89f (patch)
treee827515065a6938ecabce8a58fbb8e7188cbf863 /demangler
parente6496396f37f337f3a8422fdb66f261257d25b61 (diff)
Fix demangler for internal core type changes
Diffstat (limited to 'demangler')
-rw-r--r--demangler/msvc/demangle_msvc.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/demangler/msvc/demangle_msvc.cpp b/demangler/msvc/demangle_msvc.cpp
index 4888887a..9966db38 100644
--- a/demangler/msvc/demangle_msvc.cpp
+++ b/demangler/msvc/demangle_msvc.cpp
@@ -1616,7 +1616,12 @@ TypeBuilder Demangle::DemangleFunction(BNNameType classFunctionType, bool pointe
params.pop_back();
// TODO: fix calling convention
- TypeBuilder newType = TypeBuilder::FunctionType(shouldHaveReturnType ? returnType.Finalize() : Type::VoidType(), nullptr, params);
+ Ref<Type> returnTypeObj;
+ if (shouldHaveReturnType)
+ returnTypeObj = returnType.Finalize();
+ else
+ returnTypeObj = Type::VoidType();
+ TypeBuilder newType = TypeBuilder::FunctionType(returnTypeObj, nullptr, params);
newType.SetConst(_const);
newType.SetVolatile(_volatile);
newType.SetPointerSuffix(suffix);