mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-30 23:44:45 -04:00
41 lines
699 B
C
41 lines
699 B
C
$NetBSD$
|
|
|
|
--- gcc/testsuite/gcc.c-torture/execute/pr49279.c.orig Wed May 21 19:48:58 2014
|
|
+++ gcc/testsuite/gcc.c-torture/execute/pr49279.c
|
|
@@ -0,0 +1,35 @@
|
|
+/* PR tree-optimization/49279 */
|
|
+extern void abort (void);
|
|
+
|
|
+struct S { int a; int *__restrict p; };
|
|
+
|
|
+__attribute__((noinline, noclone))
|
|
+struct S *bar (struct S *p)
|
|
+{
|
|
+ struct S *r;
|
|
+ asm volatile ("" : "=r" (r) : "0" (p) : "memory");
|
|
+ return r;
|
|
+}
|
|
+
|
|
+__attribute__((noinline, noclone))
|
|
+int
|
|
+foo (int *p, int *q)
|
|
+{
|
|
+ struct S s, *t;
|
|
+ s.a = 1;
|
|
+ s.p = p;
|
|
+ t = bar (&s);
|
|
+ t->p = q;
|
|
+ s.p[0] = 0;
|
|
+ t->p[0] = 1;
|
|
+ return s.p[0];
|
|
+}
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+ int a, b;
|
|
+ if (foo (&a, &b) != 1)
|
|
+ abort ();
|
|
+ return 0;
|
|
+}
|