diff --git a/Bounding_volumes/include/CGAL/Rectangular_p_center_traits_2.h b/Bounding_volumes/include/CGAL/Rectangular_p_center_traits_2.h index 2762b0e9fa5..b55ea9eb879 100644 --- a/Bounding_volumes/include/CGAL/Rectangular_p_center_traits_2.h +++ b/Bounding_volumes/include/CGAL/Rectangular_p_center_traits_2.h @@ -68,6 +68,19 @@ struct I_Infinity_distance_2 : public CGAL::cpp98::binary_function< Point_2< R >, Point_2< R >, typename R::FT > { + // Added as workaround for VC2017 with /arch:AVX to fix + // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/Rectangular_p_center_2_Examples/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz + I_Infinity_distance_2() + {} + + I_Infinity_distance_2(const I_Infinity_distance_2&) + {} + + I_Infinity_distance_2& operator=(const I_Infinity_distance_2&) + { + return *this; + } + typename R::FT operator()(const Point_2< R >& q1, const Point_2< R >& q2) const { return (std::max)(CGAL_NTS abs(q1.x() - q2.x()), diff --git a/Inscribed_areas/include/CGAL/Extremal_polygon_traits_2.h b/Inscribed_areas/include/CGAL/Extremal_polygon_traits_2.h index 93c51b2da63..d4b163ee92b 100644 --- a/Inscribed_areas/include/CGAL/Extremal_polygon_traits_2.h +++ b/Inscribed_areas/include/CGAL/Extremal_polygon_traits_2.h @@ -167,7 +167,19 @@ struct Extremal_polygon_perimeter_traits_2 { typedef FT result_type; Kgon_triangle_perimeter(const K& k_): k(k_) {} - + + // Added as workaround for VC2017 with /arch:AVX to fix + // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/Inscribed_areas_Examples/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz + Kgon_triangle_perimeter(const Kgon_triangle_perimeter& other) + : k(other.k) + {} + + Kgon_triangle_perimeter& operator=(const Kgon_triangle_perimeter& other) + { + k = other.k; + return *this; + } + result_type operator()(const Point_2& p, const Point_2& q, const Point_2& r) const { return dist(p, r) + dist(p, q) - dist(q, r); } diff --git a/QP_solver/include/CGAL/QP_solver/functors.h b/QP_solver/include/CGAL/QP_solver/functors.h index e9cb5fbcabb..9ab6c97e8b5 100644 --- a/QP_solver/include/CGAL/QP_solver/functors.h +++ b/QP_solver/include/CGAL/QP_solver/functors.h @@ -262,6 +262,15 @@ public: Map_with_default (const Map* m, const mapped_type& v = mapped_type()) : map(m), d(v) {} + + // Added as workaround for VC2017 with /arch:AVX to fix + // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/QP_solver/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz + Map_with_default& operator=(const Map_with_default& other) + { + map = other.map; + d = other.d; + return *this; + } // operator() const mapped_type& operator() (key_type n) const { diff --git a/STL_Extension/include/CGAL/function_objects.h b/STL_Extension/include/CGAL/function_objects.h index 1218df36c7e..e459e9dbe3e 100644 --- a/STL_Extension/include/CGAL/function_objects.h +++ b/STL_Extension/include/CGAL/function_objects.h @@ -451,6 +451,19 @@ public: Binary_compose_2(const Op1& x, const Op2& y, const Op3& z) : op1(x), op2(y), op3(z) {} + // Added as workaround for VC2017 with /arch:AVX to fix + // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/Polytope_distance_d/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz + Binary_compose_2(const Binary_compose_2& other) + : op1(other.op1), op2(other.op2), op3(other.op3) {} + + Binary_compose_2& operator=(const Binary_compose_2& other) + { + op1 = other.op1; + op2 = other.op2; + op3 = other.op3; + return *this; + } + result_type operator()(const first_argument_type& x, const second_argument_type& y) const diff --git a/Spatial_searching/include/CGAL/Plane_separator.h b/Spatial_searching/include/CGAL/Plane_separator.h index a831e6174df..8ee7d1db526 100644 --- a/Spatial_searching/include/CGAL/Plane_separator.h +++ b/Spatial_searching/include/CGAL/Plane_separator.h @@ -53,9 +53,21 @@ template < class FT> class Plane_separator { Plane_separator(const int d, const FT& v) : cutting_dim(d), cutting_val(v) {} + explicit Plane_separator() : cutting_dim(0), cutting_val(0) {} + + // Added as workaround for VC2017 with /arch:AVX to fix + // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/Spatial_searching/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz + Plane_separator& operator=(const Plane_separator& ps) + { + cutting_dim = ps.cutting_dim; + cutting_val = ps.cutting_val; + return *this; + } + }; + template < class FT> std::ostream& operator<< (std::ostream& s, Plane_separator& x) { s << "\n Separator coordinate: " << x.cutting_dimension() <<