]>
Commit | Line | Data |
---|---|---|
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 | |
20 | set -e | |
21 | ||
22 | std=$1 | |
23 | CC=$2 | |
24 | expected_list=$3 | |
25 | all_data_files=$4 | |
26 | ||
27 | new_list= | |
28 | ||
29 | for 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 | |
36 | done | |
37 | ||
38 | echo "Headers with expectations for $std: $new_list" | |
39 | echo "Expected list: $expected_list" | |
40 | ||
41 | rc=0 | |
42 | ||
43 | for 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 | |
52 | done | |
53 | ||
54 | for 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 | |
63 | done | |
64 | ||
65 | exit $rc |