This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: Fix Ada bootstrap on Tru64 Unix, OpenVMS/Alpha and Darwin 10/x64 (PR middle-end/42068)
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 Jan 2010 16:00:43 +0100
- Subject: PATCH: Fix Ada bootstrap on Tru64 Unix, OpenVMS/Alpha and Darwin 10/x64 (PR middle-end/42068)
Ada bootstrap has been broken on Tru64 UNIX, OpenVMS/Alpha and Darwin
10/x64 for almost 2 months, the offending patch identified, but the patch
author never responded to queries.
Thus I propose to revert the responsible parts of the offending patch,
as identified in the PR, to finally get us back to bootstrap land.
With this patch, a full bootstrap on alpha-dec-osf{4.0f,5.1b} succeeded
(testing still in progress).
Ok for mainline?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2010-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR middle-end/42068
Partially revert:
2009-11-12 Jan Hubicka <jh@suse.cz>
* ipa.c (function_and_variable_visibility): Fix my accidentail commit
and clear DECL_COMMON on localized declarations.
2009-11-12 Jan Hubicka <jh@suse.cz>
* ipa.c (function_and_variable_visibility): Dump externally visible
and needed variables.
Index: ipa.c
===================================================================
--- ipa.c (revision 155837)
+++ ipa.c (working copy)
@@ -1,6 +1,6 @@
/* Basic IPA optimizations and utilities.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
- Inc.
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -413,8 +413,8 @@
{
if (!vnode->finalized)
continue;
- gcc_assert ((!DECL_WEAK (vnode->decl) && !DECL_COMMON (vnode->decl))
- || TREE_PUBLIC (vnode->decl) || DECL_EXTERNAL (vnode->decl));
+ gcc_assert ((!DECL_WEAK (vnode->decl) || DECL_COMMON (vnode->decl))
+ || TREE_PUBLIC (vnode->decl) || DECL_EXTERNAL (node->decl));
if (vnode->needed
&& (DECL_COMDAT (vnode->decl) || TREE_PUBLIC (vnode->decl))
&& (!whole_program