c-common.c (type_for_mode): Handle TI types.
authorJeffrey A Law <law@cygnus.com>
Tue, 21 Apr 1998 13:25:56 +0000 (13:25 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 21 Apr 1998 13:25:56 +0000 (07:25 -0600)
        * c-common.c (type_for_mode): Handle TI types.
        * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
        (init_decl_processing): Handle TI types.
        * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.

From-SVN: r19355

gcc/ChangeLog
gcc/LANGUAGES
gcc/c-common.c
gcc/c-decl.c
gcc/c-tree.h

index 9add725..d4bfab0 100644 (file)
@@ -1,5 +1,10 @@
 Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * c-common.c (type_for_mode): Handle TI types.
+       * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
+       (init_decl_processing): Handle TI types.
+       * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
+
        * mips.c (block_move_loop): Test Pmode == DImode instead of
        TARGET_MIPS64.
        (expand_block_move, save_restore_insns): Likewise.
index 302fcd2..544e12b 100644 (file)
@@ -6,6 +6,16 @@ time as we can formally start documenting the interface this file will
 serve as a repository for information on these interface and any incompatable
 changes we've made.
 
+Apr 21, 1998:
+  Front ends which link with c-common or other files from the C/C++
+  front-ends may need to handle TI types.  Look for references to
+  [unsigned]int_DI_type_node in your front end.  If you have references
+  to these variables, you'll need up update the front end.
+
+  To update the front end you must mirror all the code which currently
+  deals with intDI_type_node to also handle intTI_type_node.
+
+
 Apr 7, 1998:
   The interface between toplev.c and the language front ends for opening the
   source file has changed:
index 891386d..2ea49d6 100644 (file)
@@ -2015,6 +2015,9 @@ type_for_mode (mode, unsignedp)
   if (mode == TYPE_MODE (intDI_type_node))
     return unsignedp ? unsigned_intDI_type_node : intDI_type_node;
 
+  if (mode == TYPE_MODE (intTI_type_node))
+    return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
+
   if (mode == TYPE_MODE (float_type_node))
     return float_type_node;
 
index 74ed907..2b48415 100644 (file)
@@ -143,11 +143,13 @@ tree intQI_type_node;
 tree intHI_type_node;
 tree intSI_type_node;
 tree intDI_type_node;
+tree intTI_type_node;
 
 tree unsigned_intQI_type_node;
 tree unsigned_intHI_type_node;
 tree unsigned_intSI_type_node;
 tree unsigned_intDI_type_node;
+tree unsigned_intTI_type_node;
 
 /* a VOID_TYPE node.  */
 
@@ -2986,6 +2988,9 @@ init_decl_processing ()
   intDI_type_node = make_signed_type (GET_MODE_BITSIZE (DImode));
   pushdecl (build_decl (TYPE_DECL, NULL_TREE, intDI_type_node));
 
+  intTI_type_node = make_signed_type (GET_MODE_BITSIZE (TImode));
+  pushdecl (build_decl (TYPE_DECL, NULL_TREE, intDI_type_node));
+
   unsigned_intQI_type_node = make_unsigned_type (GET_MODE_BITSIZE (QImode));
   pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intQI_type_node));
 
@@ -2998,6 +3003,9 @@ init_decl_processing ()
   unsigned_intDI_type_node = make_unsigned_type (GET_MODE_BITSIZE (DImode));
   pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intDI_type_node));
 
+  unsigned_intTI_type_node = make_unsigned_type (GET_MODE_BITSIZE (TImode));
+  pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intTI_type_node));
+
   float_type_node = make_node (REAL_TYPE);
   TYPE_PRECISION (float_type_node) = FLOAT_TYPE_SIZE;
   pushdecl (build_decl (TYPE_DECL, ridpointers[(int) RID_FLOAT],
index d3884dc..6934783 100644 (file)
@@ -201,6 +201,7 @@ extern tree double_ftype_double;
 extern tree double_ftype_double_double;
 extern tree double_type_node;
 extern tree float_type_node;
+extern tree intTI_type_node;
 extern tree intDI_type_node;
 extern tree intHI_type_node;
 extern tree intQI_type_node;
@@ -230,6 +231,7 @@ extern tree signed_wchar_type_node;
 extern tree string_ftype_ptr_ptr;
 extern tree string_type_node;
 extern tree unsigned_char_type_node;
+extern tree unsigned_intTI_type_node;
 extern tree unsigned_intDI_type_node;
 extern tree unsigned_intHI_type_node;
 extern tree unsigned_intQI_type_node;