see gcc PR34205
Index: gcc-4.3.0/gcc/tree.h
===================================================================
--- gcc-4.3.0/gcc/tree.h	(revision 130511)
+++ gcc-4.3.0/gcc/tree.h	(working copy)
@@ -38,6 +38,7 @@
 
   LAST_AND_UNUSED_TREE_CODE	/* A convenient way to get a value for
 				   NUM_TREE_CODES.  */
+  ,__LAST_AND_UNUSED_TREE_CODE=32767 /* Force 16bit width.  */
 };
 
 #undef DEFTREECODE
Index: gcc-4.3.0/gcc/rtl.h
===================================================================
--- gcc-4.3.0/gcc/rtl.h	(revision 130511)
+++ gcc-4.3.0/gcc/rtl.h	(working copy)
@@ -48,9 +48,11 @@
 #include "rtl.def"		/* rtl expressions are documented here */
 #undef DEF_RTL_EXPR
 
-  LAST_AND_UNUSED_RTX_CODE};	/* A convenient way to get a value for
+  LAST_AND_UNUSED_RTX_CODE	/* A convenient way to get a value for
 				   NUM_RTX_CODE.
 				   Assumes default enum value assignment.  */
+  ,__LAST_AND_UNUSED_RTX_CODE=32767 /* Force 16bit width.  */
+};
 
 #define NUM_RTX_CODE ((int) LAST_AND_UNUSED_RTX_CODE)
 				/* The cast here, saves many elsewhere.  */
Index: gcc-4.3.0/gcc/c-common.h
===================================================================
--- gcc-4.3.0/gcc/c-common.h	(revision 130511)
+++ gcc-4.3.0/gcc/c-common.h	(working copy)
@@ -125,6 +125,7 @@
   RID_LAST_AT = RID_AT_IMPLEMENTATION,
   RID_FIRST_PQ = RID_IN,
   RID_LAST_PQ = RID_ONEWAY
+  ,__LAST_AND_UNUSED_RID=32767 /* Force 16bit width.  */
 };
 
 #define OBJC_IS_AT_KEYWORD(rid) \
