blob: 58b48b705e174e17f1a06a05b34525a53970c4cd [file] [log] [blame]
Martin Rothf7906722016-04-06 16:32:37 -06001#!/bin/sh
2# This file is part of the coreboot project.
3#
4# Copyright (C) 2016 Google Inc.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; version 2 of the License.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13# GNU General Public License for more details.
14#
15# DESCR: Check that variables have fully qualified types
16
17LC_ALL=C export LC_ALL
18
19INCLUDED_DIRS='^src/\|^util/\|payloads/libpayload\|payloads/coreinfo'
20EXCLUDED_DIRS='^src/vendorcode\|^util/romcc\|cbfstool/lzma\|cbfstool/lz4'
21INCLUDED_FILES='\.[ch]:'
22
23# Use git grep if the code is in a git repo, otherwise use grep.
24if [ -n "$(command -v git)" ] && [ -d .git ]; then
25 GREP_FILES="git grep -n"
26else
27 GREP_FILES="grep -rn"
28fi
29
30${GREP_FILES} 'unsigned[[:space:]]' | \
31 grep "$INCLUDED_DIRS" | \
32 grep -v "$EXCLUDED_DIRS" | \
33 grep "$INCLUDED_FILES" | \
34 grep -v 'unsigned[[:space:]]*int\|unsigned[[:space:]]*long\|unsigned[[:space:]]*char\|unsigned[[:space:]]*short' | \
35 grep -v ':[[:space:]]*/\*\|:[[:space:]]*\*'