public inbox for [email protected]  
help / color / mirror / Atom feed
From: Peter Eisentraut <[email protected]>
To: Andres Freund <[email protected]>
To: [email protected]
Subject: Re: CI CompilerWarnings test fails on 15 in mingw_cross_warning
Date: Mon, 18 Nov 2024 12:09:26 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <t2vjrcb3bloxf5qqvxjst6r7lvrefqyecxgt2koy5ho5b5glr2@yuupmm6whgob>
References: <t2vjrcb3bloxf5qqvxjst6r7lvrefqyecxgt2koy5ho5b5glr2@yuupmm6whgob>

On 17.11.24 02:59, Andres Freund wrote:
> Hi,
> 
> See https://cirrus-ci.com/task/5880116075560960
> 
> [18:14:04.821] time make -s -j${BUILD_JOBS} world-bin
> [18:15:49.090] pg_locale.c: In function ‘get_collation_actual_version’:
> [18:15:49.090] pg_locale.c:1763:42: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
> [18:15:49.090]  1763 |                 collversion = psprintf("%d.%d,%d.%d",
> [18:15:49.090]       |                                         ~^
> [18:15:49.090]       |                                          |
> [18:15:49.090]       |                                          int
> [18:15:49.090]       |                                         %ld
> [18:15:49.090]  1764 |                                                            (version.dwNLSVersion >> 8) & 0xFFFF,
> [18:15:49.090]       |                                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> [18:15:49.090]       |                                                                                        |
> [18:15:49.090]       |                                                                                        long unsigned int
> 
> I have no idea why we are seeing this error now when we didn't in the past -
> there don't seem to have been any relevant changes?
> 
> It does reproduce on my debian sid machine, so it's something we ought to fix,
> I think?
> 
> We did fix it in newer versions:
> 
> Author: Peter Eisentraut <[email protected]>
> Branch: master Release: REL_16_BR [a9bc04b21] 2023-03-24 07:21:40 +0100
> 
>      Fix incorrect format placeholders
> 
>      The fields of NLSVERSIONINFOEX are of type DWORD, which is unsigned
>      long, so the results of the computations being printed are also of
>      type unsigned long.
> 
> Peter, any reason you didn't backpatch that?

The more interesting patch is 495ed0ef2d7, which did

-       collversion = psprintf("%d.%d,%d.%d",
+       collversion = psprintf("%ld.%ld,%ld.%ld",

whereas my patch just did

-       collversion = psprintf("%ld.%ld,%ld.%ld",
+       collversion = psprintf("%lu.%lu,%lu.%lu",

The former change was part of a larger patch, so it was not a candidate 
for backpatching.

As to why it's happening now, the code in question is guarded by

#elif defined(WIN32) && _WIN32_WINNT >= 0x0600

so if it didn't happen before, maybe the _WIN32_WINNT value changed.







view thread (2+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: CI CompilerWarnings test fails on 15 in mingw_cross_warning
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox