From aa4e53f8fb628dbd9e9423d342267d5e823343a2 Mon Sep 17 00:00:00 2001 From: paolo Date: Thu, 10 May 2012 21:06:42 +0000 Subject: [PATCH] /cp 2012-05-10 Paolo Carlini PR c++/53301 * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning. /testsuite 2012-05-10 Paolo Carlini PR c++/53301 * g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@187378 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-6.C | 6 ++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-6.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c7683bfa19c..77ea188b4e1 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2012-05-10 Paolo Carlini + + PR c++/53301 + * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P + instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning. + 2012-05-03 Paolo Carlini PR c++/53186 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 1cf78b0703b..b62f10eb1b0 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10578,7 +10578,7 @@ check_default_argument (tree decl, tree arg) if (warn_zero_as_null_pointer_constant && c_inhibit_evaluation_warnings == 0 - && (POINTER_TYPE_P (decl_type) || TYPE_PTR_TO_MEMBER_P (decl_type)) + && (TYPE_PTR_P (decl_type) || TYPE_PTR_TO_MEMBER_P (decl_type)) && null_ptr_cst_p (arg) && !NULLPTR_TYPE_P (TREE_TYPE (arg))) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3892db5cb1e..11b2e5d0f80 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-05-10 Paolo Carlini + + PR c++/53301 + * g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New. + 2012-05-10 Eric Botcazou * gnat.dg/lto11.ad[sb]: New test. diff --git a/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-6.C b/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-6.C new file mode 100644 index 00000000000..4a76b5cf16f --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-6.C @@ -0,0 +1,6 @@ +// PR c++/53301 +// { dg-options "-Wzero-as-null-pointer-constant" } + +class x { public: x(int v) {} }; + +void foo(const x& = 0); -- 2.11.0