summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-02 04:55:48 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-02 04:55:48 +0000
commit7573df41c3da991ca211a025283b1ab96f5459b8 (patch)
tree3092963bb6b73b0e5c0c0ac4b10ca45fcfb4a77d
parent2a922cb64a6b8698d2c226ea9b93c9a0924f9b98 (diff)
downloadppe42-gcc-7573df41c3da991ca211a025283b1ab96f5459b8.tar.gz
ppe42-gcc-7573df41c3da991ca211a025283b1ab96f5459b8.zip
Add missing test from last commit
Fixup two existing C++ tests for SCCVN changes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126187 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/g++.dg/init/new19.C6
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr27090.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr32571.c38
3 files changed, 42 insertions, 4 deletions
diff --git a/gcc/testsuite/g++.dg/init/new19.C b/gcc/testsuite/g++.dg/init/new19.C
index a139a35aa05..a25be7da7e5 100644
--- a/gcc/testsuite/g++.dg/init/new19.C
+++ b/gcc/testsuite/g++.dg/init/new19.C
@@ -1,5 +1,5 @@
// { dg-do compile }
-// { dg-options "-O2 -fstrict-aliasing -fdump-tree-lim-details" }
+// { dg-options "-O2 -fstrict-aliasing -fdump-tree-pre-details" }
// Make sure we hoist invariants out of the loop even in the presence
// of placement new. This is similar to code in tramp3d.
@@ -69,5 +69,5 @@ int c::foo(int f1, int f2, int f3)
return sum;
}
-// { dg-final { scan-tree-dump "Moving statement\\n.*->ai\\\[0\\\];\\n.*out of loop" "lim" } }
-// { dg-final { cleanup-tree-dump "lim" } }
+// { dg-final { scan-tree-dump "Replaced.*->ai\\\[0\\\]" "pre" } }
+// { dg-final { cleanup-tree-dump "pre" } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr27090.C b/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
index a56357a1b52..70ef1e09d57 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr27090.C
@@ -17,5 +17,5 @@ int foo(Foo& f)
return f.get();
}
-/* { dg-final { scan-tree-dump "return f->x;" "optimized" } } */
+/* { dg-final { scan-tree-dump "return f->x;" "optimized" { xfail *-*-* } } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32571.c b/gcc/testsuite/gcc.c-torture/compile/pr32571.c
new file mode 100644
index 00000000000..9592e3f3680
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr32571.c
@@ -0,0 +1,38 @@
+
+struct list_head {
+ struct list_head *next, *prev;
+};
+struct ib_fmr {
+ int *device;
+ struct list_head list;
+};
+static inline
+struct mthca_fmr *to_mfmr(struct ib_fmr *ibmr)
+{
+ const struct ib_fmr *__mptr = (ibmr);
+ return (struct mthca_fmr *)( (char *)__mptr );
+}
+void mthca_unmap_fmr(struct list_head *fmr_list)
+{
+ struct ib_fmr *fmr;
+ if (mthca_is_memfree())
+ {
+ for (fmr =
+ ({ const struct list_head *__mptr = ((fmr_list)->next); (struct ib_fmr *)(
+(char *)__mptr - 8 );});
+ &fmr->list != (fmr_list);
+ fmr = ({ const struct list_head *__mptr = (fmr->list.next); (struct ib_fmr
+*)( (char *)__mptr - 8);})
+ )
+ mthca_arbel_fmr_unmap(to_mfmr(fmr));
+ }
+ else
+ for (fmr =
+ ({ const struct list_head *__mptr = ((fmr_list)->next); (struct ib_fmr *)(
+(char *)__mptr - 8);});
+ &fmr->list != (fmr_list);
+ fmr = ({ const struct list_head *__mptr = (fmr->list.next); (struct ib_fmr
+*)( (char *)__mptr - 8);})
+ )
+ mthca_tavor_fmr_unmap(to_mfmr(fmr));
+}
OpenPOWER on IntegriCloud