I think our aim should really be to pass all builds with all sorts of -Wall (MSVC, Intel C++, GCC) however I think this may get interesting on at least Windows. But each warning has a reason and as a security library we should be notified about anything that may cause unusual behavior. So I think enabling Wall on GCC (+Clang) is a good direction for our library. If we "killed" all warnings on Clang and GCC and I get back in involvement we may also want to increase warning levels on Windows and Intel, although I think standard libraries also cause some of the warnings...
BR JPM Am 19.07.2015 um 20:32 schrieb Jeffrey Walton: > > > On Sunday, July 19, 2015 at 10:50:29 AM UTC-4, Jeffrey Walton wrote: > > Hi Everyone, > ... > > Are there any comments or objections to the patch below? > > > Here's an updated one that enables -Wall for Clang, too. > > $ cat GNUmakefile.diff > diff --git a/GNUmakefile b/GNUmakefile > index 6cb318d..0afc941 100644 > --- a/GNUmakefile > +++ b/GNUmakefile > @@ -25,6 +25,13 @@ ifeq ($(PREFIX),) > PREFIX = /usr > endif > > +# Enable at GCC 4.7 and above because of the intersection with > suppression using GCC_DIAGNOSTIC_AWARE > +GCC47_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "^gcc > version (4\.[7-9]|[5-9])") > +WALL_SUPPORT ?= $(shell echo $$(($(CLANG_COMPILER) + $(GCC47_OR_LATER)))) > +ifneq ($(WALL_SUPPORT),0) > +CXXFLAGS += -Wall > +endif > + > ifeq ($(IS_X86),1) > > GCC42_OR_LATER = $(shell $(CXX) -v 2>&1 | $(EGREP) -i -c "^gcc > version (4.[2-9]|[5-9])") > @@ -72,11 +79,10 @@ endif # GCC 4.5 > > endif # Cygwin work arounds > > -# We can do integer math using the Posix shell in a GNUmakefile > -# Below, we are building a boolean circuit that says "Darwin && (GCC > 4.2 || Clang)" > +# Build a boolean circuit that says "Darwin && (GCC 4.2 || Clang)" > MULTIARCH_SUPPORT ?= $(shell echo $$(($(IS_DARWIN) * > ($(GCC42_OR_LATER) + $(CLANG_COMPILER))))) > ifneq ($(MULTIARCH_SUPPORT),0) > -CXXFLAGS += -arch x86_64 -arch i386 > +CXXFLAGS += -arch i386 -arch x86_64 > else > CXXFLAGS += -march=native > endif > @@ -159,7 +165,7 @@ CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC > endif > endif > > -SRCS = $(wildcard *.cpp) > +SRCS = $(filter-out pch.cpp cryptlib_bds.cpp winpipes.cpp, $(wildcard > *.cpp)) > OBJS = $(SRCS:.cpp=.o) > > # test.o needs to be after bench.o for cygwin 1.1.4 (possible ld bug?) > > -- > -- > You received this message because you are subscribed to the "Crypto++ > Users" Google Group. > To unsubscribe, send an email to > [email protected]. > More information about Crypto++ and this group is available at > http://www.cryptopp.com. > --- > You received this message because you are subscribed to the Google > Groups "Crypto++ Users" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout. -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com. --- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
smime.p7s
Description: S/MIME Cryptographic Signature
