OSDN Git Service

* back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
[pf3gnuchains/gcc-fork.git] / gcc / ada / gcc-interface / misc.c
index 72b8a82..481c85a 100644 (file)
@@ -385,8 +385,9 @@ static bool
 gnat_init (void)
 {
   /* Do little here, most of the standard declarations are set up after the
-     front-end has been run.  */
-  build_common_tree_nodes (true, true);
+     front-end has been run.  Use the same `char' as C, this doesn't really
+     matter since we'll use the explicit `unsigned char' for Character.  */
+  build_common_tree_nodes (flag_signed_char, 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
@@ -394,6 +395,7 @@ gnat_init (void)
      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);
+  TYPE_NAME (sizetype) = get_identifier ("size_type");
 
   /* In Ada, we use an unsigned 8-bit type for the default boolean type.  */
   boolean_type_node = make_unsigned_type (8);
@@ -403,6 +405,8 @@ gnat_init (void)
   SET_TYPE_RM_SIZE (boolean_type_node, bitsize_int (1));
 
   build_common_tree_nodes_2 (0);
+  sbitsize_one_node = sbitsize_int (1);
+  sbitsize_unit_node = sbitsize_int (BITS_PER_UNIT);
   boolean_true_node = TYPE_MAX_VALUE (boolean_type_node);
 
   ptr_void_type_node = build_pointer_type (void_type_node);