aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/eval/union-cast-no.c
diff options
context:
space:
mode:
Diffstat (limited to 'validation/eval/union-cast-no.c')
-rw-r--r--validation/eval/union-cast-no.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/validation/eval/union-cast-no.c b/validation/eval/union-cast-no.c
new file mode 100644
index 00000000..6ba38db8
--- /dev/null
+++ b/validation/eval/union-cast-no.c
@@ -0,0 +1,23 @@
+union u {
+ int i;
+ char x[8];
+};
+
+static union u foo(int i)
+{
+ return (union u)i;
+}
+
+static union u bar(long l)
+{
+ return (union u)l;
+}
+
+/*
+ * check-name: union-cast-no
+ * check-command: sparse -Wno-union-cast $file
+ *
+ * check-error-start
+eval/union-cast-no.c:13:17: warning: cast to non-scalar
+ * check-error-end
+ */