aboutsummaryrefslogtreecommitdiff
path: root/gcc/double-int.h
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-05-20 00:09:57 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-05-20 00:09:57 +0400
commit1961ffb8cd83ccb0f91ce9b3015bb3290f48b04b (patch)
tree89268be053049f4ffb484bf22fb0818f0c2db8b7 /gcc/double-int.h
parent9908949ca643e02d6a07fef3742d50f389a80def (diff)
downloadgcc-1961ffb8cd83ccb0f91ce9b3015bb3290f48b04b.zip
gcc-1961ffb8cd83ccb0f91ce9b3015bb3290f48b04b.tar.gz
gcc-1961ffb8cd83ccb0f91ce9b3015bb3290f48b04b.tar.bz2
double-int.h (double_int_ior): New function.
* double-int.h (double_int_ior): New function. * tree.h (build_int_cst_wide_type): Remove. * tree.c (build_int_cst_wide_type): Remove. * fold-const.c (native_interpret_int): Use double_int_to_tree instead of build_int_cst_wide_type. * stor-layout.c (set_sizetype): (Ditto.). * dojump.c (do_jump): Use build_int_cstu instead of build_int_cst_wide_type. /java * jcf-parse.c (get_constant): Use double_int_to_tree instead of build_int_cst_wide_type. From-SVN: r159595
Diffstat (limited to 'gcc/double-int.h')
-rw-r--r--gcc/double-int.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/double-int.h b/gcc/double-int.h
index 65d25ef..370f619 100644
--- a/gcc/double-int.h
+++ b/gcc/double-int.h
@@ -126,6 +126,9 @@ double_int double_int_udivmod (double_int, double_int, unsigned, double_int *);
double_int double_int_setbit (double_int, unsigned);
/* Logical operations. */
+
+/* Returns ~A. */
+
static inline double_int
double_int_not (double_int a)
{
@@ -134,6 +137,16 @@ double_int_not (double_int a)
return a;
}
+/* Returns A | B. */
+
+static inline double_int
+double_int_ior (double_int a, double_int b)
+{
+ a.low |= b.low;
+ a.high |= b.high;
+ return a;
+}
+
/* Shift operations. */
double_int double_int_lshift (double_int, HOST_WIDE_INT, unsigned int, bool);
double_int double_int_rshift (double_int, HOST_WIDE_INT, unsigned int, bool);