Previous 199869 Revisions Next

r34666 Tuesday 27th January, 2015 at 22:27:08 UTC by Oliver Stöneberg
moved some clang-specific stuff from makefile to src/build/flags_clang.mak (nw)
[/trunk]makefile
[src/build]flags_clang.mak

trunk/makefile
r243177r243178
607607# warnings only applicable to C++ compiles
608608CPPONLYFLAGS += \
609609   -Woverloaded-virtual
610   
611include $(SRC)/build/cc_detection.mak
612610
613611ifdef SANITIZE
614612CCOMFLAGS += -fsanitize=$(SANITIZE)
613
615614ifneq (,$(findstring thread,$(SANITIZE)))
616615CCOMFLAGS += -fPIE
617616endif
618ifneq (,$(findstring memory,$(SANITIZE)))
619ifneq (,$(findstring clang,$(CC)))
620CCOMFLAGS += -fsanitize-memory-track-origins -fPIE
621617endif
622endif
623ifneq (,$(findstring undefined,$(SANITIZE)))
624ifneq (,$(findstring clang,$(CC)))
625# TODO: check if linker is clang++
626# produces a lot of messages - disable it for now
627CCOMFLAGS += -fno-sanitize=alignment
628# these are false positives because of the way our delegates work
629CCOMFLAGS += -fno-sanitize=function
630# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c when this isn't disabled
631CCOMFLAGS += -fno-sanitize=shift
632# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c, src/emu/cpu/m6809/hd6309.c when this isn't disabled
633CCOMFLAGS += -fno-sanitize=object-size
634# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c, src/emu/cpu/m6809/konami.c, src/emu/cpu/m6809/hd6309.c, src/emu/video/psx.c when this isn't disabled
635CCOMFLAGS += -fno-sanitize=vptr
636# clang takes forever to compile src/emu/video/psx.c when this isn't disabled
637CCOMFLAGS += -fno-sanitize=null
638# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c when this isn't disabled
639CCOMFLAGS += -fno-sanitize=signed-integer-overflow
640endif
641endif
642endif
643618
619include $(SRC)/build/cc_detection.mak
620
644621#-------------------------------------------------
645622# include paths
646623#-------------------------------------------------
trunk/src/build/flags_clang.mak
r243177r243178
99# caused by src/mame/video/jagblit.inc on older clang versions
1010CCOMFLAGS += -Wno-constant-logical-operand
1111
12ifneq (,$(findstring undefined,$(SANITIZE)))
13# TODO: check if linker is clang++
14# produces a lot of messages - disable it for now
15CCOMFLAGS += -fno-sanitize=alignment
16# these are false positives because of the way our delegates work
17CCOMFLAGS += -fno-sanitize=function
18endif
19
20ifneq (,$(findstring memory,$(SANITIZE)))
21CCOMFLAGS += -fsanitize-memory-track-origins -fPIE
22endif
23
1224# TODO: needs to use $(CC)
1325TEST_CLANG := $(shell clang --version)
1426
r243177r243178
2941CCOMFLAGS += -Wno-unknown-warning-option
3042# XCode 6.0.1 gives this when using SDL2 in /Library/Frameworks/SDL2.framework/Headers/SDL_syswm.h:150 included from src/osd/sdl/sdlinc.h
3143CCOMFLAGS += -Wno-extern-c-compat
44
45ifneq (,$(findstring undefined,$(SANITIZE)))
46# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c when this isn't disabled
47CCOMFLAGS += -fno-sanitize=shift
48# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c, src/emu/cpu/m6809/hd6309.c when this isn't disabled
49CCOMFLAGS += -fno-sanitize=object-size
50# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c, src/emu/cpu/m6809/konami.c, src/emu/cpu/m6809/hd6309.c, src/emu/video/psx.c when this isn't disabled
51CCOMFLAGS += -fno-sanitize=vptr
52# clang takes forever to compile src/emu/video/psx.c when this isn't disabled
53CCOMFLAGS += -fno-sanitize=null
54# clang takes forever to compile src/emu/cpu/tms57002/tms57002.c when this isn't disabled
55CCOMFLAGS += -fno-sanitize=signed-integer-overflow
3256endif
57endif
3358
3459ifeq ($(TARGETOS),emscripten)
3560CCOMFLAGS += -Qunused-arguments


Previous 199869 Revisions Next


© 1997-2024 The MAME Team