aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1993-08-07 19:50:59 +0000
committerDoug Evans <dje@gnu.org>1993-08-07 19:50:59 +0000
commit6706083e3a79ed64998a1a040bb88a27438a53e9 (patch)
tree2b72ee757b345f5d0dacd597d451330abdfb84d4 /gcc
parent09acc9edc7ec7fec2fa4c845f9297d34259cd04d (diff)
downloadgcc-6706083e3a79ed64998a1a040bb88a27438a53e9.zip
gcc-6706083e3a79ed64998a1a040bb88a27438a53e9.tar.gz
gcc-6706083e3a79ed64998a1a040bb88a27438a53e9.tar.bz2
c-decl.c (init_decl_processing): Make long long available to | use for SIZE_TYPE and PTRDIFF_TYPE.
* c-decl.c (init_decl_processing): Make long long available to | use for SIZE_TYPE and PTRDIFF_TYPE. From-SVN: r5101
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-decl.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 65ff9f7..55983f2 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -2623,6 +2623,14 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, get_identifier ("long unsigned int"),
long_unsigned_type_node));
+ long_long_integer_type_node = make_signed_type (LONG_LONG_TYPE_SIZE);
+ pushdecl (build_decl (TYPE_DECL, get_identifier ("long long int"),
+ long_long_integer_type_node));
+
+ long_long_unsigned_type_node = make_unsigned_type (LONG_LONG_TYPE_SIZE);
+ pushdecl (build_decl (TYPE_DECL, get_identifier ("long long unsigned int"),
+ long_long_unsigned_type_node));
+
/* `unsigned long' is the standard type for sizeof.
Traditionally, use a signed type.
Note that stddef.h uses `unsigned long',
@@ -2640,6 +2648,8 @@ init_decl_processing ()
TREE_TYPE (TYPE_SIZE (unsigned_type_node)) = sizetype;
TREE_TYPE (TYPE_SIZE (long_unsigned_type_node)) = sizetype;
TREE_TYPE (TYPE_SIZE (long_integer_type_node)) = sizetype;
+ TREE_TYPE (TYPE_SIZE (long_long_integer_type_node)) = sizetype;
+ TREE_TYPE (TYPE_SIZE (long_long_unsigned_type_node)) = sizetype;
error_mark_node = make_node (ERROR_MARK);
TREE_TYPE (error_mark_node) = error_mark_node;
@@ -2648,18 +2658,10 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, get_identifier ("short int"),
short_integer_type_node));
- long_long_integer_type_node = make_signed_type (LONG_LONG_TYPE_SIZE);
- pushdecl (build_decl (TYPE_DECL, get_identifier ("long long int"),
- long_long_integer_type_node));
-
short_unsigned_type_node = make_unsigned_type (SHORT_TYPE_SIZE);
pushdecl (build_decl (TYPE_DECL, get_identifier ("short unsigned int"),
short_unsigned_type_node));
- long_long_unsigned_type_node = make_unsigned_type (LONG_LONG_TYPE_SIZE);
- pushdecl (build_decl (TYPE_DECL, get_identifier ("long long unsigned int"),
- long_long_unsigned_type_node));
-
/* Define both `signed char' and `unsigned char'. */
signed_char_type_node = make_signed_type (CHAR_TYPE_SIZE);
pushdecl (build_decl (TYPE_DECL, get_identifier ("signed char"),