On Tue, Nov 11, 2014 at 07:12:55PM +0300, Marat Zakirov wrote: > It is seems that -fsanitize=something do not set > flag_aggressive_loop_optimizations to 0 in current GCC version. I made a > watchpoint on it but changes after init_options_struct weren't found. I will > make fix for both flag_aggressive_loop_optimizationsno-strict-overflow and > flag_strict_overflow.
Ah, you're right, we only have: /* When instrumenting the pointers, we don't want to remove the null pointer checks. */ if (opts->x_flag_sanitize & (SANITIZE_NULL | SANITIZE_NONNULL_ATTRIBUTE | SANITIZE_RETURNS_NONNULL_ATTRIBUTE)) opts->x_flag_delete_null_pointer_checks = 0; and as Joseph said, even that is misplaced, it should be done after all options are processed, so that it isn't dependent on whether -fsanitize=undefined or --fdelete-null-pointer-checks/-faggressive-loop-optimizations come first. Jakub