On 24/01/15 07:26, leo(a)yuriev.ru wrote:
> Of course, I understand that __VA_ARGS__ are used only for debugging
> currently.
Aha, a misunderstanding there. Debug() is _not_ just for
debugging, it's also for logging. "Rebus" coding, as you say:-(
20 years of cruft in the code. I see you've talked about that in
ITS#8015, so I'll answer the rest there instead.
> But this is makes me think that recent development and testing of
> OpenLDAP are carried out only in today's environment (modern Linux and gcc).
Certainily not. _Mainly_ on a few platforms, probably. People
submit bug reports about other platforms, Howard once in a while
says "I tested on <that platform> and did/did not find your
problem", etc. See the commit logs and mailinglists, and the
Build Environment part of CHANGES in REL_ENG: gcc-isms and other
stuff creep in, and get thrown out again.
> Could anyone say about the list of a system-compiler pairs with which
> OpenLDAP was tested or just successfully compiled?
Not to my knowledge. We just try to keep the code portable,
within some constraints like we don't support weirdness like
32-bit 'char'.
> For instance, in our fork we plan limit the support to modern systems
> with gcc, clang and last msvc compilers.
That's incompatible with our coding practice. We just try to keep
the code portable, within some constraints like we don't support
weirdness like 32-bit 'char' and some religious disagreements
about what portability is. Anyway, if some code isn't portable,
it needs a good excuse for getting in and staying in.
Note that lots of unportable code can be writtene portably,
or at least it can keep the unportability in one place.
E.g. your repo's change of /bin/sh to bash is not an option
for us. But maybe tests/run.in and tests/scripts/all could
be changed to optionally invoke them with another shell.
--
Hallvard