> Is there any reasonable way to to issue a #warning if something uses > that, but permit the compile to continue?
Not for a compile-time constant (unless there is some new cpp feature in gcc that I don't know about). GNU ld's symbol warnings provide a way to do that at link time for symbols (glibc uses this e.g. for gets and ENOSYS stub functions). But the common uses of MAXPATHLEN necessitate its being a cpp macro so that it is constant at compile time for array sizes and the like, and expandable by cpp for #if tests that examine its value (I don't know how common those are in practice).

