Commit f17a3b05 authored by Claus-Justus Heine's avatar Claus-Justus Heine

Merge branch 'bugfix/recent-compilers' into 'master'

Bugfix/recent compilers

See merge request !86
parents 2a9d3fc2 68d3193e
Pipeline #36405 failed with stage
in 3 minutes
......@@ -31,54 +31,68 @@ before_script:
# - "stuttgart1"
# - "stuttgart2"
debian-10-gcc-7-14:
debian-10-gcc-7-17:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-10-gcc-7-14
script: env ; pwd ; duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-gcc7.opts
image: dune-acfem-ci:git-debian-10-gcc-7-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
debian-10-gcc-8-17:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-10-gcc-8-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
debian-11-gcc-9-20:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-11-gcc-9-20
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
debian-11-gcc-10-20:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-11-gcc-10-20
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
ubuntu-18.04-clang-6-17:
<<: *default
stage: test
image: dune-acfem-ci:git-ubuntu-18.04-clang-6-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-clang6.opts
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
# only:
# - triggers
# - schedules
debian-10-gcc-8-17:
debian-10-clang-7-libcpp-17:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-10-gcc-8-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-gcc8.opts
image: dune-acfem-ci:git-debian-10-clang-7-libcpp-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
# only:
# - triggers
# - schedules
#debian-10-clang-6-libcpp-17:
# <<: *default
# stage: test
# image: dune-acfem-ci:git-debian-10-clang-6-libcpp-17
# script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-clang6-libcpp.opts
# when: always
# only:
# - schedules
debian-10-clang-7-libcpp-17:
ubuntu-20.04-clang-10-20:
<<: *default
stage: test
image: dune-acfem-ci:git-debian-10-clang-7-libcpp-17
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-clang7-libcpp.opts
image: dune-acfem-ci:git-ubuntu-20.04-clang-10-20
script: duneci-standard-test --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci.opts
when: always
# only:
# - triggers
# - schedules
headercheck:
<<: *default
stage: test
image: dune-acfem-ci:git-ubuntu-18.04-clang-6-17
image: dune-acfem-ci:git-ubuntu-20.04-clang-10-20
script:
- cd /builds/dune-fem
- dunecontrol --opts=/builds/dune-fem/dune-acfem/scripts/opts/ci-headercheck.opts --only=dune-acfem configure
......
......@@ -5,7 +5,7 @@ project("dune-acfem" C CXX)
set(BUILD_DOCS 1)
# general stuff
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.13)
#find dune-common and set the module path
find_package(dune-common)
......
......@@ -89,7 +89,7 @@ namespace Dune {
/**We don't have a fixed-size. Depends on the mapper and the
* number of DoFs on sub-entities.
*/
bool fixedsize(int dim, int codim) const
bool fixedSize(int dim, int codim) const
{
return false;
}
......
......@@ -77,7 +77,7 @@ namespace Dune {
* in the most general case (multiple intersections, different
* kinds of reference elements).
*/
bool fixedsize(int dim, int codim) const
bool fixedSize(int dim, int codim) const
{
return false;
}
......
......@@ -117,7 +117,7 @@ namespace Dune
template<class F, class T, class SFINAE = void>
constexpr inline bool IsCompositionWithInverseV = std::is_same<typename std::decay_t<F>::InvertibleOperation, Operation<T> >::value;
#if DUNE_ACFEM_IS_CLANG(0, 10)
#if DUNE_ACFEM_IS_GCC(9, 99) || DUNE_ACFEM_IS_CLANG(0, 10)
template<class F, class T>
constexpr inline bool IsCompositionWithInverseV<
F, T,
......@@ -129,8 +129,11 @@ namespace Dune
F, T,
std::enable_if_t<IsFunctor<F>::value &&
#else
# if DUNE_ACFEM_IS_CLANG(0, 99)
# if DUNE_ACFEM_IS_CLANG(0, 9)
# warning This construct was known to fail for clang <= V10
# endif
# if DUNE_ACFEM_IS_GCC(10, 99)
# warning This construct is known to fail for gcc >= V9
# endif
template<class F, class T>
constexpr inline bool IsCompositionWithInverseV<
......
......@@ -19,9 +19,6 @@ namespace Dune::ACFem::MPL {
template<class T0, class T1, class... T, class... Out, template<CXX17_P0522R0(class A, class B)> class Swap>
struct UniqueHelper<TypeTuple<T0, T1, T...>, TypeTuple<Out...>, Swap, std::enable_if_t<Swap<T1, T0>::value> >
{
#ifndef NDEBUG
static_assert(!Swap<T0, T1>::value, "Tuple is not sorted, Unique<> will not work reliably.");
#endif
using Type = typename UniqueHelper<TypeTuple<T1, T...>, TypeTuple<Out..., T0>, Swap>::Type;
};
......
......@@ -172,7 +172,7 @@ namespace Dune
// return pfx+operand(0_c).name();
}
operator decltype(auto) () &&
operator auto () &&
{
return std::move(operand(0_c));
}
......
......@@ -1053,7 +1053,7 @@ namespace Dune::ACFem {
//static std::size_t explodeCount = 0;
#if DUNE_ACFEM_IS_CLANG(0, 10)
#if DUNE_ACFEM_IS_GCC(9,10) || DUNE_ACFEM_IS_CLANG(0, 10)
template<std::size_t Level, class F, class T0, class T1, class SFINAE = void>
constexpr inline bool LevelShouldFactorizeV = ShouldFactorizeV<F, T0, T1>;
......@@ -1066,8 +1066,11 @@ namespace Dune::ACFem {
{}
# endif
#else
# if DUNE_ACFEM_IS_CLANG(0, 99)
# if DUNE_ACFEM_IS_CLANG(0, 10)
# warning This construct was known to fail for clang <= V10
# endif
# if DUNE_ACFEM_IS_GCC(9, 10)
# warning This construct was known to fail for gcc >= V9 <= V10
# endif
template<class F, class T0, class T1, std::enable_if_t<ShouldFactorizeV<F, T0, T1>, int> = 0>
constexpr auto operate(OptimizeGap2, F&& f, T0&& t0, T1&& t1)
......
CMAKE_FLAGS="
-DCMAKE_CXX_COMPILER='/usr/bin/clang++-10' \
-DCMAKE_C_COMPILER='/usr/bin/clang-10' \
-DCMAKE_CXX_FLAGS='-O3 -Wall -ftemplate-backtrace-limit=0' \
-DDUNE_GRID_GRIDTYPE_SELECTOR=ON \
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
"
CMAKE_FLAGS="
-DCMAKE_CXX_COMPILER=/usr/bin/g++-10 \
-DCMAKE_C_COMPILER=/usr/bin/gcc-10 \
-DCMAKE_CXX_FLAGS='-Wall -Winit-self -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-deprecated -O3' \
-DDUNE_GRID_GRIDTYPE_SELECTOR=ON \
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
"
CMAKE_FLAGS="
-DCMAKE_CXX_COMPILER=/usr/bin/g++-9 \
-DCMAKE_C_COMPILER=/usr/bin/gcc-9 \
-DCMAKE_CXX_FLAGS='-Wall -Winit-self -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-deprecated -O3' \
-DDUNE_GRID_GRIDTYPE_SELECTOR=ON \
-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
"
BUILDTYPE=Release
source /duneci/dune.opts
STDFLAGS="-O3 -g3 -Wall -Wno-unused-local-typedefs -Wno-deprecated-declarations" # -Wno-unused-but-set-variable"
CC=$(type -p gcc)
CXX=$(type -p g++)
# set flags for CMake:
# compiler flags, 3rd party software, grid extensions
# just switch the grid-selector on and the header-check
CMAKE_FLAGS="\
-DCMAKE_C_COMPILER=${CC}\
-DCMAKE_CXX_COMPILER=${CXX}\
-DCMAKE_CXX_FLAGS='$STDFLAGS'\
-DCMAKE_BUILD_TYPE=${BUILDTYPE}\
${CMAKE_FLAGS}\
-DDUNE_GRID_GRIDTYPE_SELECTOR=ON\
-DENABLE_HEADERCHECK=ON\
"
MAKE_FLAGS=-j4
source /duneci/dune.opts
# just switch the grid-selector on.
CMAKE_FLAGS="\
${CMAKE_FLAGS}\
-DDUNE_GRID_GRIDTYPE_SELECTOR=ON\
"
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment