This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Testcase for the recent vt_expand_*loc max depth change
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Jul 2010 18:18:06 +0200
- Subject: [PATCH] Testcase for the recent vt_expand_*loc max depth change
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
Here is a testcase that failed before the var-tracking.c fix from today and
succeeds now (tested on x86_64-linux and i686-linux). Ok for trunk?
2010-07-20 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/guality/asm-1.c: New test.
--- gcc/testsuite/gcc.dg/guality/asm-1.c.jj 2010-07-20 16:42:34.000000000 +0200
+++ gcc/testsuite/gcc.dg/guality/asm-1.c 2010-07-20 16:49:09.000000000 +0200
@@ -0,0 +1,25 @@
+/* { dg-do run } */
+/* { dg-options "-g" } */
+
+struct A { int x; unsigned short y; char z[64]; };
+
+void __attribute__((noinline))
+foo (struct A *p, char *q)
+{
+ int f = &p->z[p->y] - q;
+ asm volatile ("nop");
+ asm volatile ("nop" : : "g" (f)); /* { dg-final { gdb-test 12 "f" "14" } } */
+ asm volatile ("" : : "g" (p), "g" (q));
+}
+
+int
+main ()
+{
+ struct A a;
+ __builtin_memset (&a, 0, sizeof a);
+ a.y = 26;
+ a.x = 12;
+ asm volatile ("" : : "r" (&a) : "memory");
+ foo (&a, &a.z[a.x]);
+ return 0;
+}
Jakub