I was too lazy to fix this so instead I was filing a bug. Anyways DECL_MAIN_P is declared twice in cp-tree.h with the same definition. I don't know or when it happend but it does.
Confirmed. The duplicate definition was introduced in GCC 3.0. I'll take care of the patch.
Subject: Bug 24979 Author: reichelt Date: Sun Nov 27 22:37:06 2005 New Revision: 107578 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107578 Log: PR c++/24979 * cp-tree.h (DECL_MAIN_P): Remove duplicate definition. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h
Fixed on mainline.