Timo Heister [Tue, 7 Feb 2023 00:19:11 +0000 (19:19 -0500)]
ignore external cast-function-type warnings
When building on Ubuntu 22.04 (gcc 11.3) with OpenMPI I am getting the
following warnings:
```
[ 58%] Building CXX object
source/base/CMakeFiles/obj_base_release.dir/symbolic_function.cc.o
In file included from
/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/mpicxx.h:277,
from
/usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:2887,
from
/home/runner/dealii-candi/tmp/build/deal.II-master/include/deal.II/base/config.h:576,
from
/home/runner/dealii-candi/tmp/unpack/deal.II-master/include/deal.II/base/symbolic_function.templates.h:19,
from
/home/runner/dealii-candi/tmp/unpack/deal.II-master/source/base/symbolic_function.cc:16:
/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h:
In member function ‘virtual void MPI::Op::Init(void (*)(const void*,
void*, int, const MPI::Datatype&), bool)’:
/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h:121:25:
warning: cast between incompatible function types from ‘void (*)(void*,
void*, int*, ompi_datatype_t**, void (*)(void*, void*, int*,
ompi_datatype_t**))’ to ‘void (*)(void*, void*, int*,
ompi_datatype_t**)’ [-Wcast-function-type]
121 | (void)MPI_Op_create((MPI_User_function*)
```
The code in question doesn't look correct, but we are not using the c++
wrappers anyways.
Simon Sticko [Wed, 1 Feb 2023 18:30:24 +0000 (19:30 +0100)]
Make sure all Kokkos headers are installed
One of the Kokkos headers has a .h extension and not .hpp as the
others. Add *.h to the the pattern of headers we copy over when we
install the library.
Matthias Maier [Thu, 26 Jan 2023 01:53:59 +0000 (19:53 -0600)]
Test cgal/cgal_intersect_simplices_1d_3d: constrain to version 5.5 or newer
The test fails with the following assertion:
--------------------------------------------------------
An error occurred in line <557> of file <source/cgal/intersections.cc> in function [...]
The violated condition was:
false
Additional information:
This function requires a version of CGAL greater or equal than 5.5.
--------------------------------------------------------
So, let's simply not run this particular test in this case.
Matthias Maier [Thu, 26 Jan 2023 01:04:39 +0000 (19:04 -0600)]
Test gmsh/gmsh_api_(01|02|03|04): add output variants
It seems that there was a change in more recent versions of gmsh and the
mesh output changed. These output variants seem to be stable among a
number of architectures and linux distributions so I simply commit them.
The output is similar to the main version and seems to be a "superset".
(It looks like older gmsh versions removed unused points ?!)
If we ever start to increase the number of output variants again I
suggest to change the test to ".run_only" and not compare unstable
output.
Matthias Maier [Tue, 24 Jan 2023 02:40:58 +0000 (20:40 -0600)]
CMake: add_test(): allow concurrent runs of tests with shared targets
In order to make this possible we define an *additional* test (and test
target) that depends on the executable target and ensures that the
target is in place before it is called concurrently.
Matthias Maier [Wed, 25 Jan 2023 04:36:31 +0000 (22:36 -0600)]
cgal: disable diagnostics when including CGAL headers
This works around a hard to trace compilation warning that can be
triggered in some configurations in CGAL and Boost headers:
In file included from /usr/include/CGAL/Static_filtered_predicate.h:15,
from /usr/include/CGAL/Lazy_kernel.h:18,
from /usr/include/CGAL/Exact_predicates_exact_constructions_kernel.h:27,
from /usr/include/CGAL/Arr_segment_traits_2.h:30,
from /usr/include/CGAL/Gps_segment_traits_2.h:20,
from /usr/include/CGAL/Boolean_set_operations_2/complement.h:27,
from /usr/include/CGAL/Boolean_set_operations_2.h:21,
from /srv/temp/dealii/source/cgal/intersections.cc:33:
/usr/include/CGAL/Epic_converter.h: In member function ‘std::pair<CGAL::Segment_3<CGAL::Epick>, bool> CGAL::Epic_converter<IK>::operator()(const typename IK::Segment_3&) const [with IK = CGAL::Simple_cartesian<CGAL::Interval_nt<false> >]’:
/usr/include/CGAL/Epic_converter.h:305:29: note: ‘<anonymous>’ declared here
305 | return std::make_pair(Segment_3(),false);
| ^~~~~~~~~~~
In constructor ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) [with _U1 = CGAL::Segment_3<CGAL::Epick>; _U2 = bool; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<true, _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = CGAL::Segment_3<CGAL::Epick>; _T2 = bool]’,
inlined from ‘constexpr std::pair<typename std::__strip_reference_wrapper<typename std::decay<_Tp>::type>::__type, typename std::__strip_reference_wrapper<typename std::decay<_Tp2>::type>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = CGAL::Segment_3<CGAL::Epick>; _T2 = bool]’ at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_pair.h:746:72,
inlined from ‘std::pair<CGAL::Segment_3<CGAL::Epick>, bool> CGAL::Epic_converter<IK>::operator()(const typename IK::Segment_3&) const [with IK = CGAL::Simple_cartesian<CGAL::Interval_nt<false> >]’ at /usr/include/CGAL/Epic_converter.h:309:28:
/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_pair.h:535:11: warning: ‘<anonymous>’ may be used uninitialized [-Wmaybe-uninitialized]
535 | : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/CGAL/Epic_converter.h: In member function ‘std::pair<CGAL::Segment_3<CGAL::Epick>, bool> CGAL::Epic_converter<IK>::operator()(const typename IK::Segment_3&) const [with IK = CGAL::Simple_cartesian<CGAL::Interval_nt<false> >]’:
/usr/include/CGAL/Epic_converter.h:309:29: note: ‘<anonymous>’ declared here
309 | return std::make_pair(Segment_3(),false);
| ^~~~~~~~~~~