summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-21 13:25:56 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-21 13:25:56 +0000
commit6274009cff8ffd7305f01821eb9282c10847100f (patch)
tree4272c9905b0cc71aac280da213c0de949ff34861
parent7a9d1fec41b026a43331eadead1a6e6c238084ab (diff)
downloadppe42-gcc-6274009cff8ffd7305f01821eb9282c10847100f.tar.gz
ppe42-gcc-6274009cff8ffd7305f01821eb9282c10847100f.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19355 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/LANGUAGES10
-rw-r--r--gcc/c-common.c3
-rw-r--r--gcc/c-decl.c8
-rw-r--r--gcc/c-tree.h2
5 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9add7255519..d4bfab0b494 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 302fcd2de22..544e12b4105 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 891386dbf1c..2ea49d6fcad 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 74ed9075d34..2b484158854 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 d3884dc44fd..69347835a9f 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;
OpenPOWER on IntegriCloud