Skip to content

Commit 78fd0ba

Browse files
authored
Avoid collision with minor macro (bis) (#9526)
## Summary of Changes minor is already used in `sys/types.h` ``` In file included from SFCGAL3/src/algorithm/surfaceSimplification.cpp:30: In file included from CGAL-6.2/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/edge_collapse.h:22: In file included from CGAL-6.2/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk.h:16: In file included from CGAL-6.2/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/LindstromTurk_cost.h:17: In file included from CGAL-6.2/Surface_mesh_simplification/include/CGAL/Surface_mesh_simplification/Policies/Edge_collapse/internal/Lindstrom_Turk_core.h:20: In file included from CGAL-6.2/Surface_mesh_simplification/include/CGAL/Cartesian/MatrixC33.h:16: CGAL-6.2/Surface_mesh_simplification/include/CGAL/internal/robust_cross_product.h:90:20: error: too many arguments provided to function-like macro invocation 90 | FT x = minor(uy, vy, uz, vz); | ^ /usr/include/sys/types.h:337:9: note: macro 'minor' defined here 337 | #define minor(d) __minor(d) | ^ ``` [OpenBSD](https://github.com/openbsd/src/blob/master/sys/sys/types.h#L216) [FreeBSD](https://github.com/freebsd/freebsd-src/blob/main/sys/sys/types.h#L337) Reported by [SFCGAL CI](https://github.com/SFCGAL/SFCGAL/actions/runs/27346692030/job/80797174200#step:3:241) Reproduced locally (FreeBSD) cc @ptitjano @landryb ## Release Management * Affected package(s): Surface_mesh_simplification * Issue(s) solved (if any): - * Feature/Small Feature (if any): - * License and copyright ownership: no change
2 parents eb2257d + 5d9cf00 commit 78fd0ba

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

Surface_mesh_simplification/include/CGAL/internal/robust_cross_product.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ typename GeomTraits::Vector_3 similar_coordinates_cross_product(const typename G
7676
const FT& vy = v.y();
7777
const FT& vz = v.z();
7878

79-
auto minor = [](const FT& ui, const FT& vi, const FT& uj, const FT& vj)
79+
auto compute_minor = [](const FT& ui, const FT& vi, const FT& uj, const FT& vj)
8080
{
8181
// The main idea is that we expect ai and bi (and aj and bj) to have roughly the same magnitude
8282
// since this function is used to compute the cross product of two vectors that are defined
@@ -87,9 +87,9 @@ typename GeomTraits::Vector_3 similar_coordinates_cross_product(const typename G
8787
};
8888

8989
// ay*
90-
FT x = minor(uy, vy, uz, vz);
91-
FT y = minor(uz, vz, ux, vx);
92-
FT z = minor(ux, vx, uy, vy);
90+
FT x = compute_minor(uy, vy, uz, vz);
91+
FT y = compute_minor(uz, vz, ux, vx);
92+
FT z = compute_minor(ux, vx, uy, vy);
9393

9494
return Vector(x, y, z);
9595
}

0 commit comments

Comments
 (0)