diff --git a/llvm/test/tools/llvm-cxxfilt/delimiters.test b/llvm/test/tools/llvm-cxxfilt/delimiters.test --- a/llvm/test/tools/llvm-cxxfilt/delimiters.test +++ b/llvm/test/tools/llvm-cxxfilt/delimiters.test @@ -27,6 +27,7 @@ RUN: '_Z3Foo|' \ RUN: '_Z3Foo}' \ RUN: '_Z3Foo~,,' \ +RUN: '_Z3Foo⦙_Z3Bar' \ RUN: '_Z3Foo,,_Z3Bar::_Z3Baz _Z3Foo,_Z3Bar:_Z3Baz' \ RUN: '_Z3Foo$ ._Z3Foo' | llvm-cxxfilt -n | FileCheck %s @@ -59,5 +60,6 @@ CHECK: Foo| CHECK: Foo} CHECK: Foo~,, +CHECK: Foo⦙Bar CHECK: Foo,,Bar::Baz Foo,Bar:Baz CHECK: _Z3Foo$ ._Z3Foo diff --git a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp --- a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp +++ b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp @@ -128,7 +128,7 @@ static bool IsLegalItaniumChar(char C) { // Itanium CXX ABI [External Names]p5.1.1: // '$' and '.' in mangled names are reserved for private implementations. - return isalnum(C) || C == '.' || C == '$' || C == '_'; + return isAlnum(C) || C == '.' || C == '$' || C == '_'; } // If 'Split' is true, then 'Mangled' is broken into individual words and each