Rework test for __int128 availability.

This commit is contained in:
Marc Glisse 2014-03-13 16:50:22 +01:00
parent 6a37e80b27
commit b257e85427
2 changed files with 11 additions and 4 deletions

View File

@ -354,6 +354,13 @@ using std::max;
# define CGAL_UNUSED
#endif
// Macro to specify that gcc's pedantic mode should not warn.
#ifdef __GNUG__
# define CGAL_GNU_EXTENSION __extension__
#else
# define CGAL_GNU_EXTENSION
#endif
// Macro CGAL_ASSUME
// Call a builtin of the compiler to pass a hint to the compiler
#if __has_builtin(__builtin_unreachable) || (CGAL_GCC_VERSION >= 40500 && !__STRICT_ANSI__)

View File

@ -88,9 +88,9 @@ template <> class Real_embeddable_traits< unsigned long long >
};
};
#ifdef __SIZEOF_INT128__
#ifdef BOOST_HAS_INT128
// __int128
__extension__ // For gcc's pedantic mode
CGAL_GNU_EXTENSION
template<> class Algebraic_structure_traits< __int128 >
: public Algebraic_structure_traits_base< __int128,
Euclidean_ring_tag > {
@ -104,7 +104,7 @@ template<> class Algebraic_structure_traits< __int128 >
};
__extension__ // For gcc's pedantic mode
CGAL_GNU_EXTENSION
template <> class Real_embeddable_traits< __int128 >
: public INTERN_RET::Real_embeddable_traits_base< __int128 , CGAL::Tag_true > {
public:
@ -119,7 +119,7 @@ template <> class Real_embeddable_traits< __int128 >
};
// unsigned __int128
__extension__ // For gcc's pedantic mode
CGAL_GNU_EXTENSION
template <> class Real_embeddable_traits< unsigned __int128 >
: public INTERN_RET::Real_embeddable_traits_base< unsigned __int128 , CGAL::Tag_true > {
public: