
Hi ! When compiling Boost with address-model=64, some libraries issue msvc-warning BOOST_ROOT\boost/config/abi_prefix.hpp(19) : warning C4103: 'BOOST_ROOT\boost\config\abi_prefix.hpp' : alignment changed after including header, may be due to missing #pragma pack(pop) See msvc_9_4103.txt for a full dump using bjam -a -q address-mode=64 -WX Those libraries are: - system - filesystem - serialization - wave Please find the necessary patches attached. Additionaly, I've added _SCL_SECURE_NO_WARNINGS to serialization and changed wave to always set _SCL_SECURE_NO_DEPRECATE and _CRT_SECURE_NO_DEPRECATE regardless of the compiler version. This should silence those warning for the msvc incarnation, too. Okay to commit ? Comments ? Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold@ivembh.de ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !

Jürgen Hunold wrote:
Hi !
When compiling Boost with address-model=64, some libraries issue msvc-warning BOOST_ROOT\boost/config/abi_prefix.hpp(19) : warning C4103: 'BOOST_ROOT\boost\config\abi_prefix.hpp' : alignment changed after including header, may be due to missing #pragma pack(pop)
See msvc_9_4103.txt for a full dump using bjam -a -q address-mode=64 -WX
Those libraries are: - system - filesystem - serialization - wave
Please find the necessary patches attached. Additionaly, I've added _SCL_SECURE_NO_WARNINGS to serialization and changed wave to always set _SCL_SECURE_NO_DEPRECATE and _CRT_SECURE_NO_DEPRECATE regardless of the compiler version. This should silence those warning for the msvc incarnation, too.
Okay to commit ? Comments ?
Just two points (anyhow, please wait for someone who is more familiar with the latest Boost directions to weigh in): * I think it's safer to disable/re-enable the warning as "locally" as possible; in this case, in msvc_prefix.hpp and msvc_suffix.hpp. * the few times I use VC++, I just disable C4996; I see that Boost has a warning_disable.hpp, instead. You might want to look at the comments therein. -- Genny

Gennaro Prota wrote:
* the few times I use VC++, I just disable C4996; I see that Boost has a warning_disable.hpp, instead. You might want to look at the comments therein.
Looking myself, too, just noticed this: shouldn't "omitted from <iosfwd>" be "emitted from <iosfwd>"? -- Genny
participants (2)
-
Gennaro Prota
-
Jürgen Hunold