Module Name: src Committed By: rillig Date: Wed Feb 22 22:12:35 UTC 2023
Modified Files: src/tests/usr.bin/xlint/lint1: platform_ilp32.c platform_ldbl128.c platform_ldbl64.c platform_ldbl96.c platform_lp64.c platform_schar.c platform_uchar.c Log Message: tests/lint: add platform-specific tests To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/platform_ilp32.c \ src/tests/usr.bin/xlint/lint1/platform_ldbl128.c \ src/tests/usr.bin/xlint/lint1/platform_ldbl64.c \ src/tests/usr.bin/xlint/lint1/platform_ldbl96.c \ src/tests/usr.bin/xlint/lint1/platform_schar.c \ src/tests/usr.bin/xlint/lint1/platform_uchar.c cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/platform_lp64.c 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/platform_ilp32.c diff -u src/tests/usr.bin/xlint/lint1/platform_ilp32.c:1.2 src/tests/usr.bin/xlint/lint1/platform_ilp32.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_ilp32.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_ilp32.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_ilp32.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_ilp32.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_ilp32.c" /* @@ -9,7 +9,20 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: ilp32 */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. +int s32; +unsigned int u32; +long sl32; +unsigned long ul32; -/* expect+1: warning: empty translation unit [272] */ +void +convert_between_int_and_long(void) +{ + /* + * No warning about possible loss of accuracy, as the types have the + * same size. + */ + s32 = sl32; + sl32 = s32; + u32 = ul32; + ul32 = u32; +} Index: src/tests/usr.bin/xlint/lint1/platform_ldbl128.c diff -u src/tests/usr.bin/xlint/lint1/platform_ldbl128.c:1.2 src/tests/usr.bin/xlint/lint1/platform_ldbl128.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_ldbl128.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_ldbl128.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_ldbl128.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_ldbl128.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_ldbl128.c" /* @@ -8,7 +8,6 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: ldbl-128 */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. - -/* expect+1: warning: empty translation unit [272] */ +/* CONSTCOND */ +typedef int bits_per_byte[((unsigned char)-1) == 255 ? 1 : -1]; +typedef int bytes_per_long_double[sizeof(long double) == 16 ? 1 : -1]; Index: src/tests/usr.bin/xlint/lint1/platform_ldbl64.c diff -u src/tests/usr.bin/xlint/lint1/platform_ldbl64.c:1.2 src/tests/usr.bin/xlint/lint1/platform_ldbl64.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_ldbl64.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_ldbl64.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_ldbl64.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_ldbl64.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_ldbl64.c" /* @@ -8,7 +8,6 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: ldbl-64 */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. - -/* expect+1: warning: empty translation unit [272] */ +/* CONSTCOND */ +typedef int bits_per_byte[((unsigned char)-1) == 255 ? 1 : -1]; +typedef int bytes_per_long_double[sizeof(long double) == 8 ? 1 : -1]; Index: src/tests/usr.bin/xlint/lint1/platform_ldbl96.c diff -u src/tests/usr.bin/xlint/lint1/platform_ldbl96.c:1.2 src/tests/usr.bin/xlint/lint1/platform_ldbl96.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_ldbl96.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_ldbl96.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_ldbl96.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_ldbl96.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_ldbl96.c" /* @@ -8,7 +8,6 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: ldbl-96 */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. - -/* expect+1: warning: empty translation unit [272] */ +/* CONSTCOND */ +typedef int bits_per_byte[((unsigned char)-1) == 255 ? 1 : -1]; +typedef int bytes_per_long_double[sizeof(long double) == 12 ? 1 : -1]; Index: src/tests/usr.bin/xlint/lint1/platform_schar.c diff -u src/tests/usr.bin/xlint/lint1/platform_schar.c:1.2 src/tests/usr.bin/xlint/lint1/platform_schar.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_schar.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_schar.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_schar.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_schar.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_schar.c" /* @@ -9,7 +9,7 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: schar */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. - -/* expect+1: warning: empty translation unit [272] */ +/* CONSTCOND */ +/* FIXME: Wrong order in the diagnostic, should be '-128 <' instead. */ +/* expect+1: warning: nonportable character comparison '< -128' [230] */ +typedef int is_signed[(char)'\200' < (char)'\177' ? 1 : -1]; Index: src/tests/usr.bin/xlint/lint1/platform_uchar.c diff -u src/tests/usr.bin/xlint/lint1/platform_uchar.c:1.2 src/tests/usr.bin/xlint/lint1/platform_uchar.c:1.3 --- src/tests/usr.bin/xlint/lint1/platform_uchar.c:1.2 Sun Sep 26 14:28:22 2021 +++ src/tests/usr.bin/xlint/lint1/platform_uchar.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_uchar.c,v 1.2 2021/09/26 14:28:22 rillig Exp $ */ +/* $NetBSD: platform_uchar.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_uchar.c" /* @@ -9,7 +9,6 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: uchar */ -// TODO: Add some code that passes. -// TODO: Add some code that fails. - -/* expect+1: warning: empty translation unit [272] */ +/* CONSTCOND */ +/* expect+1: warning: nonportable character comparison '< 128' [230] */ +typedef int is_unsigned[(char)'\177' < (char)'\200' ? 1 : -1]; Index: src/tests/usr.bin/xlint/lint1/platform_lp64.c diff -u src/tests/usr.bin/xlint/lint1/platform_lp64.c:1.3 src/tests/usr.bin/xlint/lint1/platform_lp64.c:1.4 --- src/tests/usr.bin/xlint/lint1/platform_lp64.c:1.3 Sat Jun 11 11:52:13 2022 +++ src/tests/usr.bin/xlint/lint1/platform_lp64.c Wed Feb 22 22:12:35 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_lp64.c,v 1.3 2022/06/11 11:52:13 rillig Exp $ */ +/* $NetBSD: platform_lp64.c,v 1.4 2023/02/22 22:12:35 rillig Exp $ */ # 3 "platform_lp64.c" /* @@ -9,6 +9,22 @@ /* lint1-extra-flags: -c -h -a -p -b -r -z */ /* lint1-only-if: lp64 */ +int s32; +unsigned int u32; +long sl32; +unsigned long ul32; + +void +convert_between_int_and_long(void) +{ + /* expect+1: warning: conversion from 'long' to 'int' may lose accuracy [132] */ + s32 = sl32; + sl32 = s32; + /* expect+1: warning: conversion from 'unsigned long' to 'unsigned int' may lose accuracy [132] */ + u32 = ul32; + ul32 = u32; +} + void to_size_t(typeof(sizeof(int))); void @@ -17,6 +33,3 @@ convert_unsigned_char_to_size_t(unsigned /* no warning, unlike platform_int */ to_size_t(uc); } - -/* expect+1: warning: static variable 'unused_variable' unused [226] */ -static int unused_variable;