diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-24 19:57:11 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-10-24 19:57:11 +0000 |
commit | 271e739a45b40a1e32b4fb539092397ec4dbb146 (patch) | |
tree | 7fe9fe6dc2b2c5d5e7b8cfbcd41b88b7dce13e79 /gcc/tree.def | |
parent | 5de9d3edd3fb87520db0a0ecd247f64ed17d4a7e (diff) | |
download | gcc-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.def | 28 |
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. */ |