From ae4084948efe08d29f1ba7b5dc2363d51ceda203 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Wed, 17 Dec 2014 12:25:30 +0100 Subject: [PATCH] Remove hack for Intel compiler: it didn't work, and version 15 fixed the bug. --- .../include/CGAL/NewKernel_d/KernelD_converter.h | 1 + .../CGAL/NewKernel_d/Kernel_object_converter.h | 1 + NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h | 13 +++++-------- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h index 0fedf15a475..c0cbc9450ca 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h index ec4cd2147ee..8ea45fcbfaa 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h @@ -22,6 +22,7 @@ #include #include #include // First_if_different +#include namespace CGAL { template struct KO_converter; //TODO: It would probably be better if this was a Misc Functor in K1. diff --git a/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h b/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h index 9affac77a2e..c48f4c5d779 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h @@ -98,7 +98,11 @@ namespace CGAL { struct Provides_type_i : Has_type_different_from, Null_type> {}; + //// This version does not like Functor + //namespace internal { BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(has_Functor,Functor,false) } + // This version lets us use non-type template parameters, but fails with older EDG-based compilers (Intel 14). namespace internal { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_Functor,template Functor,false) } + template::value /* false */> struct Provides_functor_i : boost::false_type {}; @@ -110,14 +114,7 @@ namespace CGAL { template ::value, //bool=Provides_functor_i::value, - bool = -#ifdef __INTEL_COMPILER -// FIXME: this is obviously wrong, but Intel's compiler evaluates it to false -// and Epick_d doesn't seem to use the other case currently. - true -#else - internal::has_Functor::value -#endif + bool = internal::has_Functor::value > struct Inherit_functor : K::template Functor {}; template