Re: [COMMITTERS] pgsql: Add configure infrastructure to detectsupport for C99's restric - Mailing list pgsql-committers

From Andres Freund
Subject Re: [COMMITTERS] pgsql: Add configure infrastructure to detectsupport for C99's restric
Date
Msg-id 20171012001320.4putagiruuehtvb6@alap3.anarazel.de
Whole thread Raw
In response to [COMMITTERS] pgsql: Add configure infrastructure to detect support for C99'srestric  (Andres Freund <andres@anarazel.de>)
Responses Re: [COMMITTERS] pgsql: Add configure infrastructure to detectsupport for C99's restric  (Andres Freund <andres@anarazel.de>)
List pgsql-committers
Hi,

On 2017-10-11 23:11:15 +0000, Andres Freund wrote:
> Add configure infrastructure to detect support for C99's restrict.
> 
> Will be used in later commits improving performance for a few key
> routines where information about aliasing allows for significantly
> better code generation.
> 
> This allows to use the C99 'restrict' keyword without breaking C89, or
> for that matter C++, compilers. If not supported it's defined to be
> empty.

Woodlouse doesn't like this, erroring out with:
C:\buildfarm\buildenv\HEAD\pgsql.build\src\include\libpq/pqformat.h(47): error C2219: syntax error : type qualifier
mustbe after '*' (src/backend/access/common/printsimple.c) [C:\buildfarm\buildenv\HEAD\pgsql.build\postgres.vcxproj]
 

It's MSVC being super peculiar about error checks. I think msvc is just
confused by the pointer hiding typedef. Using some online MSVC (and
other compilers) frontend:
https://godbolt.org/g/TD3nmA

I confirmed that removing the pointer hiding typedef indeed resolves the
isssue.

I can't quite decide whether msvc just has taste and dislikes pointer
hiding typedefs as much as I do, or whether it's incredibly stupid ;)

I'll add a comment and use StringInfoData *.

Greetings,

Andres Freund


-- 
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: [COMMITTERS] pgsql: pg_stat_statements: Widen query IDs from 32 bits to 64 bits.
Next
From: Andres Freund
Date:
Subject: [COMMITTERS] pgsql: Improve performance of SendRowDescriptionMessage.