The warning was:
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: warning: variable 'b' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
if( (px == qx) || // <=> (dmin == 0)
^~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:408:12: note: in instantiation of function template specialization 'CGAL::internal::do_intersect_bbox_segment_aux<float, true, true, false>' requested here
return do_intersect_bbox_segment_aux<FT, true, true, false>(
^
[...]/include/CGAL/Kernel/function_objects.h:2052:14: note: in instantiation of function template specialization 'CGAL::internal::do_intersect<CGAL::Simple_cartesian<float> >' requested here
{ return internal::do_intersect(t1, t2, K()); }
^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:428:10: note: in instantiation of function template specialization 'CGAL::CommonKernelFunctors::Do_intersect_3<CGAL::Simple_cartesian<float> >::operator()<CGAL::Segment_3<CGAL::Simple_cartesian<float>>, CGAL::Bbox_3>' requested here
return typename K::Do_intersect_3()(segment, bbox);
^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:67:12: note: in instantiation of function template specialization 'CGAL::do_intersect<CGAL::Simple_cartesian<float> >' requested here
bool b = CGAL::do_intersect(t,bbox);
^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:416:12: note: in instantiation of function template specialization 'test_aux<CGAL::Segment_3<CGAL::Simple_cartesian<float>> >' requested here
bool b = test_aux(s12,"s12",bbox,false);
^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:665:12: note: in instantiation of function template specialization 'test<CGAL::Simple_cartesian<float> >' requested here
bool b = test<K>(exact_predicates) &&
^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:678:7: note: in instantiation of function template specialization 'test_kernel<CGAL::Simple_cartesian<float> >' requested here
b = test_kernel<CGAL::Simple_cartesian<float> >(false);
^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:360:25: note: uninitialized use occurs here
if(is_indeterminate(b)) return b; // Note that the default-constructed
^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: note: remove the '||' if its condition is always false
if( (px == qx) || // <=> (dmin == 0)
^~~~~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:351:23: note: initialize the variable 'b' to silence this warning
Is_greater_value b;
^
= false
The warning was:
In file included from [...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Algebraic_foundations/Chinese_remainder_traits.cpp:34:
In file included from [...]/include/CGAL/Polynomial.h:44:
In file included from [...]/include/CGAL/Flattening_iterator.h:24:
In file included from [...]/include/CGAL/Nested_iterator.h:29:
[...]/include/CGAL/iterator.h:1240:10: warning: class template 'Derivator' was previously declared as a struct template [-Wmismatched-tags]
friend class internal::Derivator;
^
[...]/include/CGAL/iterator.h:1193:8: note: previous use is here
struct Derivator
^
[...]/include/CGAL/iterator.h:1240:10: note: did you mean struct here?
friend class internal::Derivator;
^~~~~
struct
[...]/include/CGAL/iterator.h:1299:10: warning: class template 'Derivator' was previously declared as a struct template [-Wmismatched-tags]
friend class internal::Derivator;
^
[...]/include/CGAL/iterator.h:1193:8: note: previous use is here
struct Derivator
^
[...]/include/CGAL/iterator.h:1299:10: note: did you mean struct here?
friend class internal::Derivator;
^~~~~
struct
2 warnings generated.
The static filters of Do_intersect(BBox_3, Segment_3) and
Do_intersect(BBox_3, Segment_3) now use do_intersect_bbox_segment_aux(..)
from CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h
Just changing the order of includes works around the issue.
The error was:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Surface_mesher_Demo/volume.cpp:10:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Surface_mesher_Demo/./volume.h:61:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/include/CGAL/Implicit_surface_3.h:23:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/include/CGAL/make_surface_mesh.h:23:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/include/CGAL/Surface_mesher_generator.h:24:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/include/CGAL/Surface_mesher/Surface_mesher.h:33:
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-78/include/CGAL/Double_map.h:40:
In file included from /home/lrineau/CGAL/boost/boost-release-branch/boost/bimap.hpp:13:
In file included from /home/lrineau/CGAL/boost/boost-release-branch/boost/bimap/bimap.hpp:61:
In file included from /home/lrineau/CGAL/boost/boost-release-branch/boost/bimap/detail/bimap_core.hpp:43:
In file included from /home/lrineau/CGAL/boost/boost-release-branch/boost/bimap/detail/manage_bimap_key.hpp:26:
In file included from /home/lrineau/CGAL/boost/boost-release-branch/boost/bimap/set_of.hpp:37:
/home/lrineau/CGAL/boost/boost-release-branch/boost/multi_index/ordered_index.hpp:1399:10: error: no member named 'Q_FOREACH' in namespace 'boost'
boost::foreach::tag)
~~~~~~~^
/usr/include/QtCore/qglobal.h:2418:21: note: expanded from macro 'foreach'
# define foreach Q_FOREACH
^
5 warnings and 1 error generated.
The warning was:
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:272:5: warning: variable 'g' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:277:19: note: uninitialized use occurs here
col = Color(r,g,b);
^
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:262:13: note: initialize the variable 'g' to silence this warning
int r, g, b;
^
= 0
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:272:5: warning: variable 'b' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:277:21: note: uninitialized use occurs here
col = Color(r,g,b);
^
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:262:16: note: initialize the variable 'b' to silence this warning
int r, g, b;
^
= 0
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:272:5: warning: variable 'r' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized]
default:
^~~~~~~
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:277:17: note: uninitialized use occurs here
col = Color(r,g,b);
^
[...]/CGAL-4.1-Ic-78/include/CGAL/IO/io.h:262:10: note: initialize the variable 'r' to silence this warning
int r, g, b;
^
= 0
3 warnings generated.