• Hans Wennborg's avatar
    Fix the no-op definitions of GOOGLE_PREDICT_{TRUE,FALSE} · fcf1b575
    Hans Wennborg authored
    Updating to the current protobuf version caused the following build errors in
    Chromium when using Clang on Windows:
    
    ..\..\third_party\protobuf\src\google/protobuf/stubs/fastmem.h(67,43) :  error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
      if (GOOGLE_PREDICT_FALSE(n_rounded_down == 0)) {  // n <= 7
                               ~~~~~~~~~~~~~~~^~~~
    
    The problem is that on Windows, GOOGLE_PREDICT_FALSE is #defined to nothing, so
    the code expands to 'if ((n_rounded_down == 0))', which Clang warns about.
    
    Clang would not have warned if the extra parentheses came from the macro,
    but in this case they don't because the macro is just dropped.
    
    Fix this by making the macros behave as an identity function instead of just
    getting dropped.
    
    This is closer to what these macros look like in stubs/port.h internally.
    fcf1b575
Name
Last commit
Last update
benchmarks Loading commit data...
cmake Loading commit data...
conformance Loading commit data...
csharp Loading commit data...
editors Loading commit data...
examples Loading commit data...
java Loading commit data...
javanano Loading commit data...
m4 Loading commit data...
more_tests Loading commit data...
objectivec Loading commit data...
protoc-artifacts Loading commit data...
python Loading commit data...
ruby Loading commit data...
src Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
BUILD Loading commit data...
CHANGES.txt Loading commit data...
CONTRIBUTORS.txt Loading commit data...
INSTALL.txt Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
Protobuf.podspec Loading commit data...
README.md Loading commit data...
WORKSPACE Loading commit data...
appveyor.bat Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
generate_descriptor_proto.sh Loading commit data...
gmock.BUILD Loading commit data...
post_process_dist.sh Loading commit data...
protobuf-lite.pc.in Loading commit data...
protobuf.pc.in Loading commit data...
travis.sh Loading commit data...
update_file_lists.sh Loading commit data...