From 2a7c0961a95f3e7c2615fcfa7801fe38d4f001cc Mon Sep 17 00:00:00 2001 From: Alastair Houghton Date: Mon, 22 May 2023 11:06:55 +0100 Subject: [PATCH] [Tools] Fix macro demangling. The code in swift-demangle to cope with macro demangling was slightly wrong. Fix it. rdar://109649226 --- tools/swift-demangle/swift-demangle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/swift-demangle/swift-demangle.cpp b/tools/swift-demangle/swift-demangle.cpp index 0cf9201379a06..20fe5033a2c94 100644 --- a/tools/swift-demangle/swift-demangle.cpp +++ b/tools/swift-demangle/swift-demangle.cpp @@ -271,7 +271,7 @@ static bool findMaybeMangled(llvm::StringRef input, llvm::StringRef &match) { } state = Start; const char *matchStart = nullptr; - // Find _T, $S, $s, _$S, _$s, @__swift_ followed by a valid mangled string + // Find _T, $S, $s, _$S, _$s, @__swiftmacro_ followed by a valid mangled string while (ptr < end) { switch (state) { case Start: @@ -289,7 +289,7 @@ static bool findMaybeMangled(llvm::StringRef input, llvm::StringRef &match) { } else if (ch == '@' && llvm::StringRef(ptr, end - ptr).startswith("__swiftmacro_")){ matchStart = ptr - 1; - ptr = ptr + strlen("__swift_"); + ptr = ptr + strlen("__swiftmacro_"); state = FoundPrefix; break; }