| From: | Noah Misch <noah(at)leadboat(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-committers(at)postgresql(dot)org |
| Subject: | Re: pgsql: Convert contrib/seg's bool-returning SQL functions to V1 call co |
| Date: | 2016-04-27 02:38:28 |
| Message-ID: | 20160427023828.GA2150695@tornado.leadboat.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers pgsql-hackers |
On Fri, Apr 22, 2016 at 03:54:48PM +0000, Tom Lane wrote:
> Convert contrib/seg's bool-returning SQL functions to V1 call convention.
>
> It appears that we can no longer get away with using V0 call convention
> for bool-returning functions in newer versions of MSVC. The compiler
> seems to generate code that doesn't clear the higher-order bits of the
> result register, causing the bool result Datum to often read as "true"
> when "false" was intended. This is not very surprising, since the
> function thinks it's returning a bool-width result but fmgr_oldstyle
> assumes that V0 functions return "char *"; what's surprising is that
> that hack worked for so long on so many platforms.
Does this warrant a change to the "Section 2" comment of postgres.h,
explaining that its precautions no longer suffice everywhere?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2016-04-27 02:44:15 | Re: Re: pgsql: Convert contrib/seg's bool-returning SQL functions to V1 call co |
| Previous Message | Noah Misch | 2016-04-27 01:55:13 | pgsql: Impose a full barrier in generic-xlc.h atomics functions. |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2016-04-27 02:44:15 | Re: Re: pgsql: Convert contrib/seg's bool-returning SQL functions to V1 call co |
| Previous Message | Robert Haas | 2016-04-27 02:37:07 | Re: plan for beta1 & open issues |