[llvm-dev] Potential problem with -Wunreachable-code

Ian Collins via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 21 19:28:54 PST 2019


Hello, hopefully this is the correct place to ask this...


We use distcc with clang++ and I have recently added -Wunreachable-code 
to our set of warnings.  The problem I am seeing is the compile fails 
with (valid) unreachable code warnings on the slave, but passes (no 
warning) locally.  All machines have the same compiler version

clang version 8.0.1-svn369350-1~exp1~20190820121219.79 (branches/release_80)

Distcc takes the compile line, removes -o <output> and replaces it with 
-E and sends the preprocessed result to the slave where it is compiled 
without any -I, -isystem or -D options. Generating the preprocessed 
output and compiling it locally finds the warnings.  I'm concerned that 
we are seeing a different result for the output of -E and the standard 
compile.


The compiler options are:
-g
-Wall
-Werror
-Wno-strict-aliasing
-Wno-missing-braces
-m64
-Wno-switch
-fno-diagnostics-fixit-info
-fshow-overloads=best
-Wno-unknown-warning-option
-Wno-unknown-pragmas
-Wno-logical-op-parentheses
-Wno-tautological-undefined-compare
-Wno-tautological-unsigned-zero-compare
-Wno-tautological-unsigned-enum-zero-compare
-Wno-expansion-to-defined
-Wno-format-security
-Wnarrowing
-Warray-bounds-pointer-arithmetic
-Wduplicate-method-match
-Wmove
-Wunreachable-code
-Wno-return-std-move
-ftemplate-depth=512
-Wpessimizing-move
-gline-tables-only
-fprofile-instr-generate
-fcoverage-mapping
-Og
-std=c++14
-Wno-reorder
-Wno-literal-suffix
-Wcomma
-fPIC

Thanks,

Ian.




More information about the llvm-dev mailing list