- tree decl;
-
- for (decl = syms; decl; decl = TREE_CHAIN (decl))
- if (DECL_NAME (decl)
- && strcmp (IDENTIFIER_POINTER (DECL_NAME (decl)), name) == 0)
- {
- TREE_ASM_WRITTEN (decl) = 1;
- TYPE_SYMTAB_ADDRESS (TREE_TYPE (decl)) = number;
- }
-}
-
-/* Setup gcc primitive types to use the XCOFF built-in type numbers where
- possible. */
-
-void
-xcoff_output_standard_types (syms)
- tree syms;
-{
- /* Handle built-in C types here. */
-
- assign_type_number (syms, "int", (TARGET_64BIT ? -31 : -1));
- assign_type_number (syms, "char", -2);
- assign_type_number (syms, "short int", -3);
- assign_type_number (syms, "long int", (TARGET_64BIT ? -31 : -4));
- assign_type_number (syms, "unsigned char", -5);
- assign_type_number (syms, "signed char", -6);
- assign_type_number (syms, "short unsigned int", -7);
- assign_type_number (syms, "unsigned int", (TARGET_64BIT ? -32 : -8));
+ const char *name;
+ int number;
+};
+static const struct xcoff_type_number xcoff_type_numbers[] = {
+ { "int", -1 },
+ { "char", -2 },
+ { "short int", -3 },
+ { "long int", -4 }, /* fiddled to -31 if 64 bits */
+ { "unsigned char", -5 },
+ { "signed char", -6 },
+ { "short unsigned int", -7 },
+ { "unsigned int", -8 },