Skip to content

Fix clang6 failures.

These seem to be mostly compiler optimization bugs for clang6, since the failures disappear in later clang versions, and only occur with -O2+.

Issues and work-arounds:

  • small_product_5 is doing the comparison without first updating res.col(r), fixed by forcing the column update before comparison.
  • geo_orthomethods_1 cross3 seems to rearrange one of the vectors to have a non-zero in the last component, fixed by forcing it to zero (which may technically be necessary if the inputs previously had an inf or nan in that slot, so this could be considered a general bugfix).
  • array_cwise_12 the SSE pabs function was shifting one of the vectors from [a b c d] to [a b b c] during the floating-point mask step. Fixed by forcing the bitwise mask to be performed in integers.

Merge request reports

Loading