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