Commit 652469d0 by Joseph Myers Committed by Joseph Myers

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
parent 74ff4629
2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk> 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. * decl2.c (warn_missing_format_attribute): New variable.
(lang_decode_option): Decode -Wmissing-format-attribute. (lang_decode_option): Decode -Wmissing-format-attribute.
......
...@@ -79,6 +79,10 @@ extern int (*valid_lang_attribute) PARAMS ((tree, tree, tree, tree)); ...@@ -79,6 +79,10 @@ extern int (*valid_lang_attribute) PARAMS ((tree, tree, tree, tree));
#define WCHAR_TYPE "int" #define WCHAR_TYPE "int"
#endif #endif
#ifndef WINT_TYPE
#define WINT_TYPE "unsigned int"
#endif
#ifndef INTMAX_TYPE #ifndef INTMAX_TYPE
#define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ #define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \
? "int" \ ? "int" \
...@@ -6385,6 +6389,7 @@ init_decl_processing () ...@@ -6385,6 +6389,7 @@ init_decl_processing ()
ptrdiff_type_node ptrdiff_type_node
= TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (PTRDIFF_TYPE))); = 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'. */ /* Define both `signed char' and `unsigned char'. */
record_builtin_type (RID_MAX, "signed char", signed_char_type_node); record_builtin_type (RID_MAX, "signed char", signed_char_type_node);
...@@ -6393,8 +6398,10 @@ init_decl_processing () ...@@ -6393,8 +6398,10 @@ init_decl_processing ()
/* `unsigned long' is the standard type for sizeof. /* `unsigned long' is the standard type for sizeof.
Note that stddef.h uses `unsigned long', Note that stddef.h uses `unsigned long',
and this must agree, even if long and int are the same size. */ and this must agree, even if long and int are the same size. */
set_sizetype c_size_type_node =
(TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (SIZE_TYPE)))); 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. */ /* Create the widest literal types. */
widest_integer_literal_type_node = make_signed_type (HOST_BITS_PER_WIDE_INT * 2); widest_integer_literal_type_node = make_signed_type (HOST_BITS_PER_WIDE_INT * 2);
...@@ -6554,6 +6561,9 @@ init_decl_processing () ...@@ -6554,6 +6561,9 @@ init_decl_processing ()
wchar_array_type_node wchar_array_type_node
= build_array_type (wchar_type_node, array_domain_type); = build_array_type (wchar_type_node, array_domain_type);
wint_type_node =
TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (WINT_TYPE)));
intmax_type_node = intmax_type_node =
TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (INTMAX_TYPE))); TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (INTMAX_TYPE)));
uintmax_type_node = uintmax_type_node =
......
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