diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-11-01 23:28:19 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-11-01 23:28:19 +0000 |
commit | 8fe701f5543e807309b540a942a98579550d9091 (patch) | |
tree | fa8cf61a13cc6e8d63e6a7ada7b5a330722a63fc /gcc/c-family | |
parent | d3f277f44d20538b002988754e9a453bd3485ebe (diff) | |
download | ppe42-gcc-8fe701f5543e807309b540a942a98579550d9091.tar.gz ppe42-gcc-8fe701f5543e807309b540a942a98579550d9091.zip |
/cp
2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44277
* cvt.c (cp_convert_to_pointer): Warn for zero as null pointer
constant.
* typeck.c (cp_truthvalue_conversion): Handle pointers and member
function pointers under c_inhibit_evaluation_warnings; use
nullptr_node for data member pointers.
(cp_build_binary_op): Tweak, just forward to cp_convert op1,
either a nullptr_node or an integer_zero_node.
(build_ptrmemfunc): Use nullptr_node.
* init.c (build_zero_init_1): Likewise.
/c-family
2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44277
* c.opt: Add Wzero-as-null-pointer-constant.
/gcc
2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44277
* doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
/testsuite
2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44277
* g++.dg/warn/Wzero-as-null-pointer-constant-1.C: New.
* g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180750 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-family')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c.opt | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 028163ccefb..472ed282d5e 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2011-11-01 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/44277 + * c.opt: Add Wzero-as-null-pointer-constant. + 2011-10-31 Jason Merrill <jason@redhat.com> * c.opt (-fdeduce-init-list): Off by default. diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt index 6d500975898..438b8b003e9 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt @@ -689,6 +689,10 @@ Wpointer-sign C ObjC Var(warn_pointer_sign) Init(-1) Warning Warn when a pointer differs in signedness in an assignment +Wzero-as-null-pointer-constant +C++ ObjC++ Var(warn_zero_as_null_pointer_constant) Warning +Warn when a literal '0' is used as null pointer + ansi C ObjC C++ ObjC++ A synonym for -std=c89 (for C) or -std=c++98 (for C++) |