7be98db800
Casting integers to enums outside of the valid range of the enum is UB in C++17 and apparently no longer tolerated by modern Clang even for C++11 code. Replace invalidAlgo (255) with optional<T>-based approach using the C++11-compatible Sy Brand's template implementation; std::optional is not an option (pun intended) in this case because this code won't compile in C++17 mode which it requires. Obtained from: upstream (psi-im/iris commit 0d35992) Reported by: pkg-fallout