Add tests for resolved PR (PR c/85870).
authorJakub Jelinek <jakub@redhat.com>
Fri, 8 Mar 2019 14:04:27 +0000 (15:04 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 8 Mar 2019 14:04:27 +0000 (14:04 +0000)
2019-03-08  Jakub Jelinek  <jakub@redhat.com>

PR c/85870
* gcc.dg/lto/pr85870_0.c: New test.
* gcc.dg/lto/pr85870_1.c: New test.

From-SVN: r269495

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/lto/pr85870_0.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/lto/pr85870_1.c [new file with mode: 0644]

index 9d386f6..b566c62 100644 (file)
@@ -1,3 +1,9 @@
+2019-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/85870
+       * gcc.dg/lto/pr85870_0.c: New test.
+       * gcc.dg/lto/pr85870_1.c: New test.
+
 2019-03-08  Martin Liska  <mliska@suse.cz>
 
        PR target/86952
diff --git a/gcc/testsuite/gcc.dg/lto/pr85870_0.c b/gcc/testsuite/gcc.dg/lto/pr85870_0.c
new file mode 100644 (file)
index 0000000..4b59f60
--- /dev/null
@@ -0,0 +1,34 @@
+/* PR c/85870 */
+/* { dg-lto-do link } */
+/* { dg-lto-options { { -flto -O2 } } } */
+
+typedef struct abc_s {
+  char a1;
+  short a2;
+  unsigned int a3;
+  unsigned int a4;
+} abc;
+
+typedef struct xyz_s {
+ unsigned x1;
+ unsigned x2;
+ abc *x3;
+} xyz;
+
+extern xyz XYZ[3];
+static const abc Arr1[]={
+                       {0,0,0xdeadbeaf,0xbeefdead} ,
+#line 1040
+                        {0,0,0xdeadbeaf,0xbeefdead} };
+
+void init_xyz_0() {
+  XYZ[0].x1=975753;
+  XYZ[0].x2=1024;
+  XYZ[0].x3=(abc *)Arr1;
+
+}
+
+int
+main ()
+{
+}
diff --git a/gcc/testsuite/gcc.dg/lto/pr85870_1.c b/gcc/testsuite/gcc.dg/lto/pr85870_1.c
new file mode 100644 (file)
index 0000000..cd1cd31
--- /dev/null
@@ -0,0 +1,27 @@
+typedef struct abc_s {
+  char a1;
+  short a2;
+  unsigned int a3;
+  unsigned int a4;
+} abc;
+
+
+typedef struct xyz_s {
+ unsigned int x1;
+ unsigned int x2;
+ abc *x3;
+} xyz;
+
+
+extern xyz XYZ[3];
+static const abc Arr2[]={
+                       {0,0,0xbeafdead,0xdeadbeef} ,
+#line 1048594
+                           {0,0,0xbeafdead,0xdeadbeef} };
+
+void init_xyz_1() {
+  XYZ[1].x1=425753;
+  XYZ[1].x2=1048576;
+  XYZ[1].x3=(abc *)Arr2;
+
+}