Module Name:    src
Committed By:   rillig
Date:           Fri Nov 29 20:02:36 UTC 2024

Modified Files:
        src/tests/usr.bin/xlint/lint1: queries.c
        src/usr.bin/xlint/lint1: lex.c

Log Message:
lint: in a query, treat 00 as an octal integer constant

Even though the value of the constant is 0 and thus the same as in the
decimal interpretation, it is syntactically an octal number and contains
a redundant leading digit, which may be interesting to detect.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/tests/usr.bin/xlint/lint1/queries.c
cvs rdiff -u -r1.230 -r1.231 src/usr.bin/xlint/lint1/lex.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.31 src/tests/usr.bin/xlint/lint1/queries.c:1.32
--- src/tests/usr.bin/xlint/lint1/queries.c:1.31	Thu Nov 28 22:32:53 2024
+++ src/tests/usr.bin/xlint/lint1/queries.c	Fri Nov 29 20:02:36 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: queries.c,v 1.31 2024/11/28 22:32:53 rillig Exp $	*/
+/*	$NetBSD: queries.c,v 1.32 2024/11/29 20:02:36 rillig Exp $	*/
 # 3 "queries.c"
 
 /*
@@ -330,7 +330,10 @@ Q8(void)
 {
 
 	u16 = 0;
+	/* expect+1: octal number '000000' [Q8] */
 	u16 = 000000;
+	u16 = 1;
+	u16 = 10;
 	/* expect+1: octal number '0644' [Q8] */
 	u16 = 0644;
 	/* expect+1: octal number '0000644' [Q8] */
@@ -370,9 +373,9 @@ Q9(int x)
 		return (0.0);
 	case 9:
 		return
-# 374 "queries.c" 3 4
+# 377 "queries.c" 3 4
 		((void *)0)
-# 376 "queries.c"
+# 379 "queries.c"
 		/* expect+1: warning: illegal combination of integer 'int' and pointer 'pointer to void' [183] */
 		;
 	case 10:

Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.230 src/usr.bin/xlint/lint1/lex.c:1.231
--- src/usr.bin/xlint/lint1/lex.c:1.230	Fri Nov 29 06:57:43 2024
+++ src/usr.bin/xlint/lint1/lex.c	Fri Nov 29 20:02:35 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.230 2024/11/29 06:57:43 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.231 2024/11/29 20:02:35 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: lex.c,v 1.230 2024/11/29 06:57:43 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.231 2024/11/29 20:02:35 rillig Exp $");
 #endif
 
 #include <ctype.h>
@@ -592,7 +592,7 @@ lex_integer_constant(const char *text, s
 		warned = true;
 	}
 
-	if (base == 8 && ui != 0)
+	if (base == 8 && len > 1)
 		/* octal number '%.*s' */
 		query_message(8, (int)len, cp);
 

Reply via email to