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-12T15:30:00Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > I've temporarily silenced that error by moving the stdlib.h include > before the definition of restrict, but that seems fairly fragile. I > primarily wanted to see whether there's other problems. At least thrips > is is now happy. > I see a number of options to continue: > - only define restrict on msvc 2013+ - for some reason woodlouse didn't > complain about this problem, but I'm very doubtful that that's > actually reliable. > - rename restrict to pg_restrict. That's annoying because we'd have to > copy the autoconf test. > - live with the hack of including stdlib.h early, in pg_config.h.win32. > - $better_idea I don't actually see why you need a #define at all --- "restrict" is the standard spelling of the keyword no? I really do not like the stdlib.h hack: that amounts to assuming that only stdlib.h does or ever will contain declspec(restrict). Maybe you could get away with that if you were applying it only to long-dead MSVC versions, but doing it "#if (_MSC_VER >= 1500)" is clearly going to break someday. regards, tom lane
Commits
-
Use C99 restrict via pg_restrict, rather than restrict directly.
- 91d5f1a4a3e8 11.0 landed
-
Work around overly strict restrict checks by MSVC.
- 060b069984a6 11.0 landed
-
Add configure infrastructure to detect support for C99's restrict.
- 0b974dba2d6b 11.0 cited