aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/nonzero-1.C12
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/nonzero-2.C16
-rw-r--r--gcc/testsuite/gcc.dg/pr36901.h4
-rw-r--r--gcc/testsuite/gcc.dg/pr44024.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c11
6 files changed, 51 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 43adb47..be579b6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2014-07-13 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/pr36901.h: Simplify because non-zero symbol folding no
+ longer happens during parsing.
+ * gcc.dg/pr44024.c: Update template.
+ * g++.dg/tree-ssa/nonzero-2.C: New testcase.
+ * g++.dg/tree-ssa/nonzero-1.C: New testcase.
+ * gcc.dg/tree-ssa/nonzero-1.c: New testcase.
+
2014-07-13 Tom de Vries <tom@codesourcery.com>
* gcc.target/i386/fuse-caller-save-xmm-run.c: New test.
diff --git a/gcc/testsuite/g++.dg/tree-ssa/nonzero-1.C b/gcc/testsuite/g++.dg/tree-ssa/nonzero-1.C
new file mode 100644
index 0000000..60da49d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tree-ssa/nonzero-1.C
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-ccp1" } */
+inline void t()
+{
+}
+int m()
+{
+ void *q = (void *)&t;
+ return q != 0;
+}
+/* { dg-final { scan-tree-dump "return 1" "ccp1"} } */
+/* { dg-final { cleanup-tree-dump "ccp1" } } */
diff --git a/gcc/testsuite/g++.dg/tree-ssa/nonzero-2.C b/gcc/testsuite/g++.dg/tree-ssa/nonzero-2.C
new file mode 100644
index 0000000..fdf4114
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tree-ssa/nonzero-2.C
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-ccp1 -fdelete-null-pointer-checks" } */
+struct t
+{
+ static inline void tt()
+ {
+ }
+ virtual void q();
+};
+int m()
+{
+ void *q = (void *)&t::tt;
+ return q != 0;
+}
+/* { dg-final { scan-tree-dump "return 1" "ccp1"} } */
+/* { dg-final { cleanup-tree-dump "ccp1" } } */
diff --git a/gcc/testsuite/gcc.dg/pr36901.h b/gcc/testsuite/gcc.dg/pr36901.h
index 6022732..cf61c99 100644
--- a/gcc/testsuite/gcc.dg/pr36901.h
+++ b/gcc/testsuite/gcc.dg/pr36901.h
@@ -1,6 +1,2 @@
-#if defined(AVR) /* flag_delete_null_pointer_checks = 0 */
int sc = (&sc >= 0);
-#else
-int sc = (&sc > 0);
-#endif
diff --git a/gcc/testsuite/gcc.dg/pr44024.c b/gcc/testsuite/gcc.dg/pr44024.c
index f5d72d5..740d04d 100644
--- a/gcc/testsuite/gcc.dg/pr44024.c
+++ b/gcc/testsuite/gcc.dg/pr44024.c
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-options "-fdelete-null-pointer-checks -fdump-tree-original" } */
+/* { dg-options "-fdelete-null-pointer-checks -fdump-tree-ccp1" } */
void foo();
@@ -10,5 +10,5 @@ int main()
return 0;
}
-/* { dg-final { scan-tree-dump-not "foo" "original" { target { ! avr*-*-* } } } } */
-/* { dg-final { cleanup-tree-dump "original" } } */
+/* { dg-final { scan-tree-dump-not "foo" "ccp1" { target { ! avr*-*-* } } } } */
+/* { dg-final { cleanup-tree-dump "ccp1" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c b/gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c
new file mode 100644
index 0000000..c79811b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+extern int a;
+t()
+{
+ return &a!=0;
+}
+extern int a __attribute__ ((weak));
+
+/* { dg-final { scan-tree-dump-not "return 1" "optimized"} } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */