On Mon, Dec 15, 2014 at 5:05 PM, Peter Geoghegan <pg@heroku.com> wrote:
> > Maybe IGNORE is defined as a macro in MinGW? > Try s/IGNORE/IGNORE_P/g throughout the patch.
BTW, the gcc -E flag does this. So figure out what exact arguments MinGW's gcc is passed in the ordinary course of compiling gram.c, and prepend "-E" to the list of existing flags while manually executing gcc -- that should let you know exactly what's happening here.
Yep, I tried that trick and had decided it didn't work in MinGW. But I think it was a user error--I must have somehow broken up the build tree and 'make' didn't detect the problem. Now I see that IGNORE is getting turned to 0.
Your new version 1.7 of the patches fixes that issue, as well as the OID conflict.