I'm not sure outlining the function is the most efficient way to handle it. Have you tried Travis's integer patch for STDCXX-226? (My comment about the efficiency of the new formula notwithstanding.)
Martin Farid Zaripov-2 wrote: > > The 21.string.cons.cpp test fails with 16 assertions on 64-bit MSVC > (8.0 and 9.0). > > > http://people.apache.org/~sebor/stdcxx/results/win_xp_1-em64t-msvc-8.0.h > tml > > http://people.apache.org/~sebor/stdcxx/results/win_2003_1-em64t-msvc-8.0 > .html > > http://people.apache.org/~sebor/stdcxx/results/win_vista_0-em64t-msvc-8. > 0.html > > The reason is the bad code generation of the compiler. JIRA is not > available > at the moment, so I'll create the issue later. Unfortunately I cannot > make > the simple testcase to reproduce the problem. The problem detected only > in > optimized builds (8{s|d}, 12{s|d}). As the temporary workaround might be > definition of the __rw::__rw_new_capacity as __declspec (noinline). > > Also maybe this problem would be accidentally fixed thus resolving the > issue named something like "floating point operation in > __rw_new_capacity" > (I've seen this issue before). > > ------------------------------ > Index: include/string > =================================================================== > --- include/string (revision 593511) > +++ include/string (working copy) > @@ -1528,8 +1528,13 @@ > // more specialized version for basic_string<>; may be further > specialized > // in user code for example on a user-defined allocator > > +#if !defined (_WIN64) || !defined (_MSC_VER) || defined > (__INTEL_COMPILER) > template <class _CharT, class _Traits, class _Allocator> > inline _RWSTD_STRING_SIZE_TYPE > +#else // _WIN64 && _MSC_VER && !__INTEL_COMPILER > +template <class _CharT, class _Traits, class _Allocator> > +__declspec (noinline) _RWSTD_STRING_SIZE_TYPE > +#endif // !_WIN64 || !_MSC_VER || __INTEL_COMPILER > __rw_new_capacity (_RWSTD_STRING_SIZE_TYPE __size, > const _STD::basic_string<_CharT, _Traits, > _Allocator>*) > { > ------------------------------ > > Farid. > > -- View this message in context: http://www.nabble.com/21.string.cons.cpp-test-fails-on-64-bit-MSVC-%288.0-and-9.0%29-tf4798813.html#a13828136 Sent from the stdcxx-dev mailing list archive at Nabble.com.