https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108894
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- For the uses of __bdos for -fsanitize=bounds* IMHO certainly, we really shouldn't duplicate what another sanitizer does there. As for whether -fstrict-flex-arrays= should or shouldn't affect -fsanitize=bounds, making it gradually equivalent to -fsanitize=bounds-strict, that is a question, perhaps if -fstrict-flex-arrays= is considered as changing the exactly applicable language standard, with that option it might change what is and is not undefined behavior. Siddhesh/Qing, what do you think? Note, clang doesn't support -fsanitize=bounds-strict it seems, on the other side -fsanitize=bounds there is a union of -fsanitize=array-bounds and -fsanitize=local-bounds where the latter according to documentation isn't included in -fsanitize=undefined, whatever it means. In gcc -fsanitize=undefined similarly includes -fsanitize=bounds but doesn't -fsanitize=bounds-strict.