Paul T. Burba wrote on Wed, 4 Nov 2009 at 19:26 -0800:
> Author: pburba
> Date: Wed Nov 4 19:26:27 2009
> New Revision: 40377
>
> Log:
> Follow-up to r38105, fix some diabolical ra_serf failures in the merge tests.
>
> * subversion/libsvn_ra_serf/util.c
> (svn_ra_serf__handle_xml_parser): Do not depend on order of evaluation
> of the arguments in the call to svn_error_compose_create() since this is
> not defined by the C standard
This bitten us a few times already. Perhaps we could add a macro that
forces the right order? Or enable a compiler warning for this?
e.g.,
#define svn_error_compose_create2(errvar1, errvar2, expr1, expr2) \
(errvar1 = (expr1), errvar2 = (expr2), \
svn_error_compose_create(errvar1, errvar2))
#define svn_error_compose_create2(errvar, expr1, expr2) \
do { \
svn_error_t __err1 = (expr1); \
svn_error_t __err2 = (expr2); \
errvar = svn_error_compose_create(__err1, __err2); \
} while (0)
???
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2414888