From a6d7e156393f7ec4725dd7193df277c3b5ee63ae Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Tue, 21 Apr 1998 13:25:56 +0000 Subject: c-common.c (type_for_mode): Handle TI types. * 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 | 5 +++++ gcc/LANGUAGES | 10 ++++++++++ gcc/c-common.c | 3 +++ gcc/c-decl.c | 8 ++++++++ gcc/c-tree.h | 2 ++ 5 files changed, 28 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9add725..d4bfab0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/LANGUAGES b/gcc/LANGUAGES index 302fcd2..544e12b 100644 --- a/gcc/LANGUAGES +++ b/gcc/LANGUAGES @@ -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: diff --git a/gcc/c-common.c b/gcc/c-common.c index 891386db..2ea49d6 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -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; diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 74ed907..2b48415 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -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], diff --git a/gcc/c-tree.h b/gcc/c-tree.h index d3884dc..6934783 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -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; -- cgit v1.1