xref: /illumos-gate/usr/src/Makefile.smatch (revision 8a2b682e57a046b828f37bcde1776f131ef4629f)
1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11# Copyright 2019 Joyent, Inc.
12#
13
14#
15# smatch/sparse checks we always disable, due to too many false positives (or
16# simply too much legacy).
17#
18
19SMATCH_ARGS = --disable=uninitialized,check_check_deref
20
21# VLAs are OK by us
22SMATCH_ARGS += -Wno-vla
23# don't care
24SMATCH_ARGS += -Wno-one-bit-signed-bitfield
25# there are lots of "extern void myfunc() { ... }" around
26SMATCH_ARGS += -Wno-external-function-has-definition
27# we have lots of legacy "void foo();" in headers
28SMATCH_ARGS += -Wno-old-style-definition
29SMATCH_ARGS += -Wno-strict-prototypes
30SMATCH_ARGS += --fatal-checks
31SMATCH_ARGS += --timeout=0
32
33CERRWARN += $(SMATCH_ARGS:%=-_smatch=%)
34
35CERRWARN += $(SMOFF:%=-_smatch=--disable=%)
36
37SMATCH_ =
38SMATCH_on =
39SMATCH_off = -_smatch=off
40
41CERRWARN += $(SMATCH_$(SMATCH))
42