Hi,
as you probably remember, very close to the release of 8.1.0 we noticed
that my fix for c++/70808 was causing c++/85553, which Jakub promptly
fixed. However, we later found out that the real problem was a latent
issue in convert, which I fixed in r259966. Thus, I think that in
current trunk we can revert Jakub's quick fix, now redundant. Tested
x86_64-linux.
Thanks! Paolo.
//////////////////
2018-10-17 Paolo Carlini <paolo.carl...@oracle.com>
* init.c (build_zero_init_1): Remove special casing for
NULLPTR_TYPE_P (type), introduced by r259728 and made
redundant by r259966.
Index: init.c
===================================================================
--- init.c (revision 265241)
+++ init.c (working copy)
@@ -180,10 +180,8 @@ build_zero_init_1 (tree type, tree nelts, bool sta
items with static storage duration that are not otherwise
initialized are initialized to zero. */
;
- else if (TYPE_PTR_OR_PTRMEM_P (type))
+ else if (TYPE_PTR_OR_PTRMEM_P (type) || NULLPTR_TYPE_P (type))
init = fold (convert (type, nullptr_node));
- else if (NULLPTR_TYPE_P (type))
- init = build_int_cst (type, 0);
else if (SCALAR_TYPE_P (type))
init = fold (convert (type, integer_zero_node));
else if (RECORD_OR_UNION_CODE_P (TREE_CODE (type)))