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.