summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-01-19 02:58:46 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-01-19 02:58:46 +0000
commitc8bcda2b56db0789acb9b557579b87c3035c833f (patch)
tree84797181c049f243f1e6e7b6cc73101a919bd6f1 /llvm/test
parentb561e663841645047acbb1854bbae9617def6a92 (diff)
downloadbcm5719-llvm-c8bcda2b56db0789acb9b557579b87c3035c833f.tar.gz
bcm5719-llvm-c8bcda2b56db0789acb9b557579b87c3035c833f.zip
llvm-cxxfilt: filter out invalid manglings
c++filt does not attempt to demangle symbols which do not match its expected format. This means that the symbol must start with _Z or ___Z (block invocation function extension). Any other symbols are returned as is. Note that this is different from the behaviour of __cxa_demangle which will demangle fragments. llvm-svn: 292467
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/llvm-cxxfilt/invalid.test6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-cxxfilt/invalid.test b/llvm/test/tools/llvm-cxxfilt/invalid.test
new file mode 100644
index 00000000000..10f3b2e8132
--- /dev/null
+++ b/llvm/test/tools/llvm-cxxfilt/invalid.test
@@ -0,0 +1,6 @@
+RUN: llvm-cxxfilt _Z1fi __Z1fi f ___ZSt1ff_block_invoke | FileCheck %s
+
+CHECK: f(int)
+CHECK-NEXT: __Z1fi
+CHECK-NEXT: f
+CHECK-NEXT: invocation function for block in std::f(float)
OpenPOWER on IntegriCloud