-/** Auxiliary modes necessary for the Firm representation **/
-extern ir_mode *mode_T; /* tuple (none) */
-extern ir_mode *mode_X; /* execution */
-extern ir_mode *mode_M; /* memory */
-extern ir_mode *mode_BB; /* block */
-
-/** A set of predifined, numerical modes according to Techreport 1999-44 **/
-extern ir_mode *mode_F; /* signed float(32) */
-extern ir_mode *mode_D; /* signed double(64) */
-extern ir_mode *mode_E; /* signed extended(80) */
-extern ir_mode *mode_Bs; /* signed byte (former char) */
-extern ir_mode *mode_Bu; /* unsigned byte (former char) */
-extern ir_mode *mode_Hs; /* signed short integer */
-extern ir_mode *mode_Hu; /* unsigened short integer */
-extern ir_mode *mode_Is; /* signed integer */
-extern ir_mode *mode_Iu; /* unsigned integer */
-extern ir_mode *mode_Ls; /* signed long integer */
-extern ir_mode *mode_Lu; /* unsigned long integer */
-
-extern ir_mode *mode_b; /* internal boolean */
-extern ir_mode *mode_C; /* 8 bit char */
-extern ir_mode *mode_U; /* 16 bit unicode char */
-extern ir_mode *mode_P; /* pointer */
+extern ir_mode *mode_P; /**< pointer */
+extern ir_mode *mode_P_mach; /**< A pointer mode that is set by the client of libfirm. This mode
+ represents the pointer size of the target machine. Is initialized
+ to mode_P. */
+
+/* -- Auxiliary modes necessary for the Firm representation -- */
+extern ir_mode *mode_b; /**< internal boolean */
+
+extern ir_mode *mode_X; /**< execution */
+extern ir_mode *mode_BB; /**< block */
+
+extern ir_mode *mode_T; /**< tuple (none) */
+extern ir_mode *mode_ANY;/**< undefined mode */
+extern ir_mode *mode_BAD;/**< bad mode */