Hi Jonathan,
> On Thu, 31 Jul 2025, 22:44 Jonathan Wakely, <[email protected]> wrote:
>
>>
>>
>> On Thu, 31 Jul 2025, 22:23 James K. Lowden, <[email protected]>
>> wrote:
>>
>>> I want to understand what our baseline is wrt %z in diagnostic
>>> messages. The proximate cause is this change on July 11 for 32-bit
>>> Darwin to gcc/cobol/parse.y:
>>>
>>> error_msg(loc, "FUNCTION %qs has "
>>> - "inconsistent parameter type %zu (%qs)",
>>> - keyword_str($1), p - args.data(), name_of(p->field) );
>>>
>>
>> This code is just wrong. %zu expects size_t but the argument is ptrdiff_t
>>
>
> You could cast the argument to size_t to make it correct, or cast it to
> some other known type such as long, and then use the corresponding
> specifier such was %ld, which seems to be what the change did.
this was all described in excruciating detail in the patch submission
https://gcc.gnu.org/pipermail/gcc-patches/2025-June/687385.html
and the commit message.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University