I'll admit that I'm out of my league on this. It does compile with this change I made but I may not be within the standard for the same reason. Here's the items I was reading about the issue:
http://gcc.gnu.org/ml/gcc-patches/2002-02/msg01874.html
But to be clear, what I was trying to do was get rid of the building up of the output for the printf command:
i.e. printf("this" #ifdef something "this" #endif "\n");
And after applying the patch, I can compile and don't see any warnings. And build options still works:
./dovecot --build-options Build options: ioloop=poll notify=dnotify ipv6 openssl Mail storages: maildir mbox dbox cydir raw SQL drivers: Passdb: checkpassword pam passwd passwd-file shadow Userdb: nss passwd passwd-file prefetch static
Thoughts, KAM
printf is a macro in this system. I don't think that's normal (or even allowed by the standard?).