xref: /netbsd-src/tests/lib/libc/misc/Makefile (revision a0698ed9d41653d7a2378819ad501a285ca0d401)
1# $NetBSD: Makefile,v 1.3 2019/02/04 03:10:33 mrg Exp $
2
3.include <bsd.own.mk>
4
5TESTSDIR=	${TESTSBASE}/lib/libc/misc
6
7TESTS_C+=	t_ubsan
8TESTS_CXX+=	t_ubsanxx
9
10.PATH:		${NETBSDSRCDIR}/common/lib/libc/misc
11SRCS.t_ubsan=	t_ubsan.c ubsan.c
12SRCS.t_ubsanxx=	t_ubsanxx.cpp ubsan.c
13
14.if ${MKSANITIZER:Uno} != "yes" && ${MKLIBCSANITIZER:Uno} != "yes"
15# These tests are designed to be used against micro-UBSan only.
16# micro-UBSan is used in these tests as a standalone libary only.
17CPPFLAGS+=		-DENABLE_TESTS
18UBSAN_FLAGS=		-fsanitize=undefined
19UBSAN_FLAGS+=		${${ACTIVE_CC} == "clang" :? -fsanitize=integer :}
20UBSAN_FLAGS+=		${${ACTIVE_CC} == "clang" :? -fsanitize=nullability :}
21CFLAGS+=		${UBSAN_FLAGS}
22CXXFLAGS+=		${UBSAN_FLAGS}
23CWARNFLAGS+=		-Wno-return-type -Wno-strict-aliasing
24CWARNFLAGS.clang+=	-Wno-incompatible-pointer-types-discards-qualifiers
25CWARNFLAGS.clang+=	-Wno-nullability-completeness
26.endif
27COPTS.t_ubsan.c += -Wno-stack-protector
28COPTS.t_ubsanxx.cpp += -Wno-stack-protector
29
30.if defined(HAVE_GCC) && ${HAVE_GCC} == 7 && ${ACTIVE_CC} == "gcc"
31COPTS.t_ubsan.c+=	-Wno-int-in-bool-context
32COPTS.t_ubsanxx.cpp+=	-Wno-int-in-bool-context
33.endif
34
35.include <bsd.test.mk>
36