Module Name:    src
Committed By:   rillig
Date:           Mon Aug 16 20:27:31 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: expr_promote.c expr_promote.exp-ln
            expr_promote_trad.c expr_promote_trad.exp-ln

Log Message:
tests/lint: test default argument promotion with enum


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/expr_promote.c \
    src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln \
    src/tests/usr.bin/xlint/lint1/expr_promote_trad.c \
    src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln

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/expr_promote.c
diff -u src/tests/usr.bin/xlint/lint1/expr_promote.c:1.1 src/tests/usr.bin/xlint/lint1/expr_promote.c:1.2
--- src/tests/usr.bin/xlint/lint1/expr_promote.c:1.1	Mon Aug 16 20:11:03 2021
+++ src/tests/usr.bin/xlint/lint1/expr_promote.c	Mon Aug 16 20:27:31 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: expr_promote.c,v 1.1 2021/08/16 20:11:03 rillig Exp $	*/
+/*	$NetBSD: expr_promote.c,v 1.2 2021/08/16 20:27:31 rillig Exp $	*/
 # 3 "expr_promote.c"
 
 /*
@@ -28,6 +28,9 @@ struct arithmetic_types {
 	float _Complex float_complex;
 	double _Complex double_complex;
 	long double _Complex long_double_complex;
+	enum {
+		E
+	} enumerator;
 };
 
 void
@@ -51,7 +54,15 @@ caller(struct arithmetic_types *arg)
 	    arg->long_floating,
 	    arg->float_complex,
 	    arg->double_complex,
-	    arg->long_double_complex);
+	    arg->long_double_complex,
+	    arg->enumerator);
 }
 
-/* XXX: _Bool is not promoted but should. */
+/*
+ * XXX: _Bool should be promoted to 'int', C99 6.3.1.1p2 "If an int can
+ * represent ...".
+ */
+/*
+ * XXX: Enumerations may need be promoted to 'int', at least C99 6.3.1.1p2
+ * suggests that: "If an int can represent ...".
+ */
Index: src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln
diff -u src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln:1.1 src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln:1.2
--- src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln:1.1	Mon Aug 16 20:11:03 2021
+++ src/tests/usr.bin/xlint/lint1/expr_promote.exp-ln	Mon Aug 16 20:27:31 2021
@@ -1,5 +1,5 @@
 0sexpr_promote.c
 Sexpr_promote.c
 10d0.10e4sinkF2PcCEV
-54c0.54i4sinkf19PcCBIIIIIIuILuLQuQDDlDsXXlXV
-34d0.34d6callerF1PsT116arithmetic_typesV
+58c0.58i4sinkf20PcCBIIIIIIuILuLQuQDDlDsXXlXeT331.0.0V
+37d0.37d6callerF1PsT116arithmetic_typesV
Index: src/tests/usr.bin/xlint/lint1/expr_promote_trad.c
diff -u src/tests/usr.bin/xlint/lint1/expr_promote_trad.c:1.1 src/tests/usr.bin/xlint/lint1/expr_promote_trad.c:1.2
--- src/tests/usr.bin/xlint/lint1/expr_promote_trad.c:1.1	Mon Aug 16 20:11:03 2021
+++ src/tests/usr.bin/xlint/lint1/expr_promote_trad.c	Mon Aug 16 20:27:31 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: expr_promote_trad.c,v 1.1 2021/08/16 20:11:03 rillig Exp $	*/
+/*	$NetBSD: expr_promote_trad.c,v 1.2 2021/08/16 20:27:31 rillig Exp $	*/
 # 3 "expr_promote_trad.c"
 
 /*
@@ -27,6 +27,9 @@ struct arithmetic_types {
 	double double_floating;
 	/* long double is not available in traditional C */
 	/* _Complex is not available in traditional C */
+	enum {
+		E
+	} enumerator;
 };
 
 caller(arg)
@@ -42,5 +45,11 @@ caller(arg)
 	    arg->signed_long,
 	    arg->unsigned_long,
 	    arg->single_floating,	/* gets promoted to 'double' */
-	    arg->double_floating);
+	    arg->double_floating,
+	    arg->enumerator);
 }
+
+/*
+ * XXX: Enumerations may need be promoted to 'int', at least C99 6.3.1.1p2
+ * suggests that: "If an int can represent ...".
+ */
Index: src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln
diff -u src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln:1.1 src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln:1.2
--- src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln:1.1	Mon Aug 16 20:11:03 2021
+++ src/tests/usr.bin/xlint/lint1/expr_promote_trad.exp-ln	Mon Aug 16 20:27:31 2021
@@ -1,5 +1,5 @@
 0sexpr_promote_trad.c
 Sexpr_promote_trad.c
 10d0.10e4sinkFI
-45c0.45s1""i4sinkf11PCIuIIuIIuILuLDDI
-32d0.32do6callerf1PsT116arithmetic_typesI
+49c0.49s1""i4sinkf12PCIuIIuIIuILuLDDeT330.0.0I
+35d0.35do6callerf1PsT116arithmetic_typesI

Reply via email to