From 11a4030bc7c9618d2939952a0a92e39922b14ab7 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Wed, 10 Jul 2024 17:59:45 +0200
Subject: [PATCH] [tests] test case for bug in handling array initialization
 from string

---
 tests/syntax/init_array_string.i                 | 11 +++++++++++
 tests/syntax/oracle/init_array_string.res.oracle |  9 +++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 tests/syntax/init_array_string.i
 create mode 100644 tests/syntax/oracle/init_array_string.res.oracle

diff --git a/tests/syntax/init_array_string.i b/tests/syntax/init_array_string.i
new file mode 100644
index 00000000000..b301c8d102c
--- /dev/null
+++ b/tests/syntax/init_array_string.i
@@ -0,0 +1,11 @@
+char* ptr = "A" "B";
+
+char* ptr2 = ("A" "B");
+
+char a[] = "A" "B";
+
+char b[] = ("A" "B");
+
+char c[] = "ABC";
+
+char d[] = ("ABC");
diff --git a/tests/syntax/oracle/init_array_string.res.oracle b/tests/syntax/oracle/init_array_string.res.oracle
new file mode 100644
index 00000000000..92a54fcd30d
--- /dev/null
+++ b/tests/syntax/oracle/init_array_string.res.oracle
@@ -0,0 +1,9 @@
+[kernel] Parsing init_array_string.i (no preprocessing)
+/* Generated by Frama-C */
+char *ptr = (char *)"AB";
+char *ptr2 = (char *)"AB";
+char a[3] = {(char)'A', (char)'B', (char)'\000'};
+char b[3] = {(char)'A', (char)'B', (char)'\000'};
+char c[4] = {(char)'A', (char)'B', (char)'C', (char)'\000'};
+char d[4] = {(char)'A', (char)'B', (char)'C', (char)'\000'};
+
-- 
GitLab