Open eli-schwartz opened 4 months ago
The variable is double, but Rast_is_f_null_value is used for the null check. It looks like the following should fix it (I would not mind at all if someone uses this to create a PR):
- if (Rast_is_f_null_value((void *)&f1)) {
+ if (Rast_is_d_null_value(&f1)) {
I tried to compile with LTO:
-flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
The -Werror=* flags are important to detect cases where the compiler can try to optimize based on assuming UB cannot happen, and miscompile code that has UB in it. strict-aliasing issues are always bad but LTO can make them even worse.
I got this error:
Downstream report: https://bugs.gentoo.org/862579 Full build log: build.log.txt