11f5207b7SJohn Levon# 21f5207b7SJohn Levon# This file and its contents are supplied under the terms of the 31f5207b7SJohn Levon# Common Development and Distribution License ("CDDL"), version 1.0. 41f5207b7SJohn Levon# You may only use this file in accordance with the terms of version 51f5207b7SJohn Levon# 1.0 of the CDDL. 61f5207b7SJohn Levon# 71f5207b7SJohn Levon# A full copy of the text of the CDDL should have accompanied this 81f5207b7SJohn Levon# source. A copy of the CDDL is also available via the Internet at 91f5207b7SJohn Levon# http://www.illumos.org/license/CDDL. 101f5207b7SJohn Levon# 117ae7577cSJohn Levon# Copyright 2019 Joyent, Inc. 121f5207b7SJohn Levon# 131f5207b7SJohn Levon 141f5207b7SJohn Levon# 151f5207b7SJohn Levon# smatch/sparse checks we always disable, due to too many false positives (or 161f5207b7SJohn Levon# simply too much legacy). 171f5207b7SJohn Levon# 181f5207b7SJohn Levon 19*44bf619dSJohn LevonSMATCH_ARGS = --disable=uninitialized,check_check_deref 201f5207b7SJohn Levon 211f5207b7SJohn Levon# VLAs are OK by us 221f5207b7SJohn LevonSMATCH_ARGS += -Wno-vla 231f5207b7SJohn Levon# don't care 241f5207b7SJohn LevonSMATCH_ARGS += -Wno-one-bit-signed-bitfield 251f5207b7SJohn Levon# there are lots of "extern void myfunc() { ... }" around 261f5207b7SJohn LevonSMATCH_ARGS += -Wno-external-function-has-definition 271f5207b7SJohn Levon# we have lots of legacy "void foo();" in headers 281f5207b7SJohn LevonSMATCH_ARGS += -Wno-old-style-definition 291f5207b7SJohn LevonSMATCH_ARGS += -Wno-strict-prototypes 307ae7577cSJohn LevonSMATCH_ARGS += --fatal-checks 31efe51d0cSJohn LevonSMATCH_ARGS += --timeout=0 321f5207b7SJohn Levon 331f5207b7SJohn LevonCERRWARN += $(SMATCH_ARGS:%=-_smatch=%) 341f5207b7SJohn Levon 351f5207b7SJohn LevonCERRWARN += $(SMOFF:%=-_smatch=--disable=%) 361f5207b7SJohn Levon 371f5207b7SJohn LevonSMATCH_ = 381f5207b7SJohn LevonSMATCH_on = 391f5207b7SJohn LevonSMATCH_off = -_smatch=off 401f5207b7SJohn Levon 411f5207b7SJohn LevonCERRWARN += $(SMATCH_$(SMATCH)) 42