From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | "Smith, Peter" <peters(at)fast(dot)au(dot)fujitsu(dot)com> |
Cc: | "andres(at)anarazel(dot)de" <andres(at)anarazel(dot)de>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "peter(dot)eisentraut(at)2ndquadrant(dot)com" <peter(dot)eisentraut(at)2ndquadrant(dot)com>, "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "ilmari(at)ilmari(dot)org" <ilmari(at)ilmari(dot)org>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Proposal: Add more compile-time asserts to expose inconsistencies. |
Date: | 2020-01-31 02:47:01 |
Message-ID: | 20200131024701.GA2631@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Dec 24, 2019 at 02:47:29PM +0900, Michael Paquier wrote:
> I am still seeing that a couple of points need an extra lookup:
> - Addition of a Decl() in at least one header of the core code.
I agree with the addition of Decl() definition in a header, and could
not think about something better than one for bufpage.h for the
all-zero check case, so I went with that. Attached is a 0001 which
adds the definition for StaticAssertDecl() for C and C++ for all code
paths. If there are no objections, I would like to commit this
version. There is no fancy refactoring in it, and small progress is
better than no progress. I have also reworked the comments in the
patch, and did some testing on Windows.
> - Perhaps unifying the fallback implementation between C and C++, with
> a closer lookup in particular at StaticAssertStmt() and StaticAssertExpr().
Seeing nothing happening on this side. I took a shot at all that, and
I have hacked my way through it with 0002 which is an attempt to unify
the fallback implementation for C and C++. This is not fully baked
yet, and it is perhaps a matter of taste if this makes the code more
readable or not. I think it does, because it reduces the parts
dedicated to assertion definitions from four to three. Anyway, let's
discuss about that.
--
Michael
Attachment | Content-Type | Size |
---|---|---|
0001-Add-declaration-level-assertions.patch | text/x-diff | 10.9 KB |
0002-Refactor-assertion-definitions-in-c.h.patch | text/x-diff | 2.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Dominik Czarnota | 2020-01-31 03:18:09 | PATCH: Fix wrong size argument to pg_strncasecmp |
Previous Message | Amit Kapila | 2020-01-31 02:38:01 | Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions |