aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-08-17 20:10:20 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-08-17 20:10:20 +0200
commita085a55ae20e806a5168191a0a2669661d6e2d23 (patch)
tree5e5fff5764b5dfc1f78d77426ebe72d4571a8edf /gcc/tree.h
parent47b914698dd6a773392a881fc5afc9b8929b324c (diff)
downloadgcc-a085a55ae20e806a5168191a0a2669661d6e2d23.zip
gcc-a085a55ae20e806a5168191a0a2669661d6e2d23.tar.gz
gcc-a085a55ae20e806a5168191a0a2669661d6e2d23.tar.bz2
tree.h (host_integerp): Add ATTRIBUTE_PURE when not ENABLE_TREE_CHECKING.
* tree.h (host_integerp): Add ATTRIBUTE_PURE when not ENABLE_TREE_CHECKING. (tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING and GCC >= 4.3. From-SVN: r163313
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index d16a475..4b0078a 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -4099,8 +4099,20 @@ extern int attribute_list_contained (const_tree, const_tree);
extern int tree_int_cst_equal (const_tree, const_tree);
extern int tree_int_cst_lt (const_tree, const_tree);
extern int tree_int_cst_compare (const_tree, const_tree);
-extern int host_integerp (const_tree, int);
+extern int host_integerp (const_tree, int)
+#ifndef ENABLE_TREE_CHECKING
+ ATTRIBUTE_PURE /* host_integerp is pure only when checking is disabled. */
+#endif
+ ;
extern HOST_WIDE_INT tree_low_cst (const_tree, int);
+#if !defined ENABLE_TREE_CHECKING && (GCC_VERSION >= 4003)
+extern inline __attribute__ ((__gnu_inline__)) HOST_WIDE_INT
+tree_low_cst (const_tree t, int pos)
+{
+ gcc_assert (host_integerp (t, pos));
+ return TREE_INT_CST_LOW (t);
+}
+#endif
extern int tree_int_cst_msb (const_tree);
extern int tree_int_cst_sgn (const_tree);
extern int tree_int_cst_sign_bit (const_tree);