summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);