From 57f97f54f5a4bbdd8fe03a908a05937e8ec43a8a Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 4 Mar 2009 15:23:21 +0000 Subject: [PATCH] 4.4.0-0.22 --- gcc.spec | 2 - gcc44-pr39175.patch | 133 -------------------------------------------- 2 files changed, 135 deletions(-) delete mode 100644 gcc44-pr39175.patch diff --git a/gcc.spec b/gcc.spec index f23f658..cacf788 100644 --- a/gcc.spec +++ b/gcc.spec @@ -143,7 +143,6 @@ Patch16: gcc44-libgomp-omp_h-multilib.patch Patch20: gcc44-libtool-no-rpath.patch Patch21: gcc44-cloog-dl.patch Patch22: gcc44-raw-string.patch -Patch23: gcc44-pr39175.patch Patch24: gcc44-atom.patch Patch25: gcc44-pr39226.patch Patch26: gcc44-pr39358.patch @@ -433,7 +432,6 @@ which are required to compile with the GNAT. %patch21 -p0 -b .cloog-dl~ %endif %patch22 -p0 -b .raw-string~ -%patch23 -p0 -b .pr39175~ %patch24 -p0 -b .atom~ %patch25 -p0 -b .pr39226~ %patch26 -p0 -b .pr39358~ diff --git a/gcc44-pr39175.patch b/gcc44-pr39175.patch deleted file mode 100644 index db3e2dc..0000000 --- a/gcc44-pr39175.patch +++ /dev/null @@ -1,133 +0,0 @@ -2009-02-13 Jakub Jelinek - - PR target/39175 - * c-common.c (c_determine_visibility): If visibility changed and - DECL_RTL has been already set, call make_decl_rtl to update symbol - flags. - - * decl2.c (determine_visibility): If visibility changed and - DECL_RTL has been already set, call make_decl_rtl to update symbol - flags. - - * gcc.dg/visibility-20.c: New test. - * g++.dg/ext/visibility/visibility-11.C: New test. - ---- gcc/c-common.c.jj 2009-02-09 23:07:06.000000000 +0100 -+++ gcc/c-common.c 2009-02-13 12:05:41.000000000 +0100 -@@ -1,6 +1,7 @@ - /* Subroutines shared by all languages that are variants of C. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -+ Free Software Foundation, Inc. - - This file is part of GCC. - -@@ -6249,8 +6250,18 @@ c_determine_visibility (tree decl) - visibility_specified depending on #pragma GCC visibility. */ - if (!DECL_VISIBILITY_SPECIFIED (decl)) - { -- DECL_VISIBILITY (decl) = default_visibility; -- DECL_VISIBILITY_SPECIFIED (decl) = visibility_options.inpragma; -+ if (visibility_options.inpragma -+ || DECL_VISIBILITY (decl) != default_visibility) -+ { -+ DECL_VISIBILITY (decl) = default_visibility; -+ DECL_VISIBILITY_SPECIFIED (decl) = visibility_options.inpragma; -+ /* If visibility changed and DECL already has DECL_RTL, ensure -+ symbol flags are updated. */ -+ if (((TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl)) -+ || TREE_CODE (decl) == FUNCTION_DECL) -+ && DECL_RTL_SET_P (decl)) -+ make_decl_rtl (decl); -+ } - } - return false; - } ---- gcc/cp/decl2.c.jj 2009-01-26 15:24:39.000000000 +0100 -+++ gcc/cp/decl2.c 2009-02-13 12:10:53.000000000 +0100 -@@ -1,6 +1,6 @@ - /* Process declarations and variables for C++ compiler. - Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 -+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 - Free Software Foundation, Inc. - Hacked by Michael Tiemann (tiemann@cygnus.com) - -@@ -1921,6 +1921,8 @@ determine_visibility (tree decl) - { - tree class_type = NULL_TREE; - bool use_template; -+ bool orig_visibility_specified; -+ enum symbol_visibility orig_visibility; - - /* Remember that all decls get VISIBILITY_DEFAULT when built. */ - -@@ -1933,6 +1935,9 @@ determine_visibility (tree decl) - maybe_clone_body. */ - gcc_assert (!DECL_CLONED_FUNCTION_P (decl)); - -+ orig_visibility_specified = DECL_VISIBILITY_SPECIFIED (decl); -+ orig_visibility = DECL_VISIBILITY (decl); -+ - if (TREE_CODE (decl) == TYPE_DECL) - { - if (CLASS_TYPE_P (TREE_TYPE (decl))) -@@ -2061,6 +2066,15 @@ determine_visibility (tree decl) - || ! DECL_VISIBILITY_SPECIFIED (decl)) - constrain_visibility (decl, tvis); - } -+ -+ /* If visibility changed and DECL already has DECL_RTL, ensure -+ symbol flags are updated. */ -+ if ((DECL_VISIBILITY (decl) != orig_visibility -+ || DECL_VISIBILITY_SPECIFIED (decl) != orig_visibility_specified) -+ && ((TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl)) -+ || TREE_CODE (decl) == FUNCTION_DECL) -+ && DECL_RTL_SET_P (decl)) -+ make_decl_rtl (decl); - } - - /* By default, static data members and function members receive ---- gcc/testsuite/gcc.dg/visibility-20.c.jj 2009-02-13 12:24:42.000000000 +0100 -+++ gcc/testsuite/gcc.dg/visibility-20.c 2009-02-13 12:27:00.000000000 +0100 -@@ -0,0 +1,18 @@ -+/* PR target/39175 */ -+/* { dg-do compile } */ -+/* { dg-require-visibility "" } */ -+/* { dg-options "-O2 -fvisibility=hidden -fpic" { target fpic } } */ -+ -+__attribute__((noinline)) int -+foo (int x) -+{ -+ return x; -+} -+ -+int foo (int x); -+ -+int -+bar (int x) -+{ -+ return foo (x); -+} ---- gcc/testsuite/g++.dg/ext/visibility/visibility-11.C.jj 2009-02-13 12:25:19.000000000 +0100 -+++ gcc/testsuite/g++.dg/ext/visibility/visibility-11.C 2009-02-13 12:27:09.000000000 +0100 -@@ -0,0 +1,18 @@ -+// PR target/39175 -+// { dg-do compile } -+// { dg-require-visibility "" } -+// { dg-options "-O2 -fvisibility=hidden -fpic" { target fpic } } -+ -+__attribute__((noinline)) int -+foo (int x) -+{ -+ return x; -+} -+ -+int foo (int x); -+ -+int -+bar (int x) -+{ -+ return foo (x); -+}