Module Name: src Committed By: rillig Date: Sat Mar 30 19:12:37 UTC 2024
Modified Files: src/tests/usr.bin/xlint/lint1: queries.c src/usr.bin/xlint/lint1: tree.c Log Message: lint: in the query about implicit conversions, ignore casts To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/tests/usr.bin/xlint/lint1/queries.c cvs rdiff -u -r1.632 -r1.633 src/usr.bin/xlint/lint1/tree.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/queries.c diff -u src/tests/usr.bin/xlint/lint1/queries.c:1.26 src/tests/usr.bin/xlint/lint1/queries.c:1.27 --- src/tests/usr.bin/xlint/lint1/queries.c:1.26 Sat Mar 30 17:23:13 2024 +++ src/tests/usr.bin/xlint/lint1/queries.c Sat Mar 30 19:12:37 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: queries.c,v 1.26 2024/03/30 17:23:13 rillig Exp $ */ +/* $NetBSD: queries.c,v 1.27 2024/03/30 19:12:37 rillig Exp $ */ # 3 "queries.c" /* @@ -71,6 +71,9 @@ char *str; const char *cstr; volatile char *vstr; +void *void_ptr; +const void *const_void_ptr; + int Q1(double dbl) { @@ -356,9 +359,9 @@ Q9(int x) return (0.0); case 9: return -# 360 "queries.c" 3 4 +# 363 "queries.c" 3 4 ((void *)0) -# 362 "queries.c" +# 365 "queries.c" /* expect+1: warning: illegal combination of integer 'int' and pointer 'pointer to void' [183] */ ; case 10: @@ -448,6 +451,9 @@ Q15(void) ptr_from_uint = &ptr_from_uint; ptr_from_long = &ptr_from_long; + void_ptr = (void *)0; + const_void_ptr = (const void *)0; + /* expect+1: implicit conversion from integer 0 to pointer 'pointer to void' [Q15] */ return 0; } @@ -498,6 +504,9 @@ convert_from_integer_to_floating(void) f32 = 0.0F; f32 = 0.0; f64 = 0.0; + + f64 = (double)0; + f64 = (double)u32; } /* Index: src/usr.bin/xlint/lint1/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.632 src/usr.bin/xlint/lint1/tree.c:1.633 --- src/usr.bin/xlint/lint1/tree.c:1.632 Sat Mar 30 17:23:13 2024 +++ src/usr.bin/xlint/lint1/tree.c Sat Mar 30 19:12:37 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.632 2024/03/30 17:23:13 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.633 2024/03/30 19:12:37 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) -__RCSID("$NetBSD: tree.c,v 1.632 2024/03/30 17:23:13 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.633 2024/03/30 19:12:37 rillig Exp $"); #endif #include <float.h> @@ -3642,7 +3642,7 @@ convert(op_t op, int arg, type_t *tp, tn convert_integer_from_pointer(op, nt, tp, tn); } else if (is_floating(nt)) { - if (is_integer(ot)) { + if (is_integer(ot) && op != CVT) { /* implicit conversion from integer '%s' to ... */ query_message(19, type_name(tn->tn_type), type_name(tp));