Re: [Boost-bugs] [Boost C++ Libraries] #5793: [date_time] format_date_parser::parse_date does not compile with "Treat wchar_t as builtin type" set to No

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5793: [date_time] format_date_parser::parse_date does not compile with "Treat wchar_t as builtin type" set to No
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-31 08:58:09


#5793: [date_time] format_date_parser::parse_date does not compile with "Treat
wchar_t as builtin type" set to No
-------------------------------------------------------------+--------------
  Reporter: Daniel Mitchell <danielmitchell@…> | Owner: apolukhin
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: lexical_cast
   Version: Boost 1.47.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------------------------------------+--------------
Changes (by Ulrich Eckhardt <ulrich.eckhardt@…>):

  * owner: az_sw_dude => apolukhin
  * component: date_time => lexical_cast

Comment:

 Note to the submitter: You are deliberately configuring your compiler to
 not conform to the C++ standard which requires wchar_t to be a distinct
 type!

 Anyway, I don't think this is a problem in the !DateTime library but
 rather in the lexical_cast implementation. The simple line
 {{{
 std::wstring x = boost::lexical_cast<std::wstring>(42);
 }}}
 triggers the fault for me. Class lexical_stream_limited_src is
 instantiated for wchar_t alias unsigned short. It defines an operator>>
 for both unsigned short and its CharT which then cause the conflict. The
 macro BOOST_NO_INTRINSIC_WCHAR_T could be used to detect this, but I'm not
 sure how to fix it without breaking other stuff on the way.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5793#comment:1>
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:08 UTC