aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--validation/dup-defs-local.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/validation/dup-defs-local.c b/validation/dup-defs-local.c
new file mode 100644
index 00000000..6d32b892
--- /dev/null
+++ b/validation/dup-defs-local.c
@@ -0,0 +1,28 @@
+extern int a, *ptr;
+
+int a = 0;
+int a = 1;
+
+int *ptr = &a;
+int *ptr = &a;
+
+static void foo(void)
+{
+ int a = 0;
+ int a = 1;
+
+ int *ptr = &a;
+ int *ptr = &a;
+}
+
+/*
+ * check-name: duplicated-defs
+ * check-known-to-fail
+ *
+ * check-error-start
+dup-defs-local.c:4:5: error: symbol 'a' has multiple initializers (originally initialized at duplicated-defs.c:3)
+dup-defs-local.c:7:5: error: symbol 'ptr' has multiple initializers (originally initialized at duplicated-defs.c:6)
+dup-defs-local.c:12:13: error: symbol 'a' has multiple initializers (originally initialized at duplicated-defs.c:11)
+dup-defs-local.c:15:13: error: symbol 'ptr' has multiple initializers (originally initialized at duplicated-defs.c:14)
+ * check-error-end
+ */