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,,,