OSDN Git Service

* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2010 18:10:20 +0000 (18:10 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Aug 2010 18:10:20 +0000 (18:10 +0000)
ENABLE_TREE_CHECKING.
(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
and GCC >= 4.3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163313 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree.h

index 47aa331..a91099f 100644 (file)
@@ -1,3 +1,10 @@
+2010-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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.
+
 2010-08-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
index d16a475..4b0078a 100644 (file)
@@ -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);