#!/bin/sh

# This script is a wrapper for OS X nm(1) tool. nm(1) perform C++ function
# names demangling, so we're piping its output to c++filt(1) tool which does it.
# But c++filt(1) comes with XCode (as a part of GNU binutils), so it doesn't
# guaranteed to exist on a system.
#
# An alternative approach is to perform demangling in tick processor, but
# for GNU C++ ABI this is a complex process (see cp-demangle.c sources), and
# can't be done partially, because term boundaries are plain text symbols, such
# as 'N', 'E', so one can't just do a search through a function name, it really
# needs to be parsed, which requires a lot of knowledge to be coded in.

if [ "`which c++filt`" == "" ]; then
  nm "$@"
else
  nm "$@" | sed -n "s/\([0-9a-fA-F]\{8,16\}\) [iItT] \(.*\)/\\1 \\2/p"\
    | c++filt -p -i
fi
