diff --git a/Installation/include/CGAL/config.h b/Installation/include/CGAL/config.h index 432229f8e2d..8206195e6b2 100644 --- a/Installation/include/CGAL/config.h +++ b/Installation/include/CGAL/config.h @@ -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__) diff --git a/Number_types/include/CGAL/long_long.h b/Number_types/include/CGAL/long_long.h index 5562fee1d36..ea98538a058 100644 --- a/Number_types/include/CGAL/long_long.h +++ b/Number_types/include/CGAL/long_long.h @@ -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: