summaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-24 19:57:11 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-24 19:57:11 +0000
commit271e739a45b40a1e32b4fb539092397ec4dbb146 (patch)
tree7fe9fe6dc2b2c5d5e7b8cfbcd41b88b7dce13e79 /gcc/tree.def
parent5de9d3edd3fb87520db0a0ecd247f64ed17d4a7e (diff)
downloadgcc-271e739a45b40a1e32b4fb539092397ec4dbb146.tar.gz
Make TREE_INT_CST_NUNITS have its original meaning and add
TREE_INT_CST_EXT_NUNITS for the extended length. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@204037 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def28
1 files changed, 18 insertions, 10 deletions
diff --git a/gcc/tree.def b/gcc/tree.def
index 5779e3bf8cf..0f9646af071 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -257,16 +257,24 @@ DEFTREECODE (LANG_TYPE, "lang_type", tcc_type, 0)
/* First, the constants. */
-/* Contents are in an array of HOST_WIDE_INTS. The array may be as
- wide as the precision requires but may be shorter when all of the
- upper bits are sign bits. The length of the array is given in
- TREE_INT_CST_NUNITS and each element can be obtained using
- TREE_INT_CST_ELT. INTEGER_CST nodes can be shared, and therefore
- should be considered read only. They should be copied, before
- setting a flag such as TREE_OVERFLOW. If an INTEGER_CST has
- TREE_OVERFLOW already set, it is known to be unique. INTEGER_CST
- nodes are created for the integral types, for pointer types and for
- vector and float types in some circumstances. */
+/* Contents are in an array of HOST_WIDE_INTs.
+
+ We often access these constants both in their native precision and
+ in wider precisions (with the constant being implicitly extended
+ according to TYPE_SIGN). In each case, the useful part of the array
+ may be as wide as the precision requires but may be shorter when all
+ of the upper bits are sign bits. The length of the array when accessed
+ in the constant's native precision is given by TREE_INT_CST_NUNITS.
+ The length of the array when accessed in wider precisions is given
+ by TREE_INT_CST_EXT_NUNITS. Each element can be obtained using
+ TREE_INT_CST_ELT.
+
+ INTEGER_CST nodes can be shared, and therefore should be considered
+ read only. They should be copied before setting a flag such as
+ TREE_OVERFLOW. If an INTEGER_CST has TREE_OVERFLOW already set,
+ it is known to be unique. INTEGER_CST nodes are created for the
+ integral types, for pointer types and for vector and float types in
+ some circumstances. */
DEFTREECODE (INTEGER_CST, "integer_cst", tcc_constant, 0)
/* Contents are in TREE_REAL_CST field. */