| From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
|---|---|
| To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
| Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> |
| Subject: | Re: taking stdbool.h into use |
| Date: | 2017-10-26 22:48:33 |
| Message-ID: | 20171026224833.at7qeyb3n7vrttes@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Michael Paquier wrote:
> On Thu, Oct 26, 2017 at 10:51 AM, Alvaro Herrera
> <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> > I gave this a quick run, to see if my compiler would complain for things
> > like this:
> >
> > bool isprimary = flags & INDEX_CREATE_IS_PRIMARY;
> >
> > (taken from the first patch at
> > https://postgr.es/m/20171023161503.ohkybquxrlech7d7@alvherre.pgsql )
> >
> > which is assigning a value other than 1/0 to a bool variable without an
> > explicit cast. I thought it would provoke a warning, but it does not.
> > Is that expected? Is my compiler too old/new?
>
> It seems to me that this proves the point of the proposed patch. You
> had better use a zero-equality comparison for such bitwise operation,
> and so you ought to do that:
> bool isprimary = (flags & INDEX_CREATE_IS_PRIMARY) != 0;
Right, exactly. But my point is that with the whole patch series
applied I didn't get any warnings.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2017-10-26 23:10:28 | Re: taking stdbool.h into use |
| Previous Message | Jeff Janes | 2017-10-26 22:40:08 | bgwriter_lru_maxpages range in postgresql.conf |