[PATCH] D32914: Introduce Wzero-as-null-pointer-constant.

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun May 7 12:51:28 PDT 2017


lebedev.ri added a comment.

This warning complains about macros from system headers, e.g. `PTHREAD_MUTEX_INITIALIZER`:

  $ ninja -j1 -v
  [1/110] /usr/bin/cmake -E __run_iwyu --tidy=/usr/local/bin/clang-tidy --source=../src/librawspeed/common/DngOpcodes.cpp -- /usr/local/bin/clang++  -DDEBUG -Isrc -I../src/librawspeed -std=c++11 -Wall -Wextra -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-conversion -Wno-covered-switch-default -Wno-deprecated -Wno-double-promotion -Wno-exit-time-destructors -Wno-global-constructors -Wno-gnu-zero-variadic-macro-arguments -Wno-old-style-cast -Wno-padded -Wno-sign-conversion -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-macros -Wno-unused-parameter -Wno-weak-vtables -O1 -fno-optimize-sibling-calls -fsanitize=thread -fPIC   -march=native -g3 -ggdb3 -Werror -MD -MT src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o -MF src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o.d -o src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o -c ../src/librawspeed/common/DngOpcodes.cpp
  FAILED: src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o 
  /usr/bin/cmake -E __run_iwyu --tidy=/usr/local/bin/clang-tidy --source=../src/librawspeed/common/DngOpcodes.cpp -- /usr/local/bin/clang++  -DDEBUG -Isrc -I../src/librawspeed -std=c++11 -Wall -Wextra -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-conversion -Wno-covered-switch-default -Wno-deprecated -Wno-double-promotion -Wno-exit-time-destructors -Wno-global-constructors -Wno-gnu-zero-variadic-macro-arguments -Wno-old-style-cast -Wno-padded -Wno-sign-conversion -Wno-switch-enum -Wno-undefined-func-template -Wno-unused-macros -Wno-unused-parameter -Wno-weak-vtables -O1 -fno-optimize-sibling-calls -fsanitize=thread -fPIC   -march=native -g3 -ggdb3 -Werror -MD -MT src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o -MF src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o.d -o src/librawspeed/CMakeFiles/rawspeed.dir/common/DngOpcodes.cpp.o -c ../src/librawspeed/common/DngOpcodes.cpp
  ../src/librawspeed/common/Mutex.h:98:27: error: zero as null pointer constant [clang-diagnostic-zero-as-null-pointer-constant]
    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
                            ^
  /usr/include/pthread.h:87:41: note: expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
    { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
                                          ^
  In file included from ../src/librawspeed/common/DngOpcodes.cpp:25:
  ../src/librawspeed/common/Mutex.h:98:27: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
                            ^
  /usr/include/pthread.h:87:41: note: expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
    { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
                                          ^
  In file included from ../src/librawspeed/common/DngOpcodes.cpp:25:
  ../src/librawspeed/common/Mutex.h:98:27: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
  /usr/include/pthread.h:87:44: note: expanded from macro 'PTHREAD_MUTEX_INITIALIZER'
    { { 0, 0, 0, 0, 0, __PTHREAD_SPINS, { 0, 0 } } }
                                             ^
  2 errors generated.
  ninja: build stopped: subcommand failed.


https://reviews.llvm.org/D32914





More information about the cfe-commits mailing list