Opened 6 years ago

Last modified 6 years ago

#12469 new Bugs

BOOST_MPL_PRINT_HPP generates error: negative integral constant converted to unsigned type

Reported by: anonymous Owned by: Aleksey Gurtovoy
Milestone: To Be Determined Component: mpl
Version: Boost 1.61.0 Severity: Showstopper
Keywords: Cc:

Description

Hi, serialization in win32 generates compile error in VS2015. The error is: c:\program files\boost\boost_1_61_0\boost\mpl\print.hpp(52): error C4308: negative integral constant converted to unsigned type

#elif defined(BOOST_MSVC)
    enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__)

And ultimately this was triggered by:

private:
	// the range of the output hashed variable
	size_t mWidth;
	size_t mPrime;
	size_t mKindependent;

	std::shared_ptr<std::vector<size_t> > mpCoefficients;

	friend class boost::serialization::access;

	template<class Archive>
	void serialize(Archive & ar, const unsigned int version)
	{
		ar & mPrime ; ar & mKindependent ; ar & mpCoefficients ; ar & mWidth;
	}

All works in 64 bit mode.

Change History (1)

comment:1 by Robert Ramey, 6 years ago

Component: serializationmpl
Owner: changed from Robert Ramey to Aleksey Gurtovoy

Actually you should be posting this to the MPL library

Note: See TracTickets for help on using tickets.