https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86899
Bug ID: 86899 Summary: [7? regression] TSAN incorrect warning: control reaches end of non-void function Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: dimhen 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: --- r255400 PASS r255622 FAIL r263351 FAIL $ cat a.cpp int foo() { return 0; if(0) { return 0; } } $ g++ -Wall -c a.cpp $ g++ -Wall -fsanitize=thread -c a.cpp a.cpp: In function ‘int foo()’: a.cpp:7:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none Target: x86_64-pc-linux-gnu Configured with: /home/dimhen/src/gcc_current/configure --prefix=/usr/local/gcc_current --enable-checking=yes,df,fold,rtl,extra --enable-languages=c,c++,lto --disable-multilib --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --with-tune=native Thread model: posix gcc version 9.0.0 20180807 (experimental) [trunk revision 263351] (GCC)