diff --git a/src/analysis/PyramidGaussQuadrature.cpp b/src/analysis/PyramidGaussQuadrature.cpp index 679f3ded5b85764bca43ed062f379d8171cd5c65..e85a74ac1af9ec6893d15f5489cd568891e0ca92 100644 --- a/src/analysis/PyramidGaussQuadrature.cpp +++ b/src/analysis/PyramidGaussQuadrature.cpp @@ -24,6 +24,11 @@ PyramidGaussQuadrature::_buildPointAndWeightLists(const size_t degree) const double w = (4. / 3) * unit_weight; + // gcc's bound checking are messed up due to the use of + // std::array and the following dynamic/general switch +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" + switch (id) { case 1: { Assert(value_list.size() == 1); @@ -96,6 +101,8 @@ PyramidGaussQuadrature::_buildPointAndWeightLists(const size_t degree) } // LCOV_EXCL_STOP } + +#pragma GCC diagnostic pop } };