Commit 6706083e by Doug Evans

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
parent 09acc9ed
...@@ -2623,6 +2623,14 @@ init_decl_processing () ...@@ -2623,6 +2623,14 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, get_identifier ("long unsigned int"), pushdecl (build_decl (TYPE_DECL, get_identifier ("long unsigned int"),
long_unsigned_type_node)); 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. /* `unsigned long' is the standard type for sizeof.
Traditionally, use a signed type. Traditionally, use a signed type.
Note that stddef.h uses `unsigned long', Note that stddef.h uses `unsigned long',
...@@ -2640,6 +2648,8 @@ init_decl_processing () ...@@ -2640,6 +2648,8 @@ init_decl_processing ()
TREE_TYPE (TYPE_SIZE (unsigned_type_node)) = sizetype; TREE_TYPE (TYPE_SIZE (unsigned_type_node)) = sizetype;
TREE_TYPE (TYPE_SIZE (long_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_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); error_mark_node = make_node (ERROR_MARK);
TREE_TYPE (error_mark_node) = error_mark_node; TREE_TYPE (error_mark_node) = error_mark_node;
...@@ -2648,18 +2658,10 @@ init_decl_processing () ...@@ -2648,18 +2658,10 @@ init_decl_processing ()
pushdecl (build_decl (TYPE_DECL, get_identifier ("short int"), pushdecl (build_decl (TYPE_DECL, get_identifier ("short int"),
short_integer_type_node)); 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); short_unsigned_type_node = make_unsigned_type (SHORT_TYPE_SIZE);
pushdecl (build_decl (TYPE_DECL, get_identifier ("short unsigned int"), pushdecl (build_decl (TYPE_DECL, get_identifier ("short unsigned int"),
short_unsigned_type_node)); 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'. */ /* Define both `signed char' and `unsigned char'. */
signed_char_type_node = make_signed_type (CHAR_TYPE_SIZE); signed_char_type_node = make_signed_type (CHAR_TYPE_SIZE);
pushdecl (build_decl (TYPE_DECL, get_identifier ("signed char"), pushdecl (build_decl (TYPE_DECL, get_identifier ("signed char"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment