diff --git a/llvm/include/llvm/Demangle/ItaniumDemangle.h b/llvm/include/llvm/Demangle/ItaniumDemangle.h --- a/llvm/include/llvm/Demangle/ItaniumDemangle.h +++ b/llvm/include/llvm/Demangle/ItaniumDemangle.h @@ -3715,7 +3715,7 @@ std::string_view Proto; { ScopedOverride SaveFirst(First, &*ProtoSourceName.begin()), - SaveLast(Last, &*ProtoSourceName.end()); + SaveLast(Last, &*ProtoSourceName.rbegin() + 1); Proto = parseBareSourceName(); } if (Proto.empty())