diff gcc/testsuite/gcc.dg/20030324-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/20030324-1.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,39 @@
+/* { dg-do run } */
+/* { dg-options "-O -fstrict-aliasing -fgcse" } */
+
+/* PR optimization/10087 */
+/* Contributed by Peter van Hoof <p.van-hoof@qub.ac.uk> */
+ 
+extern void abort(void);
+
+void b(int*,int*);
+    
+typedef struct {
+    double T1;
+    char c;
+} S;
+
+int main(void)
+{
+  int i,j;
+  double s;
+
+  S x1[2][2];
+  S *x[2] = { x1[0], x1[1] };
+  S **E = x;
+
+  for( i=0; i < 2; i++ )
+    for( j=0; j < 2; j++ )
+      E[j][i].T1 = 1;
+
+  for( i=0; i < 2; i++ )
+    for( j=0; j < 2; j++ )
+      s = E[j][i].T1;
+
+  b(&j,&i);
+  if (s != 1)
+    abort ();
+  return 0;
+}
+
+void b(int *i, int *j) {}