[Boost-bugs] [Boost C++ Libraries] #1314: Using SSE-intrinsics in VC8 causes static assert in type_with_alignment.hpp

Subject: [Boost-bugs] [Boost C++ Libraries] #1314: Using SSE-intrinsics in VC8 causes static assert in type_with_alignment.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-10-11 08:55:38


#1314: Using SSE-intrinsics in VC8 causes static assert in type_with_alignment.hpp
-------------------------------------------------------+--------------------
 Reporter: Andreas Brinck <andreas.brinck_at_[hidden]> | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: type_traits
  Version: Boost 1.34.1 | Severity: Problem
 Keywords: |
-------------------------------------------------------+--------------------
 When I create a class containing the SSE-intrinsic m128 in VC8 and try to
 serialize it with the boost serialization library the following static
 assert in type_with_alignment is triggered:

 {{{
 BOOST_STATIC_ASSERT(found % Align == 0);
 }}}

 Align is in my case 8 and the SSE-intrinsics are aligned to 16. Including
 m128 in BOOST_TT_ALIGNMENT_BASE_TYPES fixes the problem:

 {{{
 #define BOOST_TT_ALIGNMENT_BASE_TYPES BOOST_PP_TUPLE_TO_LIST( \
         13, ( \
         char, short, int, long, ::boost::long_long_type, float, double,
 long double \
         , void*, function_ptr, member_ptr, member_function_ptr, __m128))
 }}}

 I guess that many other compilers have their own SSE-intrinsics defined so
 a more generic solution would of course be desirable.

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1314>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.


This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:56 UTC