Re: C99 compliance for src/port/snprintf.c
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David Steele <david@pgmasters.net>, pgsql-hackers@lists.postgresql.org
Date: 2018-08-15T22:40:26Z
Lists: pgsql-hackers
Hi, On 2018-08-15 18:31:10 -0400, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > On 2018-08-15 18:13:59 -0400, Tom Lane wrote: > >> Experimenting here says that even reasonably modern gcc's won't take > >> declarations-inside-for without "--std=c99" or such. > > > I think autoconf's magic knows about most of that: > > — Macro: AC_PROG_CC_C99 > > Ah, of course. What about the MSVC build? It looks like it mostly just enables that by default. But I only looked cursorily. It's a bit annoying because that makes it harder to be sure which animals support what. Looks like e.g. hammerkop (supposedly msvc 2005) might not support the subset we want; not that I'd loose sleep over raising the minimum msvc in master a bit. > > I think we could get a start by adding that test to configure, without > > relying on it for now (i.e. keeping mylodon with -Wc99-extensions > > -Werror=c99-extensions alive). That'd tell us about which machines, > > besides presumably gaur, we'd need to either kick to the curb or change. > > Sure, no objection to putting that in just to see how much of the > buildfarm can handle it. If the answer turns out to be "a lot", > we might have to reconsider, but gathering data seems like the > first thing to do. Cool. Too late today (in Europe for a few more days), but I'll try to come up with something tomorrow. Greetings, Andres Freund
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove test for VA_ARGS, implied by C99.
- 8ecdefc261ab 12.0 landed
-
Introduce minimal C99 usage to verify compiler support.
- 143290efd079 12.0 landed
-
Require C99 (and thus MSCV 2013 upwards).
- d9dd406fe281 12.0 landed
-
Require a C99-compliant snprintf(), and remove related workarounds.
- e1d19c902e59 12.0 landed
-
Try to enable C99 in configure, but do not rely on it (yet).
- 86d78ef50e01 12.0 landed
-
Make snprintf.c follow the C99 standard for snprintf's result value.
- c2a2e331da17 9.6.11 landed
- 1811900b933c 10.6 landed
- 36147ec9f1e2 11.0 landed
- a57a6faf6011 9.3.25 landed
- 27c4b0899c0e 9.4.20 landed
- 8e9f229d2bf6 9.5.15 landed
- 805889d7d23f 12.0 landed
-
Clean up assorted misuses of snprintf()'s result value.
- d7ed4eea539d 11.0 landed
- d371efb39c33 9.4.20 landed
- c81062e8e12f 9.5.15 landed
- c182c1e0b895 9.6.11 landed
- 6101bc2f459c 10.6 landed
- 3531365de5e8 9.3.25 landed
- cc4f6b778618 12.0 landed