
On 4/24/2012 2:48 PM, Lawry, Brian wrote:
The following code produces a C4714 warning in Visual Studio 2010 with Boost 1.49 but not 1.48: <snip>
The __forceinline was added in 1.49 at the request of some users, and it has a measurable performance impact, so I'm inclined to keep it.
I would be OK with suppressing the warning, but I haven't been able to do so. Putting "#pragma warning(disable : 4714)" in my source file and in boost/xpressive/detail/core/ sub_match_vector.hpp and in boost/proto/transform/call.hpp does not suppress the warning. Using the "disable specific warnings" compiler switch /wd4714 also does not work.
That's super-annoying. Have you filed a compiler bug? The MSVC team isn't very responsive about fixing their bugs, but it has been known to happen from time to time. As a work-around, you can try compiling with /DBOOST_FORCEINLINE=inline. The warning should go away, but your code might run marginally slower. HTH, -- Eric Niebler BoostPro Computing http://www.boostpro.com