Demangle: only demangle mangled symbols
authorSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 14 Nov 2016 04:54:47 +0000 (04:54 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 14 Nov 2016 04:54:47 +0000 (04:54 +0000)
commitd6da74f22b851d210158c606972a6a2186174633
tree1af903388f2585968b89327008ea8b39bf8f22a3
parent4d7f90b06454aa5839b8ebcadf93a6997541714c
Demangle: only demangle mangled symbols

Only attempt to demangle symbols which have the itanium C++ prefix of `_Z`.
This ensures that we do not treat any symbol name as a managled named.  We would
previously treat a C function `f` as a mangled name and decode that to `float`
incorrectly.

While it is easy to add tests for this, Mehdi recommended against introducing
tests for the demangler as libc++abi should cover the testing.

llvm-svn: 286795
llvm/lib/Demangle/ItaniumDemangle.cpp