id summary reporter owner description type status milestone component version severity resolution keywords cc 12806 flat_map.hpp function force_copy break strict-aliasing on gcc < 4.4 Vladislav Ion Gaztañaga "Hello! On function ([https://github.com/boostorg/container/blob/develop/include/boost/container/flat_map.hpp#L61]): {{{ template BOOST_CONTAINER_FORCEINLINE static D force_copy(S s) { D *vp = reinterpret_cast(&s); return D(*vp); } }}} gcc 4.3.4 (SLE 11) produced wrong code. It seems that the compiler does not create a copy of an object ""s"" and returns an object of D(). If I change the signature of function on ""BOOST_CONTAINER_FORCEINLINE static D force_copy(const S& s)"" the code works and the tests pass. But then does not create a copy of an object ""s"" in a function call. I'm not sure that this change is correct. Is there any other workaround for this problem with a compiler gcc 4.3 or better disable strict-aliasing? " Bugs new To Be Determined container Boost 1.63.0 Showstopper