Project

General

Profile

Bug #13000

Demangle inline namespaces in uniform_type_name

Added by Ben Morgan about 4 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
06/23/2016
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

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 XXX_dict.* files.

History

#1 Updated by Kyle Knoepfel about 4 years ago

  • Status changed from New to Accepted
  • Estimated time set to 2.00 h

Thank you for the patch. We will verify that the GCC build builds cleanly and then commit.

#2 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Accepted to Assigned
  • Assignee set to Kyle Knoepfel

#3 Updated by Kyle Knoepfel about 3 years ago

  • Target version set to 1209

#4 Updated by Kyle Knoepfel about 3 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100
  • SSI Package art added

Patched and resolved with commit canvas:b069b8d.

#5 Updated by Kyle Knoepfel about 3 years ago

  • Target version changed from 1209 to 2.07.01

#6 Updated by Kyle Knoepfel about 3 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF