From 652469d0ab4d7fdf2fb72e4a4d8268275d2db1c0 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 17 Oct 2000 08:00:06 +0100 Subject: [PATCH] decl.c (WINT_TYPE): Define. * decl.c (WINT_TYPE): Define. (init_decl_processing): Create types unsigned_ptrdiff_type_node, c_size_type_node, signed_size_type_node and wint_type_node. From-SVN: r36898 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl.c | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b9c74aded94..1c61ab2393c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2000-10-17 Joseph S. Myers + + * decl.c (WINT_TYPE): Define. + (init_decl_processing): Create types unsigned_ptrdiff_type_node, + c_size_type_node, signed_size_type_node and wint_type_node. + 2000-10-17 Joseph S. Myers * decl2.c (warn_missing_format_attribute): New variable. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index ba99c3bd502..8e7443f09be 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -79,6 +79,10 @@ extern int (*valid_lang_attribute) PARAMS ((tree, tree, tree, tree)); #define WCHAR_TYPE "int" #endif +#ifndef WINT_TYPE +#define WINT_TYPE "unsigned int" +#endif + #ifndef INTMAX_TYPE #define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ ? "int" \ @@ -6385,6 +6389,7 @@ init_decl_processing () ptrdiff_type_node = TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (PTRDIFF_TYPE))); + unsigned_ptrdiff_type_node = unsigned_type (ptrdiff_type_node); /* Define both `signed char' and `unsigned char'. */ record_builtin_type (RID_MAX, "signed char", signed_char_type_node); @@ -6393,8 +6398,10 @@ init_decl_processing () /* `unsigned long' is the standard type for sizeof. Note that stddef.h uses `unsigned long', and this must agree, even if long and int are the same size. */ - set_sizetype - (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (SIZE_TYPE)))); + c_size_type_node = + TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (SIZE_TYPE))); + signed_size_type_node = signed_type (c_size_type_node); + set_sizetype (c_size_type_node); /* Create the widest literal types. */ widest_integer_literal_type_node = make_signed_type (HOST_BITS_PER_WIDE_INT * 2); @@ -6554,6 +6561,9 @@ init_decl_processing () wchar_array_type_node = build_array_type (wchar_type_node, array_domain_type); + wint_type_node = + TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (WINT_TYPE))); + intmax_type_node = TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (INTMAX_TYPE))); uintmax_type_node = -- 2.30.2