* Alexandre Duret-Lutz: > (1) lib/argmatch.h includes lib/gettext.h which fails as follows > >> clang++ -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I../buddy/src -I../lib -I../lib >> -W -Wall -Werror -Wint-to-void-pointer-cast -Wzero-as-null-pointer-constant >> -Wcast-align -Wpointer-arith -Wwrite-strings -Wcast-qual -DXTSTRINGDEFINES >> -Wdocumentation -Wmissing-declarations -Woverloaded-virtual >> -Wmisleading-indentation -Wimplicit-fallthrough -Wnull-dereference >> -Wsuggest-override -Wpedantic -fvisibility=hidden >> -fvisibility-inlines-hidden -DSPOT_BUILD -std=c++17 -g -O -MT autcross.o -MD >> -MP -MF .deps/autcross.Tpo -c -o autcross.o autcross.cc >> In file included from autcross.cc:34: >> In file included from ../lib/argmatch.h:31: >> ../lib/gettext.h:234:22: error: zero as null pointer constant >> [-Werror,-Wzero-as-null-pointer-constant] >> if (msg_ctxt_id != NULL) >> ^~~~ >> nullptr >> /usr/lib/llvm-11/lib/clang/11.0.1/include/stddef.h:84:18: note: expanded >> from macro 'NULL' >> # define NULL __null >> ^
Would you be able to check whether __null is in the preprocessed sources? If it is there (and the lack of further logged expansions suggests this), then this is a compiler bug. __null is not zero, and should be fine to use as a null pointer constant. This is why NULL is not defined as 0. Thanks, Florian -- Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill