]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add missing test from last commit
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jul 2007 04:55:48 +0000 (04:55 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jul 2007 04:55:48 +0000 (04:55 +0000)
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

gcc/testsuite/g++.dg/init/new19.C
gcc/testsuite/g++.dg/tree-ssa/pr27090.C
gcc/testsuite/gcc.c-torture/compile/pr32571.c [new file with mode: 0644]

index a139a35aa05ccffe0ce69e6987f64d760e56bf8d..a25be7da7e57bcab711636c197af4b4c176add63 100644 (file)
@@ -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" } }
index a56357a1b52a761e651cb6d68b3f7f2ce6fb0293..70ef1e09d57a3a89fab30e83bdd13ee661063e51 100644 (file)
@@ -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 (file)
index 0000000..9592e3f
--- /dev/null
@@ -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));
+}