Opened 10 years ago

#8461 new Bugs

Name demangling in docstrings broken using Intel Compilers on Linux

Reported by: beamesleach@… Owned by: Ralf W. Grosse-Kunstleve
Milestone: To Be Determined Component: python USE GITHUB
Version: Boost 1.53.0 Severity: Cosmetic
Keywords: Cc:

Description

Hi,

I'm using my system's boost_python library (compiled with GCC) whilst developing an extension module. I thought I'd try compiling it with the Intel Compilers, but when I do, docstring signatures show mangled names.

e.g.

>>> import test_make_list
>>> print test_make_list.IntList.__getitem__.__doc__

__getitem__( (object)arg1, (object)arg2) -> object :

    C++ signature :
        N5boost6python3api6objectE __getitem__(N5boost6python14back_referenceIRSt4listIiSaIiEEEE,P7_object)

It turns out I can fix this by adding "BOOST_PYTHON_HAVE_GCC_CP_DEMANGLE" to the list of preprocessor definitions, but wondered if a fix could be introduced directly into the headers.

Not sure how I can test this without recompiling the entirety of boost, but I thought the following macro clause could be added at line 24 of <boost/python/type_id.hpp>, to resolve this:

   || (defined(__linux) && defined(__ICC))

Change History (0)

Note: See TracTickets for help on using tickets.