Re: patch: garbage error strings in libpq - Mailing list pgsql-patches

From Tom Lane
Subject Re: patch: garbage error strings in libpq
Date
Msg-id 13079.1120832127@sss.pgh.pa.us
Whole thread Raw
In response to Re: patch: garbage error strings in libpq  (jtv@xs4all.nl)
Responses Re: patch: garbage error strings in libpq
List pgsql-patches
jtv@xs4all.nl writes:
> That would answer the big question here, but where does it say that?

Also, if you really insist on an authoritative statement, try this text
(from Annex D of the C99 draft standard, "Formal model of sequence
points"):

       D.2.2  Function calls                                        |

       [#1] Where an expression involves a function call, that call |
       is ``atomic'' for the purposes of this model.  There must be |
       a  sequence point immediately before (see 6.5.2.2) and after |
       each function  call  (either  because  it  ends  in  a  full |
       expression,  or  because it is required by 7.1.4), and so it |
       can be seen that  the  effects  of  the  call   --  for  the |
       purposes of the surrounding expression  -- can be determined |
       purely by the read and write events involved in it, ignoring |
       their  ordering.   These  events cannot be interspersed with |
       events from outside the call.  Therefore this model treats a |
       function call as being a sequence point.                     |

Cross-function optimization by the compiler is all well and dandy,
but it is on the compiler's head to make sure it doesn't change
the observable semantics of the program.  Not ours.

            regards, tom lane

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: patch: garbage error strings in libpq
Next
From: Marko Kreen
Date:
Subject: [patch 0/2] Add Fortuna PRNG to pgcrypto