Daniel Stenberg <[email protected]> writes: > On Mon, 1 Mar 2010, Simon Josefsson wrote: > >> I couldn't reproduce a compiler failure, but the warning was likely >> due to -Wundef (which IMHO is pointless -- undeclared CPP constants >> must evaluate to 0). Just curious; I don't care strongly. > > Ah, yes it was a warning only, the error must've been some mistake of > mine. I like -Wundef because it makes you write stricter code that > leaves less mistakes around. Like when you do #if [misspelled define] > which always will evaluate false but with -Wundef will give you a > clear warning. That specific mistake is also very hard to spot and > track down (and yes I've seen it happen more than once).
I understand, and I've seen that too. There are disadvantages though: if someone declares the constant to 0 and expects the feature to be disabled. Further, it encourages adding defined-checks to all CPP symbols regardless of how they are intended to be used. I've seen these two patterns cause problems more than once as well. Anyway, this is an aesthetic discussion. I believe discussing it helps to make us aware of the underlying trade-offs though. /Simon _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
