summaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authormpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-04 21:47:04 +0000
committermpolacek <mpolacek@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-04 21:47:04 +0000
commit6124217cb4d309120a1437ebdd89e4fbcbac91c7 (patch)
treed230c083213bb30f68b85cc5cdcb389fbfc76650 /gcc/c-family
parent0b16b8115f04d3eb51a3e53bc2fb293e7e1c343e (diff)
downloadgcc-6124217cb4d309120a1437ebdd89e4fbcbac91c7.tar.gz
PR c++/64767
* c.opt (Wpointer-compare): New option. * c-parser.c (c_parser_postfix_expression): Mark zero character constants by setting original_type in c_expr. * c-typeck.c (parser_build_binary_op): Warn when a pointer is compared with a zero character constant. (char_type_p): New function. * typeck.c (cp_build_binary_op): Warn when a pointer is compared with a zero character literal. * doc/invoke.texi: Document -Wpointer-compare. * c-c++-common/Wpointer-compare-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c.opt4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 468b7dde8f5..b9bb5fe59a3 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-04 Marek Polacek <polacek@redhat.com>
+
+ PR c++/64767
+ * c.opt (Wpointer-compare): New option.
+
2017-01-04 Jakub Jelinek <jakub@redhat.com>
PR driver/78957
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 3f6c67fbc7e..714ce3a34f0 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -870,6 +870,10 @@ Wpointer-sign
C ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall || Wpedantic)
Warn when a pointer differs in signedness in an assignment.
+Wpointer-compare
+C ObjC C++ ObjC++ Var(warn_pointer_compare) Init(1) Warning
+Warn when a pointer is compared with a zero character constant.
+
Wpointer-to-int-cast
C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning
Warn when a pointer is cast to an integer of a different size.