Patchwork Fix 64-bit libjava breakage on Solaris 2/SPARC (PR middle-end/48819)

login
register
mail settings
Submitter Rainer Orth
Date April 29, 2011, 7:40 p.m.
Message ID <yddmxj8n8w3.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
Download mbox | patch
Permalink /patch/93473/
State New
Headers show

Comments

Rainer Orth - April 29, 2011, 7:40 p.m.
This patch fixes 350 64-bit libjava execution failures on Solaris
2/SPARC.  It was provided and approved by Richard in the PR.

Tested by rebuilding libjava with the patched jc1 on
sparc-sun-solaris2.11.  All testsuite failures are now gone.

Installed on mainline.

	Rainer


2011-04-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48819
	* constants.c (build_constants_constructor): Use ptr_type_node for
	temp.

Patch

Index: gcc/java/constants.c
===================================================================
--- gcc/java/constants.c	(revision 173182)
+++ gcc/java/constants.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* Handle the constant pool of the Java(TM) Virtual Machine.
    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-   2007, 2008, 2010  Free Software Foundation, Inc.
+   2007, 2008, 2010, 2011  Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -544,10 +544,7 @@ 
 	    temp <<= ((POINTER_SIZE > 32) ? POINTER_SIZE - 32 : 0);
 
           CONSTRUCTOR_PREPEND_VALUE (t, get_tag_node (outgoing_cpool->tags[i]));
-          CONSTRUCTOR_PREPEND_VALUE (d,
-                                     fold_convert (ptr_type_node, 
-                                                   (build_int_cst (NULL_TREE,
-                                                                   temp))));
+          CONSTRUCTOR_PREPEND_VALUE (d, build_int_cst (ptr_type_node, temp));
 	}
 	break;