On Mon, Sep 19, 2022 at 11:21 PM Michael Paquier <michael@paquier.xyz> wrote:
>
> On Mon, Sep 19, 2022 at 08:51:37PM -0400, James Coleman wrote:
> > Yes, fixed.
>
> The CF bot is failing compilation on Windows:
> http://commitfest.cputube.org/james-coleman.html
> https://api.cirrus-ci.com/v1/task/5376566577332224/logs/build.log
>
> There is something going on with noreturn() after applying it to
> elog.h:
> 01:11:00.468] c:\cirrus\src\include\utils\elog.h(410,45): error C2085:
> 'ThrowErrorData': not in formal parameter list (compiling source file
> src/common/hashfn.c) [c:\cirrus\libpgcommon.vcxproj]
> [01:11:00.468] c:\cirrus\src\include\mb\pg_wchar.h(701,80): error
> C2085: 'pgwin32_message_to_UTF16': not in formal parameter list
> (compiling source file src/common/encnames.c)
> [c:\cirrus\libpgcommon.vcxproj]
> [01:11:00.468] c:\cirrus\src\include\utils\elog.h(411,54): error
> C2085: 'pg_re_throw': not in formal parameter list (compiling source
> file src/common/hashfn.c) [c:\cirrus\libpgcommon.vcxproj]
>
> align() seems to look fine, at least. I'd be tempted to apply the
> align part first, as that's independently useful for itemptr.h.
I don't have access to a Windows machine for testing, but re-reading
the documentation it looks like the issue is that our noreturn macro
is used after the definition while the MSVC equivalent is used before.
I've removed that for now (and commented about it); it's not as
valuable anyway since it's mostly an indicator for code analysis
(human and machine).
James Coleman