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;

Reply via email to