Demangle inline namespaces in uniform_type_name
Building Canvas on OS X with Clang resulted in test failures in tests of
uniform_type_name and the
TypeXXX_t tests due to differences in the expected and demangled/processed typenames. This was traced to the same issue encountered in fhicl-cpp #11860, that inline namespaces appear in the demangled typename, and additionally prevent compressions being applied (e.g.
std::basic_string<char, std::char_traits<char>, std::allocator<char> > > -> std::string).
The attached patch follows #11860 in making the patch at the location of the issue and leaving
cetlib::demangle to do the raw demangling. All(*) tests now pass on OS X El Capitan with Xcode 7, and it should also work for GCC 5/6's inline namespaces. This will obviously result in "uniform" typenames that strip out possibly relevant inline namespace information - will Canvas/ROOT need that info especially with GCC 5/6?
(*) There is one remaining test failure in
TypeTools_t but this appears to be another library lookup issue - it failed when run from the build directory root, but perfectly when run in the directory holding the