Re: pgsql: Add configure infrastructure to detect support for C99's restric

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-committers@postgresql.org
Date: 2017-10-12T17:55:07Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2017-10-12 11:30:00 -0400, Tom Lane wrote:
>> I don't actually see why you need a #define at all --- "restrict" is the
>> standard spelling of the keyword no?

> It is, but a lot of compilers name it differently, e.g. __restrict in
> the case of msvc.

It's 2017 and they're still not C99 compliant?  Oh well.

TBH, I really doubt that restrict buys us enough performance to justify
dealing with this.  I'd just revert that change altogether.

Or, if you insist on having it, we're going to have to go the pg_restrict
route.  I don't see why that means duplicating any configure logic: on
non-Windows we can use the autoconf probe and then write
"#define pg_restrict restrict".

			regards, tom lane


Commits

  1. Use C99 restrict via pg_restrict, rather than restrict directly.

  2. Work around overly strict restrict checks by MSVC.

  3. Add configure infrastructure to detect support for C99's restrict.