The cgen-types.h header sets up types that are needed by cgen-defs.h,
so move the include out of sim-main.h and to that header.  It might
be needed in other specific modules, but for now let's kick it out of
sim-main.h to make some progress.  Things still build with just this.
 #define SIM_MAIN_H
 
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "bpf-desc.h"
 #include "bpf-opc.h"
 #include "arch.h"
 
 #ifndef CGEN_DEFS_H
 #define CGEN_DEFS_H
 
+#include "cgen-types.h"
+
 /* Compute number of longs required to hold N bits.  */
 #define HOST_LONGS_FOR_BITS(n) \
   (((n) + sizeof (long) * 8 - 1) / sizeof (long) * 8)
 
 
 #include "symcat.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "cris-desc.h"
 #include "cris-opc.h"
 #include "arch.h"
 
 
 #include "symcat.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "frv-desc.h"
 #include <stdbool.h>
 #include "frv-opc.h"
 
 
 #include "symcat.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "iq2000-desc.h"
 #include "iq2000-opc.h"
 #include "arch.h"
 
 
 #include "symcat.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "lm32-desc.h"
 #include "lm32-opc.h"
 #include "arch.h"
 
 
 #include "symcat.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "m32r-desc.h"
 #include "m32r-opc.h"
 #include "arch.h"
 
 #include "or1k-desc.h"
 #include "or1k-opc.h"
 #include "sim-basics.h"
-#include "cgen-types.h"
 #include "arch.h"
 #include "sim-base.h"
 #include "sim-fpu.h"