Daniel Shahaf wrote on Fri, Nov 23, 2012 at 17:31:05 +0200: > Branko Čibej wrote on Fri, Nov 23, 2012 at 15:59:16 +0100: > > On 23.11.2012 15:35, Julian Foad wrote: > > > In file included from subversion/libsvn_delta/compat.c:36:0: > > > ./subversion/svn_private_config.h:236:7: "SVN_QSORT_R_NORMAL_ARG_ORDER" > > > is not defined > > > -- > > > In file included from subversion/libsvn_delta/svndiff.c:31:0: > > > ./subversion/svn_private_config.h:236:7: "SVN_QSORT_R_NORMAL_ARG_ORDER" > > > is not defined > > > -- > > > In file included from subversion/libsvn_subr/auth.c:34:0: > > > ./subversion/svn_private_config.h:236:7: "SVN_QSORT_R_NORMAL_ARG_ORDER" > > > is not defined > > > -- > > > In file included from subversion/libsvn_subr/cache-inprocess.c:30:0: > > > ./subversion/svn_private_config.h:236:7: "SVN_QSORT_R_NORMAL_ARG_ORDER" > > > is not defined > > > -- > > > In file included from subversion/libsvn_subr/cache-membuffer.c:31:0: > > > ./subversion/svn_private_config.h:236:7: "SVN_QSORT_R_NORMAL_ARG_ORDER" > > > is not defined > > > -- > > > [...] > > > > > > (The relevant line number looks like 235 in my editor not 236.) > > > > Julian, we've had this discussion before. I'm not going to change the > > accepted way of checking autoconf macros just because you insist on > > turning on warnings about perfectly valid and 15-years standard > > behaviour of the C preprocessor. That by the way is not even turned on > > in maintainer-mode. > > The warning is useful to catch spelling errors in macros (example: '#if > APR_HAS_IPv6'). > > +1 to changing the code to always define SVN_QSORT_R_NORMAL_ARG_ORDER, > as either 0 or 1. I see no downside to that, do you?
Put another way: saying that '#if UNDEFINED_MACRO' is well-defined just says the code is correct. Hence, changing the code to avoid that construct is about robustness, or clarity, rahter than correctness.