1RUN: echo ',,_Z3Foo!' \ 2RUN: '_Z3Foo"' \ 3RUN: '_Z3Foo#' \ 4RUN: '_Z3Foo%' \ 5RUN: '_Z3Foo&' \ 6RUN: "\"_Z3Foo'\"" \ 7RUN: '_Z3Foo(' \ 8RUN: '_Z3Foo)' \ 9RUN: '_Z3Foo*' \ 10RUN: '_Z3Foo+' \ 11RUN: '_Z3Foo,' \ 12RUN: '_Z3Foo-' \ 13RUN: '_Z3Foo/' \ 14RUN: '_Z3Foo:' \ 15RUN: '_Z3Foo;' \ 16RUN: '_Z3Foo<' \ 17RUN: '_Z3Foo=' \ 18RUN: '_Z3Foo>' \ 19RUN: '_Z3Foo?' \ 20RUN: '_Z3Foo@' \ 21RUN: '_Z3Foo[' \ 22RUN: '_Z3Foo\' \ 23RUN: '_Z3Foo]' \ 24RUN: '_Z3Foo^' \ 25RUN: '_Z3Foo`' \ 26RUN: "\"_Z3Foo{\"" \ 27RUN: '_Z3Foo|' \ 28RUN: '_Z3Foo}' \ 29RUN: '_Z3Foo~,,' \ 30RUN: '_Z3Foo⦙_Z3Bar' \ 31RUN: '_Z3Foo,,_Z3Bar::_Z3Baz _Z3Foo,_Z3Bar:_Z3Baz' \ 32COM: Piping the echo output causes '⦙' to be converted to '?' in some 33COM: builds/environments. Redirect echo output to and from %t to work 34COM: around this. See D111072. 35RUN: '_Z3Foo$ Foo._Z3Bar' > %t 36RUN: llvm-cxxfilt -n < %t | FileCheck %s 37 38CHECK: ,,Foo! 39CHECK: Foo" 40CHECK: Foo# 41CHECK: Foo% 42CHECK: Foo& 43CHECK: Foo' 44CHECK: Foo( 45CHECK: Foo) 46CHECK: Foo* 47CHECK: Foo+ 48CHECK: Foo, 49CHECK: Foo- 50CHECK: Foo/ 51CHECK: Foo: 52CHECK: Foo; 53CHECK: Foo< 54CHECK: Foo= 55CHECK: Foo> 56CHECK: Foo? 57CHECK: Foo@ 58CHECK: Foo[ 59CHECK: Foo\ 60CHECK: Foo] 61CHECK: Foo^ 62CHECK: Foo` 63CHECK: Foo{ 64CHECK: Foo| 65CHECK: Foo} 66CHECK: Foo~,, 67CHECK: Foo⦙Bar 68CHECK: Foo,,Bar::Baz Foo,Bar:Baz 69CHECK: _Z3Foo$ Foo._Z3Bar 70