There is no compatibility problem in practice.
/home/elsid/dev/openmw/components/settings/sanitizer.hpp:11:19: error: unspecified virtual member function instantiation; the virtual member function is not instantiated but it might be with a different compiler [portability-template-virtual-member-function,-warnings-as-errors]
11 | virtual T apply(const T& value) const = 0;
| ^
/home/elsid/dev/openmw/components/settings/sanitizerimpl.cpp:20:28: note: template instantiated here
20 | struct Max final : Sanitizer<T>
| ^
- `AlwaysBreakTemplateDeclarations` is a ternary, no a boolean.
- `WarningsAsErrors` is the list of checks that should be treated as errors,
not a boolean.