aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-04-21 13:27:12 +0000
committerJeff Law <law@gcc.gnu.org>1998-04-21 07:27:12 -0600
commitf7554e8cffcd6f3f99c66e18b5af15311fbce2c3 (patch)
tree65656215183617aaa34a5922fb2fede38c3407a1 /gcc
parenta6d7e156393f7ec4725dd7193df277c3b5ee63ae (diff)
downloadgcc-f7554e8cffcd6f3f99c66e18b5af15311fbce2c3.zip
gcc-f7554e8cffcd6f3f99c66e18b5af15311fbce2c3.tar.gz
gcc-f7554e8cffcd6f3f99c66e18b5af15311fbce2c3.tar.bz2
cp-tree.h (intTI_type_node, [...]): Declare.
* cp-tree.h (intTI_type_node, unsigned_intTI_type_node): Declare. * decl.c (intTI_type_node, unsigned_intTI_type_node): Define. (init_decl_processing): Handle TI types. * typeck.c (unsigned_type, signed_type): Handle TI types. From-SVN: r19356
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/cp-tree.h1
-rw-r--r--gcc/cp/decl.c6
-rw-r--r--gcc/cp/typeck.c4
4 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3e277e2..d8f4204 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+Tue Apr 21 14:22:00 1998 Jeffrey A Law (law@cygnus.com)
+
+ * cp-tree.h (intTI_type_node, unsigned_intTI_type_node): Declare.
+ * decl.c (intTI_type_node, unsigned_intTI_type_node): Define.
+ (init_decl_processing): Handle TI types.
+ * typeck.c (unsigned_type, signed_type): Handle TI types.
+
Sat Apr 18 15:25:21 1998 Jim Wilson <wilson@cygnus.com>
* g++spec.c (lang_specific_driver): New argument in_added_libraries.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index e2f68aa..8b943c4 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -171,6 +171,7 @@ extern tree intQI_type_node, unsigned_intQI_type_node;
extern tree intHI_type_node, unsigned_intHI_type_node;
extern tree intSI_type_node, unsigned_intSI_type_node;
extern tree intDI_type_node, unsigned_intDI_type_node;
+extern tree intTI_type_node, unsigned_intTI_type_node;
extern int current_function_returns_value;
extern int current_function_returns_null;
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 2a966a2..164d706 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -222,11 +222,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, and the same, packaged in a TREE_LIST. */
@@ -5115,6 +5117,8 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, NULL_TREE, intSI_type_node));
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, intTI_type_node));
unsigned_intQI_type_node = make_unsigned_type (GET_MODE_BITSIZE (QImode));
pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intQI_type_node));
unsigned_intHI_type_node = make_unsigned_type (GET_MODE_BITSIZE (HImode));
@@ -5123,6 +5127,8 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, NULL_TREE, unsigned_intSI_type_node));
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;
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index 4080a8e..36acd58 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -1229,6 +1229,8 @@ unsigned_type (type)
return long_unsigned_type_node;
if (type1 == long_long_integer_type_node)
return long_long_unsigned_type_node;
+ if (type1 == intTI_type_node)
+ return unsigned_intTI_type_node;
if (type1 == intDI_type_node)
return unsigned_intDI_type_node;
if (type1 == intSI_type_node)
@@ -1258,6 +1260,8 @@ signed_type (type)
return long_integer_type_node;
if (type1 == long_long_unsigned_type_node)
return long_long_integer_type_node;
+ if (type1 == unsigned_intTI_type_node)
+ return intTI_type_node;
if (type1 == unsigned_intDI_type_node)
return intDI_type_node;
if (type1 == unsigned_intSI_type_node)