aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2007-11-05 10:03:04 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2007-11-05 10:03:04 +0000
commit278b63df6234b1289a868d6e517a4ba52066f1a9 (patch)
tree9c48f7e291b01a8af0d4957ea7c7f8a5b1f02a2e /gcc
parent0976ffb63f5c2d03f1e58fd7e085799b0043d638 (diff)
downloadgcc-278b63df6234b1289a868d6e517a4ba52066f1a9.zip
gcc-278b63df6234b1289a868d6e517a4ba52066f1a9.tar.gz
gcc-278b63df6234b1289a868d6e517a4ba52066f1a9.tar.bz2
typeck.c (build_binary_op): Use pedwarn instead of error for consistency.
2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> cp/ * typeck.c (build_binary_op): Use pedwarn instead of error for consistency. testsuite/ * g++dg/warn/pointer-integer-comparison.C: New. From-SVN: r129898
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/typeck.c4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C26
4 files changed, 37 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7869765..78ff8f8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * typeck.c (build_binary_op): Use pedwarn instead of error for
+ consistency.
+
2007-11-05 Jakub Jelinek <jakub@redhat.com>
PR c++/33836
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index c31a7a8..17bb6b6 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -3357,12 +3357,12 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
else if (code0 == POINTER_TYPE && code1 == INTEGER_TYPE)
{
result_type = type0;
- error ("ISO C++ forbids comparison between pointer and integer");
+ pedwarn ("ISO C++ forbids comparison between pointer and integer");
}
else if (code0 == INTEGER_TYPE && code1 == POINTER_TYPE)
{
result_type = type1;
- error ("ISO C++ forbids comparison between pointer and integer");
+ pedwarn ("ISO C++ forbids comparison between pointer and integer");
}
else if (TYPE_PTRMEMFUNC_P (type0) && null_ptr_cst_p (op1))
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f8f4ed1..6817e83 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ * g++dg/warn/pointer-integer-comparison.C: New.
+
2007-11-05 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/33856
diff --git a/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C b/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C
new file mode 100644
index 0000000..48489eb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C
@@ -0,0 +1,26 @@
+// { dg-do compile }
+// { dg-options "-fsyntax-only -fpermissive" }
+
+int foo (int i, void *p)
+{
+ if (i == p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 0;
+ else if (i != p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 1;
+}
+
+int bar (int i, void *p)
+{
+ if (i < p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 0;
+ else if (i >= p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 1;
+}
+
+int baz (int i, void *p)
+{
+ if (i <= p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 0;
+ else if (i > p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" }
+ return 1;
+}