← Back to team overview

kicad-developers team mailing list archive

Re: Printing size_t on MSW (%zu)

 

Le 03/01/2020 à 16:02, Ian McInerney a écrit :
> JP, is that mingw32 directly, or was it provided by mingw-w64
> indirectly? It appears that mingw32 (the original compiler version)
> doesn't have the compatibility enabled but the forked version mingw-w64
> does. (there was discussion about this on the mingw users mailing
> list: https://osdn.net/projects/mingw/lists/archive/users/2019-January/000202.html).
> 
> -Ian

I am using mingw32 only.
The tools installed by pacman are something like mingw-w64-i686-xxx

> 
> On Fri, Jan 3, 2020 at 2:32 PM jp charras <jp.charras@xxxxxxxxxx
> <mailto:jp.charras@xxxxxxxxxx>> wrote:
> 
>     Le 03/01/2020 à 15:10, Jon Evans a écrit :
>     > I found it defined in
>     >
>     C:\msys64\mingw64\include\c++\8.3.0\x86_64-w64-mingw32\bits\os_defines.h
>     > on my machine.
>     > @JP -- what platform did you use (Windows version / MSYS version /
>     etc)
>     > where you saw the issue?
> 
>     I confirm the %zu is not working on my install.
> 
>     m_out->Print( aNestLevel+1, "(drawings %zu)\n",
>     aBoard->Drawings().size() );
> 
>     generates the warning:
>     warning: unknown conversion type character 'z' in format [-Wformat=]
> 
>     on my install:
> 
>     Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian,
>     wxMSW
>     Build Info:
>         wxWidgets: 3.1.3 (wchar_t,wx containers)
>         Boost: 1.71.0
>         OpenCASCADE Community Edition: 6.8.0
>         Curl: 7.66.0
>         Compiler: GCC 9.2.0 with C++ ABI 1013
> 
>     And I never saw %zu working on my W7 32 bits install.
> 
> 
>     >
>     > On Fri, Jan 3, 2020 at 9:02 AM Seth Hillbrand <seth@xxxxxxxxxxxxx
>     <mailto:seth@xxxxxxxxxxxxx>
>     > <mailto:seth@xxxxxxxxxxxxx <mailto:seth@xxxxxxxxxxxxx>>> wrote:
>     >
>     >     On 2020-01-02 17:19, Jon Evans wrote:
>     >
>     >     > Hi all,
>     >     >
>     >     > Context:
>     >     >
>     https://gitlab.com/kicad/code/kicad/merge_requests/28#note_264910682
>     >     >
>     >     > I have heard there are issues using "%zu" format specifier on
>     >     > Windows/mingw, because mingw links against a very old
>     Windows library
>     >     > that does not support the C99 standard.
>     >     >
>     >     > I have also heard that this isn't an issue anymore because of
>     >     > __USE_MINGW_ANSI_STDIO in wxWidgets.
>     >     >
>     >     > I tried to reproduce this problem on my Windows 10 machine but
>     >     couldn't
>     >     > -- using %zu works fine.
>     >     >
>     >     > Does anyone know if this is still a problem on any of our
>     supported
>     >     > platforms?
>     >     >
>     >     > Thanks,
>     >     > -Jon
>     >
>     >     I learned that this was a problem from JP.  See commit
>     >     https://gitlab.com/kicad/code/kicad/commit/17b18637f
>     >
>     >     Perhaps he can shed some light on the specifics.
>     >
>     >     -S
>     >


-- 
Jean-Pierre CHARRAS


References