]> git.ipfire.org Git - thirdparty/glibc.git/blame - conform/check-header-lists.sh
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / conform / check-header-lists.sh
CommitLineData
48d0341c 1#!/bin/sh
54ee292d 2# Check the set of headers with conformtest expectations for a given standard.
04277e02 3# Copyright (C) 2014-2019 Free Software Foundation, Inc.
54ee292d
JM
4# This file is part of the GNU C Library.
5
6# The GNU C Library is free software; you can redistribute it and/or
7# modify it under the terms of the GNU Lesser General Public
8# License as published by the Free Software Foundation; either
9# version 2.1 of the License, or (at your option) any later version.
10
11# The GNU C Library is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14# Lesser General Public License for more details.
15
16# You should have received a copy of the GNU Lesser General Public
17# License along with the GNU C Library; if not, see
5a82c748 18# <https://www.gnu.org/licenses/>.
54ee292d
JM
19
20set -e
21
22std=$1
23CC=$2
24expected_list=$3
25all_data_files=$4
26
27new_list=
28
29for f in $all_data_files; do
30 h=${f#data/}
31 h=${h%-data}
32 exp=$($CC -D$std -x c -E $f | sed -e '/^#/d' -e '/^[ ]*$/d')
33 if [ "$exp" ]; then
34 new_list="$new_list $h"
35 fi
36done
37
38echo "Headers with expectations for $std: $new_list"
39echo "Expected list: $expected_list"
40
41rc=0
42
43for h in $expected_list; do
44 case " $new_list " in
45 (*" $h "*)
46 ;;
47 (*)
48 echo "Missing expectations for $h."
49 rc=1
50 ;;
51 esac
52done
53
54for h in $new_list; do
55 case " $expected_list " in
56 (*" $h "*)
57 ;;
58 (*)
59 echo "Spurious expectations for $h."
60 rc=1
61 ;;
62 esac
63done
64
65exit $rc