Commit 36b0e751 by Paolo Carlini Committed by Paolo Carlini

re PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast)

/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51290
	* class.c (build_base_path): For the null pointer check use
	nullptr_node instead of integer_zero_node.

/testsuite
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51290
	* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.

From-SVN: r181690
parent 282d42f2
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51290
* class.c (build_base_path): For the null pointer check use
nullptr_node instead of integer_zero_node.
2011-11-22 Dodji Seketeli <dodji@redhat.com>
PR c++/51145
......
......@@ -338,7 +338,7 @@ build_base_path (enum tree_code code,
/* Now that we've saved expr, build the real null test. */
if (null_test)
{
tree zero = cp_convert (TREE_TYPE (expr), integer_zero_node);
tree zero = cp_convert (TREE_TYPE (expr), nullptr_node);
null_test = fold_build2_loc (input_location, NE_EXPR, boolean_type_node,
expr, zero);
}
......
2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51290
* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.
2011-11-23 Jakub Jelinek <jakub@redhat.com>
PR target/51261
......
// PR c++/51290
// { dg-options "-Wzero-as-null-pointer-constant" }
class A { int a; };
class B { int b; };
class C : public A, public B
{
private:
static void foo (A *x)
{
C *y = static_cast<C *>(x);
(void) y;
}
static void bar (B *x)
{
C *y = static_cast<C *>(x);
(void) y;
}
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment