[sledge] Only demangle names starting with _Z

Summary:
Mangled names start with _Z, so only demangle those names. This leaves
unmangled C names alone.

Reviewed By: jvillard

Differential Revision: D24846674

fbshipit-source-id: d239a61aa
master
Josh Berdine 5 years ago committed by Facebook GitHub Bot
parent fc2695ce88
commit 4326d56f24

@ -33,10 +33,12 @@ Exp.demangle :=
let null_ptr_size_t = from_voidp size_t null in let null_ptr_size_t = from_voidp size_t null in
let status = allocate int 0 in let status = allocate int 0 in
fun mangled -> fun mangled ->
let demangled = if String.prefix ~pre:"_Z" mangled then
cxa_demangle mangled null_ptr_char null_ptr_size_t status let demangled =
in cxa_demangle mangled null_ptr_char null_ptr_size_t status
if !@status = 0 then demangled else None in
if !@status = 0 then demangled else None
else None
exception Invalid_llvm of string exception Invalid_llvm of string

Loading…
Cancel
Save