summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb106.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb106.C36
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
new file mode 100644
index 000000000..b341cff55
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C
@@ -0,0 +1,36 @@
+// { dg-do assemble { target native } }
+// { dg-options "-O2 -fPIC " }
+struct T
+{
+ const char* f1;
+ int f2;
+};
+
+void f(T*);
+int g();
+
+extern char a1[];
+
+inline int m(int a, int b) {return b < a ? 2 : 1;}
+
+void
+h()
+{
+ T a[10];
+ int i(0);
+
+ bool c;
+ if (c)
+ {
+ a[i++].f1 = "asf";
+ f(a);
+ i = 0;
+ }
+
+ a[i].f1 = &a1[1];
+ a[i].f2 = m(1, g());
+ i++;
+
+ a[i].f1 = "zxv";
+ a[i].f2 = 0;
+}