From 7adee03fa58d3f7a44c6da67eadd0dc5d029c173 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 14 Apr 2009 17:54:34 +0000 Subject: [PATCH] 4.4.0-0.34 --- gcc.spec | 3 ++ gcc44-power7.patch | 8 ------ gcc44-pr39763.patch | 68 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 8 deletions(-) create mode 100644 gcc44-pr39763.patch diff --git a/gcc.spec b/gcc.spec index 1ba2254..1f9990a 100644 --- a/gcc.spec +++ b/gcc.spec @@ -150,6 +150,7 @@ Patch24: gcc44-atom.patch Patch26: gcc44-power7.patch Patch28: gcc44-pr38757.patch Patch30: gcc44-pr39543.patch +Patch31: gcc44-pr39763.patch Patch1000: fastjar-0.97-segfault.patch @@ -438,6 +439,7 @@ which are required to compile with the GNAT. %patch26 -p0 -b .power7~ %patch28 -p0 -b .pr38757~ #%patch30 -p0 -b .pr39543~ +%patch31 -p0 -b .pr39763~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -1755,6 +1757,7 @@ fi lib* files - PRs c++/28301, c++/39480, c++/39742, c++/39750, c/39613, c/39614, c/39673, libobjc/36610, target/39740, testsuite/35621, tree-optimization/39713 +- fix another -Wshadow C++ issue (PR c++/39763) * Thu Apr 9 2009 Jakub Jelinek 4.4.0-0.32 - update from gcc-4_4-branch diff --git a/gcc44-power7.patch b/gcc44-power7.patch index 3345ed3..e4078de 100644 --- a/gcc44-power7.patch +++ b/gcc44-power7.patch @@ -8447,14 +8447,6 @@ + [(set_attr "type" "vecperm")]) --- gcc/config/rs6000/rs6000.h (.../trunk) (revision 145777) +++ gcc/config/rs6000/rs6000.h (.../branches/ibm/power7-meissner) (revision 146027) -@@ -1,6 +1,6 @@ - /* Definitions of target machine for GNU compiler, for IBM RS/6000. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 - Free Software Foundation, Inc. - Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - @@ -72,14 +72,16 @@ #define ASM_CPU_POWER6_SPEC "-mpower4 -maltivec" #endif diff --git a/gcc44-pr39763.patch b/gcc44-pr39763.patch new file mode 100644 index 0000000..44f3bb4 --- /dev/null +++ b/gcc44-pr39763.patch @@ -0,0 +1,68 @@ +2009-04-14 Jason Merrill + + PR c++/39763 + * name-lookup.c (pushdecl_maybe_friend): Avoid all warnings + about shadowing by tentative parms. + + * g++.dg/warn/Wshadow-4.C: Extend. + +--- gcc/cp/name-lookup.c (revision 146053) ++++ gcc/cp/name-lookup.c (revision 146054) +@@ -1002,13 +1002,18 @@ pushdecl_maybe_friend (tree x, bool is_f + && TREE_PUBLIC (x)) + TREE_PUBLIC (name) = 1; + ++ /* Don't complain about the parms we push and then pop ++ while tentatively parsing a function declarator. */ ++ if (TREE_CODE (x) == PARM_DECL && DECL_CONTEXT (x) == NULL_TREE) ++ /* Ignore. */; ++ + /* Warn if shadowing an argument at the top level of the body. */ +- if (oldlocal != NULL_TREE && !DECL_EXTERNAL (x) +- /* Inline decls shadow nothing. */ +- && !DECL_FROM_INLINE (x) +- && TREE_CODE (oldlocal) == PARM_DECL +- /* Don't check the `this' parameter. */ +- && !DECL_ARTIFICIAL (oldlocal)) ++ else if (oldlocal != NULL_TREE && !DECL_EXTERNAL (x) ++ /* Inline decls shadow nothing. */ ++ && !DECL_FROM_INLINE (x) ++ && TREE_CODE (oldlocal) == PARM_DECL ++ /* Don't check the `this' parameter. */ ++ && !DECL_ARTIFICIAL (oldlocal)) + { + bool err = false; + +@@ -1032,10 +1037,7 @@ pushdecl_maybe_friend (tree x, bool is_f + } + } + +- if (warn_shadow && !err +- /* Don't complain about the parms we push and then pop +- while tentatively parsing a function declarator. */ +- && !(TREE_CODE (x) == PARM_DECL && DECL_CONTEXT (x) == NULL_TREE)) ++ if (warn_shadow && !err) + { + warning (OPT_Wshadow, "declaration of %q#D shadows a parameter", x); + warning (OPT_Wshadow, "%Jshadowed declaration is here", oldlocal); +--- gcc/testsuite/g++.dg/warn/Wshadow-4.C (revision 146053) ++++ gcc/testsuite/g++.dg/warn/Wshadow-4.C (revision 146054) +@@ -18,3 +18,15 @@ int foo(int infoo) // { dg-warning "sha + }; + return outfoo; + } ++ ++// PR c++/39763 ++int foo2(void) ++{ ++ int infoo = 0; // { dg-warning "shadowed declaration" } ++ int outfoo( INetURLObject( infoo ).GetMainURL()); // { dg-bogus "shadows" } ++ struct A ++ { ++ void f(int infoo) { } // { dg-warning "shadows a previous local" } ++ }; ++ return outfoo; ++} + 2009-04-13 Jason Merrill + + PR c++/39480