diff options
author | Jason Merrill <jason@redhat.com> | 2018-01-17 12:44:42 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2018-01-17 12:44:42 -0500 |
commit | d2edcd7083601bc08789787331399624b85b843b (patch) | |
tree | c397b95b395861f295f9a8ea7e75f325caf8e7d8 /gcc | |
parent | 2625472ffa519e2c544cd9c181ac19cb9724b430 (diff) | |
download | gcc-d2edcd7083601bc08789787331399624b85b843b.zip gcc-d2edcd7083601bc08789787331399624b85b843b.tar.gz gcc-d2edcd7083601bc08789787331399624b85b843b.tar.bz2 |
PR c++/81067 - redundant NULL warning.
* call.c (convert_like_real): Restore null_node handling.
From-SVN: r256803
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/call.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ff09fe3..bdcac47 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2018-01-17 Jason Merrill <jason@redhat.com> + PR c++/81067 - redundant NULL warning. + * call.c (convert_like_real): Restore null_node handling. + +2018-01-17 Jason Merrill <jason@redhat.com> + PR c++/81843 - ICE with variadic member template. PR c++/72801 * pt.c (unify_pack_expansion): Don't try to deduce enclosing diff --git a/gcc/cp/call.c b/gcc/cp/call.c index f554285..1f326d5 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -6804,6 +6804,12 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, if (type_unknown_p (expr)) expr = instantiate_type (totype, expr, complain); + if (expr == null_node + && INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P (totype)) + /* If __null has been converted to an integer type, we do not want to + continue to warn about uses of EXPR as an integer, rather than as a + pointer. */ + expr = build_int_cst (totype, 0); return expr; case ck_ambig: /* We leave bad_p off ck_ambig because overload resolution considers |