https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97844
Roman Lebedev <lebedev.ri at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lebedev.ri at gmail dot com --- Comment #2 from Roman Lebedev <lebedev.ri at gmail dot com> --- (In reply to Andrew Pinski from comment #1) > unsigned integer overflow DOES NOT EXIST. It is called wrapping only. > This is NOT undefined at all. I agree, and no one said it's undefined. > clang is broken. It's not, actually. `-fsanitize=undefined` does *NOT* warn on that, `-fsanitize=integer` does, and it's explicitly marketed as sanitizing some behavior that is explicitly *NOT* UB, but very often unintentional. So the bugreport is correct in a way, libstdc++ for -std=c++20 contains `-fsanitize=integer` issues.