}
}
\f
-/* Do little here. Set up the standard declarations later after the
- front end has been run. */
-
-void
-gnat_init_decl_processing (void)
-{
- build_common_tree_nodes (true, true);
-
- /* In Ada, we use a signed type for SIZETYPE. Use the signed type
- corresponding to the width of Pmode. In most cases when ptr_mode
- and Pmode differ, C will use the width of ptr_mode for SIZETYPE.
- But we get far better code using the width of Pmode. */
- size_type_node = gnat_type_for_mode (Pmode, 0);
- set_sizetype (size_type_node);
-
- /* In Ada, we use an unsigned 8-bit type for the default boolean type. */
- boolean_type_node = make_unsigned_type (8);
- TREE_SET_CODE (boolean_type_node, BOOLEAN_TYPE);
- SET_TYPE_RM_MAX_VALUE (boolean_type_node,
- build_int_cst (boolean_type_node, 1));
- SET_TYPE_RM_SIZE (boolean_type_node, bitsize_int (1));
-
- build_common_tree_nodes_2 (0);
- boolean_true_node = TYPE_MAX_VALUE (boolean_type_node);
-
- ptr_void_type_node = build_pointer_type (void_type_node);
-}
-\f
/* Record TYPE as a builtin type for Ada. NAME is the name of the type. */
void
new_exp = TREE_OPERAND (exp, 0);
new_exp
= build_unary_op (INDIRECT_REF, NULL_TREE,
- build_component_ref (TREE_OPERAND (exp, 0),
- get_identifier ("P_ARRAY"),
- NULL_TREE, false));
+ build_component_ref (new_exp, NULL_TREE,
+ TYPE_FIELDS
+ (TREE_TYPE (new_exp)),
+ false));
TREE_READONLY (new_exp) = TREE_READONLY (exp);
return new_exp;
}