[Boost-bugs] [Boost C++ Libraries] #7898: TI compiller: wrong decision about type_info presence in boost/config

Subject: [Boost-bugs] [Boost C++ Libraries] #7898: TI compiller: wrong decision about type_info presence in boost/config
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-01-16 13:19:28


#7898: TI compiller: wrong decision about type_info presence in boost/config
-------------------------------------------------+--------------------------
 Reporter: Girman Ilya <ilya.girman@…> | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: config
  Version: Boost 1.52.0 | Severity: Problem
 Keywords: |
-------------------------------------------------+--------------------------
 Hello!

 When I try to include boost/static_assert.hpp on Texas Instruments
 compiler (TMS320C6x C/C++ Compiler v7.3.8) I get an error "...
 ../cots/boost/boost/config/suffix.hpp", line 574: error !#284: the global
 scope has no "type_info"

 There is a fault place:

 {{{
 // When BOOST_NO_STD_TYPEINFO is defined, we can just import
 // the global definition into std namespace:
 #if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
 #include <typeinfo>
 namespace std{ using ::type_info; }
 #endif

 }}}

 Source of issue is that boost incorrectly determines presence of type_info
 in std namespace:

 boost/config/stdlib/dinkumware.hpp:
 {{{
 #include <typeinfo>
 #if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE &&
 defined(__ghs__)) )
 # define BOOST_NO_STD_TYPEINFO
 #endif
 }}}

 At this moment my workaround is to add !defined(!__TI_COMPILER_VERSION!__)
 to condition above.

 Previously I used boost 1.37 which has no "BOOST_NO_STD_TYPEINFO" section
 in dinkumware.hpp file.

 TI has some specific config for boost
 (http://processors.wiki.ti.com/index.php/Building_and_Running_Boost_Code_with_the_C6000_Compiler).
 This issue takes place with these patches also.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7898>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC