aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2000-10-17 08:00:06 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2000-10-17 08:00:06 +0100
commit652469d0ab4d7fdf2fb72e4a4d8268275d2db1c0 (patch)
tree5c68b5ac8e40628ced4d113f5e849177158d9d78 /gcc
parent74ff46299b5d4b97dc736fc77fb3a2618c119e85 (diff)
downloadgcc-652469d0ab4d7fdf2fb72e4a4d8268275d2db1c0.zip
gcc-652469d0ab4d7fdf2fb72e4a4d8268275d2db1c0.tar.gz
gcc-652469d0ab4d7fdf2fb72e4a4d8268275d2db1c0.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl.c14
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b9c74ad..1c61ab2 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,11 @@
2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
+ * 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 <jsm28@cam.ac.uk>
+
* decl2.c (warn_missing_format_attribute): New variable.
(lang_decode_option): Decode -Wmissing-format-attribute.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index ba99c3b..8e7443f 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 =