OK.

On Tue, Apr 10, 2018 at 2:57 PM, Paolo Carlini <paolo.carl...@oracle.com> wrote:
> Hi,
>
> this isn't a regression, but deciding what we want to do should be easy and
> quick enough. The issue is that "mysteriously" we warn
> -Wzero-as-null-pointer-constant for:
>
> decltype( nullptr ) warn = {};
>
> and we don't for:
>
> int* no_warn = {};
>
> That's easily explained given the code we have in build_zero_init_1 which
> handles types satisfying TYPE_PTR_OR_PTRMEM_P separately from all the other
> scalar types, std::nullptr_t included. I think we should resolve the
> inconsistency - the below does that without regressions - but frankly, at
> first, given the letter of the standard under 11.6/6 about
> zero-initialization I expected that we weren't handling types satisfying
> TYPE_PTR_OR_PTRMEM_P in a different way, thus something like a sheer
> integer_zero_node consistently for all the scalars (which would mean
> resolving the inconsistency precisely the other way round). Probably it's a
> tricky detail of our internal representations...
>
> Thanks, Paolo.
>
> ///////////////////
>

Reply via email to