Skip to content

Make sure that the relaxation factor for smoothers never is complex.

Markus Blatt requested to merge complex-abi-change-warnings into master

The note

/dune-istl/dune/istl/paamg/smoother.hh:130:26: note: the ABI of passing structure with complex float member has changed in GCC 4.4

for DefaultConstructionArgs::getArgs got me thinking. I just could not imagine why there should be comlex value involved. Turned out we somehow assumed that for complex the relaxation factore would be complex, too. IMHO a relaxation factor should scale and hence be real. This MR make ssure that the relaxation factor is never complex.

Unforntunately, then a note for std::make_pair with a complex in repartition.hh appeared: /usr/include/c++/8/bits/stl_pair.h:524:5: note: the ABI of passing structure with complex float member has changed in GCC 4.4 make_pair(_T1&& __x, _T2&& __y)

and I just resorted to constructing Pair directly. Not sure whether this is really needed but it should not hurt and ensures more silence.

Merge request reports