mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-27 13:54:19 +08:00
tree.h (tree_to_shwi, [...]): Declare, with inline expansions.
gcc/ * tree.h (tree_to_shwi, tree_to_uhwi): Declare, with inline expansions. * tree.c (tree_to_shwi, tree_to_uhwi): New functions. From-SVN: r204958
This commit is contained in:
parent
5a36c51b09
commit
7c5efc1206
@ -1,3 +1,8 @@
|
|||||||
|
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
|
* tree.h (tree_to_shwi, tree_to_uhwi): Declare, with inline expansions.
|
||||||
|
* tree.c (tree_to_shwi, tree_to_uhwi): New functions.
|
||||||
|
|
||||||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
* expr.h: Update comments to refer to tree_fits_[su]hwi_p rather
|
* expr.h: Update comments to refer to tree_fits_[su]hwi_p rather
|
||||||
|
22
gcc/tree.c
22
gcc/tree.c
@ -7027,6 +7027,28 @@ tree_low_cst (const_tree t, int pos)
|
|||||||
return TREE_INT_CST_LOW (t);
|
return TREE_INT_CST_LOW (t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* T is an INTEGER_CST whose numerical value (extended according to
|
||||||
|
TYPE_UNSIGNED) fits in a signed HOST_WIDE_INT. Return that
|
||||||
|
HOST_WIDE_INT. */
|
||||||
|
|
||||||
|
HOST_WIDE_INT
|
||||||
|
tree_to_shwi (const_tree t)
|
||||||
|
{
|
||||||
|
gcc_assert (tree_fits_shwi_p (t));
|
||||||
|
return TREE_INT_CST_LOW (t);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* T is an INTEGER_CST whose numerical value (extended according to
|
||||||
|
TYPE_UNSIGNED) fits in an unsigned HOST_WIDE_INT. Return that
|
||||||
|
HOST_WIDE_INT. */
|
||||||
|
|
||||||
|
HOST_WIDE_INT
|
||||||
|
tree_to_uhwi (const_tree t)
|
||||||
|
{
|
||||||
|
gcc_assert (tree_fits_uhwi_p (t));
|
||||||
|
return TREE_INT_CST_LOW (t);
|
||||||
|
}
|
||||||
|
|
||||||
/* Return the most significant (sign) bit of T. */
|
/* Return the most significant (sign) bit of T. */
|
||||||
|
|
||||||
int
|
int
|
||||||
|
16
gcc/tree.h
16
gcc/tree.h
@ -3673,6 +3673,8 @@ extern bool tree_fits_uhwi_p (const_tree)
|
|||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
extern HOST_WIDE_INT tree_low_cst (const_tree, int);
|
extern HOST_WIDE_INT tree_low_cst (const_tree, int);
|
||||||
|
extern HOST_WIDE_INT tree_to_shwi (const_tree);
|
||||||
|
extern HOST_WIDE_INT tree_to_uhwi (const_tree);
|
||||||
#if !defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 4003)
|
#if !defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 4003)
|
||||||
extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
|
extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
|
||||||
tree_low_cst (const_tree t, int pos)
|
tree_low_cst (const_tree t, int pos)
|
||||||
@ -3680,6 +3682,20 @@ tree_low_cst (const_tree t, int pos)
|
|||||||
gcc_assert (host_integerp (t, pos));
|
gcc_assert (host_integerp (t, pos));
|
||||||
return TREE_INT_CST_LOW (t);
|
return TREE_INT_CST_LOW (t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
|
||||||
|
tree_to_shwi (const_tree t)
|
||||||
|
{
|
||||||
|
gcc_assert (tree_fits_shwi_p (t));
|
||||||
|
return TREE_INT_CST_LOW (t);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
|
||||||
|
tree_to_uhwi (const_tree t)
|
||||||
|
{
|
||||||
|
gcc_assert (tree_fits_uhwi_p (t));
|
||||||
|
return TREE_INT_CST_LOW (t);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
extern int tree_int_cst_sgn (const_tree);
|
extern int tree_int_cst_sgn (const_tree);
|
||||||
extern int tree_int_cst_sign_bit (const_tree);
|
extern int tree_int_cst_sign_bit (const_tree);
|
||||||
|
Loading…
Reference in New Issue
Block a user