diff options
Diffstat (limited to 'boost/align/alignment_of.hpp')
-rw-r--r-- | boost/align/alignment_of.hpp | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/boost/align/alignment_of.hpp b/boost/align/alignment_of.hpp index 1862f0f892..06d22a0259 100644 --- a/boost/align/alignment_of.hpp +++ b/boost/align/alignment_of.hpp @@ -1,10 +1,10 @@ /* - (c) 2014 Glen Joseph Fernandes - glenjofe at gmail dot com +(c) 2014-2015 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software - License, Version 1.0. - http://boost.org/LICENSE_1_0.txt +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP #define BOOST_ALIGN_ALIGNMENT_OF_HPP @@ -13,18 +13,20 @@ #include <boost/align/alignment_of_forward.hpp> #include <boost/align/detail/remove_traits.hpp> -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) -#include <boost/align/detail/alignment_of_cxx11.hpp> -#elif defined(BOOST_MSVC) +#if defined(BOOST_MSVC) #include <boost/align/detail/alignment_of_msvc.hpp> -#elif defined(BOOST_CLANG) -#include <boost/align/detail/alignment_of_clang.hpp> +#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) +#include <boost/align/detail/alignment_of.hpp> +#elif defined(BOOST_CLANG) && !defined(__x86_64__) +#include <boost/align/detail/alignment_of.hpp> +#elif !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include <boost/align/detail/alignment_of_cxx11.hpp> #elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) #include <boost/align/detail/alignment_of_gcc.hpp> #elif defined(__CODEGEARC__) #include <boost/align/detail/alignment_of_codegear.hpp> -#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) -#include <boost/align/detail/alignment_of.hpp> +#elif defined(BOOST_CLANG) +#include <boost/align/detail/alignment_of_clang.hpp> #elif __GNUC__ > 4 #include <boost/align/detail/alignment_of_gcc.hpp> #elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) @@ -34,16 +36,18 @@ #endif namespace boost { - namespace alignment { - template<class T> - struct alignment_of - : detail::alignment_of<typename - detail::remove_cv<typename - detail::remove_all_extents<typename - detail::remove_reference<T>:: - type>::type>::type>::type { - }; - } -} +namespace alignment { + +template<class T> +struct alignment_of + : detail::alignment_of<typename + detail::remove_cv<typename + detail::remove_all_extents<typename + detail::remove_reference<T>:: + type>::type>::type>::type { +}; + +} /* :alignment */ +} /* :boost */ #endif |