aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c')
-rw-r--r--SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c b/SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c
new file mode 100644
index 00000000..247f51ce
--- /dev/null
+++ b/SingleSource/Regression/C/gcc-c-torture/execute/20010924-1.c
@@ -0,0 +1,71 @@
+/* Verify that flexible arrays can be initialized from STRING_CST
+ constructors. */
+
+/* Baselines. */
+struct {
+ char a1c;
+ char *a1p;
+} a1 = {
+ '4',
+ "62"
+};
+
+struct {
+ char a2c;
+ char a2p[2];
+} a2 = {
+ 'v',
+ "cq"
+};
+
+/* The tests. */
+struct {
+ char a3c;
+ char a3p[];
+} a3 = {
+ 'o',
+ "wx"
+};
+
+struct {
+ char a4c;
+ char a4p[];
+} a4 = {
+ '9',
+ { 'e', 'b' }
+};
+
+main()
+{
+ if (a1.a1c != '4')
+ abort();
+ if (a1.a1p[0] != '6')
+ abort();
+ if (a1.a1p[1] != '2')
+ abort();
+ if (a1.a1p[2] != '\0')
+ abort();
+
+ if (a2.a2c != 'v')
+ abort();
+ if (a2.a2p[0] != 'c')
+ abort();
+ if (a2.a2p[1] != 'q')
+ abort();
+
+ if (a3.a3c != 'o')
+ abort();
+ if (a3.a3p[0] != 'w')
+ abort();
+ if (a3.a3p[1] != 'x')
+ abort();
+
+ if (a4.a4c != '9')
+ abort();
+ if (a4.a4p[0] != 'e')
+ abort();
+ if (a4.a4p[1] != 'b')
+ abort();
+
+ return 0;
+}