OSDN Git Service

PR target/26515
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Oct 2009 17:40:08 +0000 (17:40 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Oct 2009 17:40:08 +0000 (17:40 +0000)
* gcc.dg/torture/pr26515.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152677 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr26515.c [new file with mode: 0644]

index 6f07c4b..d6448ec 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/26515
+       * gcc.dg/torture/pr26515.c: New test.
+
 2009-10-12  Janis Johnson  <janis187@us.ibm.com>
 
        PR testsuite/41659
diff --git a/gcc/testsuite/gcc.dg/torture/pr26515.c b/gcc/testsuite/gcc.dg/torture/pr26515.c
new file mode 100644 (file)
index 0000000..a051e2e
--- /dev/null
@@ -0,0 +1,27 @@
+/* { dg-options "-march=v10" { target cris*-*-* } } */
+struct i
+{
+  long long i_size;
+  struct a *i_mapping;
+};
+struct p
+{
+  struct a *mapping;
+  long index;
+};
+extern void b (struct p*, unsigned);
+extern void u (struct p*);
+void
+block_page_mkwrite (struct i *i, struct p *p)
+{
+  unsigned end = 0;
+  long long size = 0;
+  size = i->i_size;
+  if ((p->mapping != i->i_mapping))
+    goto out_unlock;
+  if (((p->index + 1) << 13) > size)
+    end = size & ~(~(((1UL) << 13) - 1));
+  b (p, end);
+out_unlock:
+  u (p);
+}