summaryrefslogtreecommitdiff
path: root/gcc/java/jcf-parse.c
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/java/jcf-parse.c
parent9908949ca643e02d6a07fef3742d50f389a80def (diff)
downloadgcc-1961ffb8cd83ccb0f91ce9b3015bb3290f48b04b.tar.gz
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/java/jcf-parse.c')
-rw-r--r--gcc/java/jcf-parse.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index 2fe97bc6b46..4768c715489 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -1,6 +1,6 @@
/* Parser for Java(TM) .class files.
Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1040,14 +1040,15 @@ get_constant (JCF *jcf, int index)
}
case CONSTANT_Long:
{
- unsigned HOST_WIDE_INT num = JPOOL_UINT (jcf, index);
- unsigned HOST_WIDE_INT lo;
- HOST_WIDE_INT hi;
-
- lshift_double (num, 0, 32, 64, &lo, &hi, 0);
- num = JPOOL_UINT (jcf, index+1);
- add_double (lo, hi, num, 0, &lo, &hi);
- value = build_int_cst_wide_type (long_type_node, lo, hi);
+ unsigned HOST_WIDE_INT num;
+ double_int val;
+
+ num = JPOOL_UINT (jcf, index);
+ val = double_int_lshift (uhwi_to_double_int (num), 32, 64, false);
+ num = JPOOL_UINT (jcf, index + 1);
+ val = double_int_ior (val, uhwi_to_double_int (num));
+
+ value = double_int_to_tree (long_type_node, val);
break;
}