Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/usr.bin/xlint/lint1 tests/lint: add tests for initiali...
details: https://anonhg.NetBSD.org/src/rev/5a8482858012
branches: trunk
changeset: 960780:5a8482858012
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Mar 28 18:48:32 2021 +0000
description:
tests/lint: add tests for initialization
diffstat:
tests/usr.bin/xlint/lint1/d_c99_init.c | 33 ++++++++++++++++++++++++++++---
tests/usr.bin/xlint/lint1/d_c99_init.exp | 10 +++++---
2 files changed, 35 insertions(+), 8 deletions(-)
diffs (78 lines):
diff -r edf77836a852 -r 5a8482858012 tests/usr.bin/xlint/lint1/d_c99_init.c
--- a/tests/usr.bin/xlint/lint1/d_c99_init.c Sun Mar 28 18:33:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/d_c99_init.c Sun Mar 28 18:48:32 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: d_c99_init.c,v 1.17 2021/03/28 14:01:50 rillig Exp $ */
+/* $NetBSD: d_c99_init.c,v 1.18 2021/03/28 18:48:32 rillig Exp $ */
# 3 "d_c99_init.c"
/*
@@ -34,6 +34,9 @@
// See init_using_expr, initstack_string.
char static_duration[] = "static duration";
+signed char static_duration_signed[] = "static duration";
+unsigned char static_duration_unsigned[] = "static duration";
+int static_duration_wchar[] = L"static duration";
// See init_using_expr.
void
@@ -44,13 +47,25 @@
}
void
-initialization_with_redundant_braces(any arg)
+initialization_by_redundantly_braced_string(void)
+{
+ any local = {{{{ "hello" }}}};
+ use(&local);
+}
+
+/*
+ * Only scalar expressions and string literals may be enclosed by additional
+ * braces. Since 'arg' is a struct, this is a compile-time error.
+ */
+void
+initialization_with_too_many_braces(any arg)
{
any local = { arg }; /* expect: 185 */
use(&arg);
}
-// Some of the following examples are mentioned in init.c.
+// Some of the following examples are mentioned in the introduction comment
+// in init.c.
int number = 12345;
@@ -217,4 +232,14 @@
23456,
};
-// See d_struct_init_nested.c for a more complicated example.
+char prefixed_message[] = {
+ 'E', ':', ' ',
+ /* expect+1: illegal combination of integer (char) and pointer */
+ "message\n",
+};
+
+char message_with_suffix[] = {
+ "message",
+ /* expect+1: too many array initializers */
+ '\n',
+};
diff -r edf77836a852 -r 5a8482858012 tests/usr.bin/xlint/lint1/d_c99_init.exp
--- a/tests/usr.bin/xlint/lint1/d_c99_init.exp Sun Mar 28 18:33:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/d_c99_init.exp Sun Mar 28 18:48:32 2021 +0000
@@ -1,5 +1,7 @@
d_c99_init.c(23): error: too many initializers [174]
-d_c99_init.c(49): error: cannot initialize 'pointer to const void' from 'struct any' [185]
-d_c99_init.c(65): error: too many array initializers, expected 3 [173]
-d_c99_init.c(130): error: syntax error 'named member must only be used with struct/union' [249]
-d_c99_init.c(217): error: too many struct/union initializers [172]
+d_c99_init.c(63): error: cannot initialize 'pointer to const void' from 'struct any' [185]
+d_c99_init.c(80): error: too many array initializers, expected 3 [173]
+d_c99_init.c(145): error: syntax error 'named member must only be used with struct/union' [249]
+d_c99_init.c(232): error: too many struct/union initializers [172]
+d_c99_init.c(238): warning: illegal combination of integer (char) and pointer (pointer to char) [183]
+d_c99_init.c(244): error: too many array initializers, expected 8 [173]
Home |
Main Index |
Thread Index |
Old Index