Boost logo

Boost :

Subject: Re: [boost] [conversion] Need a help with MSVC failures
From: Daniela Engert (dani_at_[hidden])
Date: 2014-01-31 12:19:15


Am 30.01.2014 06:24 schrieb Antony Polukhin:
> >
> Some of the tests for Boost.LexicalCast fail on any MSVC compiler.
> Unfortunately currently I have no access to Windows.

I can run as many tests with vc10, vc11 and vc12 for you as you like.

This is one of the failing cases:

-----------------------------------------------
#include <boost/lexical_cast.hpp>
#include <meerkat/StackWalker.hpp>

meerkat::CatchUnhandledExceptions CrashHandler;

int main() {
    char A = boost::lexical_cast<char>("A");
}
-----------------------------------------------

which causes

*** Fri Jan 31 17:59:12 2014
*** Unhandled Structured Exception C0000005 @ 0x000B1151 (continuable)
Access denied while writing @ 0x00000000
iosfwd (523): std::char_traits<char>::length + 0x3
lexical_cast.hpp (1378):
boost::detail::lexical_istream_limited_src<char,std::char_traits<char>,0,2>::shl_char_array
+ 0x9
lexical_cast.hpp (1600):
boost::detail::lexical_istream_limited_src<char,std::char_traits<char>,0,2>::operator<<
+ 0x2f
lexical_cast.hpp (2083): boost::detail::lexical_converter_impl<char,char
const *>::try_convert + 0xe
lexical_cast.hpp (2301):
boost::conversion::detail::try_lexical_convert<char,char const (&)[2]> +
0x1b
lexical_cast.hpp (2328): boost::lexical_cast<char,char const [2]> + 0xd
main.cpp (8): main + 0xa
crtexe.c (536): __tmainCRTStartup + 0x19
crtexe.c (377): mainCRTStartup
7704336A (kernel32): BaseThreadInitThunk + 0x12
77929F72 (ntdll): RtlInitializeExceptionChain + 0x63
77929F45 (ntdll): RtlInitializeExceptionChain + 0x36
***

boost::detail::lexical_converter_impl<char,char const *>::try_convert's
signature in line 2076 is bool(const char * const &, char &). 'arg' is
0x00000041.

May be this gives you some insight. I will try to pin down the offending
change.

Ciao
  Dani


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk