id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9152,Classic Spirit parser does not handle negative exponents when patform does not support denormalized numbers.,Matthew Markland ,Joel de Guzman,"A classic Spirit parser has trouble parsing floating point values which have a negative exponent on platforms where has_denorm is false. The initial example from the Spirit documentation illustrates the problem (note, this is the example from the 1.8.5 documentation, tweaked for 1.54). {{{ markland@jute geir2 $ CC -I/cray/css/users/markland/boost_1_54_0 classic_numbers.cpp markland@jute geir2 $ ./a.out ///////////////////////////////////////////////////////// A comma separated list parser for Spirit... ///////////////////////////////////////////////////////// Give me a comma separated list of numbers. The numbers will be inserted in a vector of numbers Type [q or Q] to quit 1.5 ------------------------- Parsing succeeded 1.5 Parses OK: 0: 1.5 ------------------------- 1e-07 ------------------------- Parsing failed ------------------------- Bye... :-) }}} This looks to be an issue in the negative_accumulate::add() function found in boost/spirit/home/classic/core/primitives/impl/numerics.ipp. The platform I have seen this fail on is using the Cray Compiling Environment version 8.x. I do not currently have a patch or a workaround. The Qi parser example appears to work for this example, even on the Cray platform.",Bugs,closed,To Be Determined,spirit,Boost 1.54.0,Problem,wontfix,,markland@…