Module Name: src Committed By: rillig Date: Sun Oct 10 18:16:12 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: t_integration.sh Added Files: src/tests/usr.bin/xlint/lint1: gen-platforms.sh Log Message: tests/lint: remove duplicate platform, generate platforms list It was an unreliable idea to extract the platform properties from the targparam.h files manually, even if it was a one-time job. I still made a mistake by accidentally marking aarch64 as schar, even though it is uchar, plus I duplicated the line for powerpc64. Remove the duplicate line, no functional change. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/xlint/lint1/gen-platforms.sh cvs rdiff -u -r1.72 -r1.73 src/tests/usr.bin/xlint/lint1/t_integration.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/usr.bin/xlint/lint1/t_integration.sh diff -u src/tests/usr.bin/xlint/lint1/t_integration.sh:1.72 src/tests/usr.bin/xlint/lint1/t_integration.sh:1.73 --- src/tests/usr.bin/xlint/lint1/t_integration.sh:1.72 Sun Oct 10 08:45:51 2021 +++ src/tests/usr.bin/xlint/lint1/t_integration.sh Sun Oct 10 18:16:12 2021 @@ -1,4 +1,4 @@ -# $NetBSD: t_integration.sh,v 1.72 2021/10/10 08:45:51 skrll Exp $ +# $NetBSD: t_integration.sh,v 1.73 2021/10/10 18:16:12 rillig Exp $ # # Copyright (c) 2008, 2010 The NetBSD Foundation, Inc. # All rights reserved. @@ -52,7 +52,6 @@ configure_test_case() platform["or1k"] = "schar ilp32 int ldbl-64" platform["powerpc"] = "uchar ilp32 int ldbl-64" platform["powerpc64"] = "uchar lp64 long ldbl-64" - platform["powerpc64"] = "uchar lp64 long ldbl-64" platform["riscv32"] = "schar ilp32 int ldbl-64" platform["riscv64"] = "schar lp64 long ldbl-64" platform["sh3"] = "schar ilp32 int ldbl-64" Added files: Index: src/tests/usr.bin/xlint/lint1/gen-platforms.sh diff -u /dev/null src/tests/usr.bin/xlint/lint1/gen-platforms.sh:1.1 --- /dev/null Sun Oct 10 18:16:12 2021 +++ src/tests/usr.bin/xlint/lint1/gen-platforms.sh Sun Oct 10 18:16:12 2021 @@ -0,0 +1,52 @@ +#! /bin/sh +# $NetBSD: gen-platforms.sh,v 1.1 2021/10/10 18:16:12 rillig Exp $ + +# +# Copyright (c) 2021 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# Regenerate the platforms list, to be used in t_integration.sh. + +set -eu + +exec 1>'gen-platforms.out' + +for file in ../../../../usr.bin/xlint/arch/*/targparam.h; do + platform=${file%/*} + platform=${platform##*/} + + char=$(sed -n -E 's,.*"([su]char)\.h".*,\1,p' "$file") + ilp=$(sed -n -E 's,.*"(ilp32|lp64)\.h".*,\1,p' "$file") + size=$(awk '/#.*LONG$/ { l = "long" } /#.*INT$/ { i = "int" } END { print(i "" l) }' "$file") + ldbl=$(sed -n -E 's,^#.*LDOUBLE[^0-9]+([0-9]+)$,ldbl-\1,p' "$file") + + if [ "$size" != "int" ] && [ "$size" != "long" ]; then + size="????" # mips + fi + + case $platform in ????*) indent='\t';; *) indent='\t\t';; esac + + printf '\t\t\t''platform["%s"]'"$indent"'= "%s %-5s %-4s %s"\n' \ + "$platform" "$char" "$ilp" "$size" "$ldbl" +done