summaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-03 03:41:47 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-03 03:41:47 +0000
commite026e5761e5326b6b22b30a1e5391836451f9254 (patch)
treeaa56cac1935a048daf6a597712da5bbee56347e1 /gcc/tree.c
parent4304657c8c0576eedc28f600ca02f344a96f5b98 (diff)
downloadgcc-e026e5761e5326b6b22b30a1e5391836451f9254.tar.gz
* tree.h (TYPE_STRING_FLAG): Document that this field may be used
on INTEGER_TYPEs to indicate that it denotes a character type. * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on signed_char_type_node, unsigned_char_type_node and char_type_node. * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110536 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 456b3e1d2d5..9e912dfbf0e 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -6342,7 +6342,9 @@ build_common_tree_nodes (bool signed_char, bool signed_sizetype)
/* Define both `signed char' and `unsigned char'. */
signed_char_type_node = make_signed_type (CHAR_TYPE_SIZE);
+ TYPE_STRING_FLAG (signed_char_type_node) = 1;
unsigned_char_type_node = make_unsigned_type (CHAR_TYPE_SIZE);
+ TYPE_STRING_FLAG (unsigned_char_type_node) = 1;
/* Define `char', which is like either `signed char' or `unsigned char'
but not the same as either. */
@@ -6350,6 +6352,7 @@ build_common_tree_nodes (bool signed_char, bool signed_sizetype)
= (signed_char
? make_signed_type (CHAR_TYPE_SIZE)
: make_unsigned_type (CHAR_TYPE_SIZE));
+ TYPE_STRING_FLAG (char_type_node) = 1;
short_integer_type_node = make_signed_type (SHORT_TYPE_SIZE);
short_unsigned_type_node = make_unsigned_type (SHORT_TYPE_SIZE);