https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80847
Bug ID: 80847 Summary: UBSAN: yet another false positive (part2) Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: babokin at gmail dot com CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- gcc rev248312, x86_64. > cat f.cpp long long int a = -8619712598616233901LL; long long int b = -2492839055825936744LL; long long int c = 0; int main() { if (c * a + b * c) return 1; return 0; } > g++ -fsanitize=undefined -O0 f.cpp > ./a.out f.cpp:5:13: runtime error: signed integer overflow: -8619712598616233901 + -2492839055825936744 cannot be represented in type 'long long int'