From ef4fe8e4c89bcf8df9b3f74d285d8bbd71a09eea Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 31 Jan 2014 17:43:00 +0100 Subject: Switch to clang for debugging build + fix issues --- Makefile | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d2f2a8a..2867da1 100644 --- a/Makefile +++ b/Makefile @@ -167,32 +167,22 @@ clean: all: pianobar debug: pianobar -debug: CFLAGS=-pedantic -ggdb -Wall -Wmissing-declarations -Wshadow -Wcast-qual \ - -Wformat=2 -Winit-self -Wignored-qualifiers -Wmissing-include-dirs \ - -Wfloat-equal -Wundef -Wpointer-arith -Wtype-limits -Wbad-function-cast \ - -Wcast-align -Wclobbered -Wempty-body -Wjump-misses-init -Waddress \ - -Wlogical-op -Waggregate-return -Wstrict-prototypes \ - -Wold-style-declaration -Wold-style-definition -Wmissing-parameter-type \ - -Wmissing-prototypes -Wmissing-field-initializers -Woverride-init \ - -Wpacked -Wredundant-decls -Wnested-externs -# warnings for gcc 4.5; disabled: -# -Wswitch-default: too many bogus warnings -# -Wswitch-enum: too many bogus warnings -# -Wunused-parameter: too many bogus warnings -# -Wstrict-overflow: depends on optimization level -# -Wunsafe-loop-optimizations: depends on optimization level -# -Wwrite-strings: to be enabled -# -Wconversion: too many (bogus?) warnings -# -Wsign-conversion: same here -# -Wsign-compare: to be enabled -# -Wmissing-noreturn: recommendation -# -Wmissing-format-attribute: same here -# -Wpadded: have a closer look at this one -# -Winline: we don't care -# -Winvalid-pch: not our business -# -Wdisabled-optimization: depends on optimization level -# -Wstack-protector: we don't use stack protector -# -Woverlength-strings: over-portability-ish +debug: CC=clang +debug: CFLAGS=-Wall -Wextra \ + -pedantic \ + -Wno-unused-parameter \ + -fsanitize=address \ + -fsanitize=integer \ + -fsanitize=undefined \ + -fsanitize=alignment \ + -fsanitize=bool \ + -fsanitize=bounds \ + -fsanitize=enum \ + -fsanitize=shift \ + -fsanitize=signed-integer-overflow \ + -fsanitize=unsigned-integer-overflow \ + -fno-sanitize-recover +debug: LDFLAGS=$(CFLAGS) waitress-test: ${LIBWAITRESS_TEST_OBJ} ${CC} ${LDFLAGS} ${LIBWAITRESS_TEST_OBJ} ${LIBGNUTLS_LDFLAGS} -o waitress-test -- cgit v1.2.3