From f56bb064e43676c23bae9aa1f67408542b811708 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mar 30 2009 18:21:47 +0000 Subject: 4.4.0-0.31 --- diff --git a/.cvsignore b/.cvsignore index 74748a2..1c50f2e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ fastjar-0.97.tar.gz -gcc-4.4.0-20090328.tar.bz2 +gcc-4.4.0-20090330.tar.bz2 diff --git a/gcc.spec b/gcc.spec index e0644f4..40827e2 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%define DATE 20090328 -%define SVNREV 145167 +%define DATE 20090330 +%define SVNREV 145311 %define gcc_version 4.4.0 # Note, gcc_release must be integer, if you want to add suffixes to # %{release}, append them after %{gcc_release} on Release: line. -%define gcc_release 0.30 +%define gcc_release 0.31 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %define include_gappletviewer 1 @@ -152,10 +152,7 @@ Patch25: gcc44-pr39226.patch Patch26: gcc44-power7.patch Patch27: gcc44-power7-2.patch Patch28: gcc44-pr38757.patch -Patch29: gcc44-altivec-vector.patch Patch30: gcc44-pr39543.patch -Patch31: gcc44-pr39558.patch -Patch32: gcc44-pr39563.patch Patch1000: fastjar-0.97-segfault.patch @@ -445,10 +442,7 @@ which are required to compile with the GNAT. %patch26 -p0 -b .power7~ %patch27 -p0 -b .power7-2~ %patch28 -p0 -b .pr38757~ -%patch29 -p0 -b .altivec-vector~ %patch30 -p0 -b .pr39543~ -%patch31 -p0 -b .pr39558~ -%patch32 -p0 -b .pr39563~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -1759,6 +1753,12 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Mon Mar 30 2009 Jakub Jelinek 4.4.0-0.31 +- update from gcc-4_4-branch + - PR target/39545 + - fix Fortran bind(c) function using RESULT() (#492657) +- fix bogus warnings on strcmp/strncmp macros (#492846) + * Sat Mar 28 2009 Jakub Jelinek 4.4.0-0.30 - update from gcc-4_4-branch - PRs c++/39380, c++/28274, c++/29727, c++/35652, c++/36799, c++/37647, diff --git a/gcc44-altivec-vector.patch b/gcc44-altivec-vector.patch deleted file mode 100644 index 9657b09..0000000 --- a/gcc44-altivec-vector.patch +++ /dev/null @@ -1,51 +0,0 @@ -2009-03-27 Jakub Jelinek - - * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro - following vector keyword has expansion starting with pixel or bool - keyword, expand vector to __vector and pixel or bool to __pixel or - __bool. - - * gcc.target/powerpc/altivec-28.c: New test. - ---- gcc/config/rs6000/rs6000-c.c.jj 2008-10-23 13:21:36.000000000 +0200 -+++ gcc/config/rs6000/rs6000-c.c 2009-03-27 11:45:50.000000000 +0100 -@@ -188,7 +188,19 @@ rs6000_macro_to_expand (cpp_reader *pfil - tok = cpp_peek_token (pfile, idx++); - while (tok->type == CPP_PADDING); - ident = altivec_categorize_keyword (tok); -- if (ident) -+ if (ident == C_CPP_HASHNODE (__pixel_keyword)) -+ { -+ expand_this = C_CPP_HASHNODE (__vector_keyword); -+ expand_bool_pixel = __pixel_keyword; -+ rid_code = RID_MAX; -+ } -+ else if (ident == C_CPP_HASHNODE (__bool_keyword)) -+ { -+ expand_this = C_CPP_HASHNODE (__vector_keyword); -+ expand_bool_pixel = __bool_keyword; -+ rid_code = RID_MAX; -+ } -+ else if (ident) - rid_code = (enum rid)(ident->rid_code); - } - ---- gcc/testsuite/gcc.target/powerpc/altivec-28.c.jj 2009-03-27 11:47:23.000000000 +0100 -+++ gcc/testsuite/gcc.target/powerpc/altivec-28.c 2009-03-27 11:50:15.000000000 +0100 -@@ -0,0 +1,16 @@ -+/* { dg-do compile { target powerpc*-*-* } } */ -+/* { dg-require-effective-target powerpc_altivec_ok } */ -+/* { dg-options "-maltivec" } */ -+ -+#define B bool -+#define P pixel -+#define I int -+#define BI bool int -+#define PI pixel int -+ -+vector B int i; -+vector P int j; -+vector B I k; -+vector P I l; -+vector BI m; -+vector PI n; diff --git a/gcc44-pr39558.patch b/gcc44-pr39558.patch deleted file mode 100644 index 3a4699b..0000000 --- a/gcc44-pr39558.patch +++ /dev/null @@ -1,87 +0,0 @@ -2009-03-27 Jakub Jelinek - - PR target/39558 - * macro.c (cpp_get_token): If macro_to_expand returns NULL - and used some tokens, add CPP_PADDING before next token. - - * gcc.target/powerpc/altivec-29.c: New test. - ---- libcpp/macro.c.jj 2008-10-23 13:22:48.000000000 +0200 -+++ libcpp/macro.c 2009-03-27 18:47:43.000000000 +0100 -@@ -1,7 +1,7 @@ - /* Part of CPP library. (Macro and #define handling.) - Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998, -- 1999, 2000, 2001, 2002, 2003, 2004, 2005, -- 2006, 2007, 2008 Free Software Foundation, Inc. -+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 -+ Free Software Foundation, Inc. - Written by Per Bothner, 1994. - Based on CCCP program by Paul Rubin, June 1986 - Adapted to ANSI C, Richard Stallman, Jan 1987 -@@ -1260,10 +1260,36 @@ cpp_get_token (cpp_reader *pfile) - - /* Conditional macros require that a predicate be evaluated - first. */ -- if (((!(node->flags & NODE_CONDITIONAL)) -- || (pfile->cb.macro_to_expand -- && (node = pfile->cb.macro_to_expand (pfile, result)))) -- && (ret = enter_macro_context (pfile, node, result))) -+ if ((node->flags & NODE_CONDITIONAL) != 0) -+ { -+ if (pfile->cb.macro_to_expand) -+ { -+ bool whitespace_after; -+ const cpp_token *peek_tok = cpp_peek_token (pfile, 0); -+ -+ whitespace_after = (peek_tok->type == CPP_PADDING -+ || (peek_tok->flags & PREV_WHITE)); -+ node = pfile->cb.macro_to_expand (pfile, result); -+ if (node) -+ ret = enter_macro_context (pfile, node, result); -+ else if (whitespace_after) -+ { -+ /* If macro_to_expand hook returned NULL and it -+ ate some tokens, see if we don't need to add -+ a padding token in between this and the -+ next token. */ -+ peek_tok = cpp_peek_token (pfile, 0); -+ if (peek_tok->type != CPP_PADDING -+ && (peek_tok->flags & PREV_WHITE) == 0) -+ _cpp_push_token_context (pfile, NULL, -+ padding_token (pfile, -+ peek_tok), 1); -+ } -+ } -+ } -+ else -+ ret = enter_macro_context (pfile, node, result); -+ if (ret) - { - if (pfile->state.in_directive || ret == 2) - continue; ---- gcc/testsuite/gcc.target/powerpc/altivec-29.c.jj 2009-03-27 18:50:44.000000000 +0100 -+++ gcc/testsuite/gcc.target/powerpc/altivec-29.c 2009-03-27 18:51:16.000000000 +0100 -@@ -0,0 +1,23 @@ -+/* PR target/39558 */ -+/* { dg-do compile { target powerpc*-*-* } } */ -+/* { dg-require-effective-target powerpc_altivec_ok } */ -+/* { dg-options "-maltivec -save-temps" } */ -+ -+#define ATTRIBUTE_UNUSED __attribute__((unused)) -+ -+int *foo (int *vector) -+{ -+ return vector; -+} -+ -+int *bar (int *vector ATTRIBUTE_UNUSED) -+{ -+ return vector; -+} -+ -+int *baz (int *vector __attribute__((unused))) -+{ -+ return vector; -+} -+ -+/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc44-pr39563.patch b/gcc44-pr39563.patch deleted file mode 100644 index d878835..0000000 --- a/gcc44-pr39563.patch +++ /dev/null @@ -1,261 +0,0 @@ -2009-03-27 Jakub Jelinek - - PR debug/39563 - * c-decl.c (struct c_binding): Add locus field. - (bind): Add locus argument, set locus field from it. - (pop_scope): For b->nested VAR_DECL or FUNCTION_DECL, - add a DECL_EXTERNAL copy of b->decl to current BLOCK_VARS. - (push_file_scope, pushtag, pushdecl, pushdecl_top_level, - implicitly_declare, undeclared_variable, lookup_label, - declare_label, c_make_fname_decl, c_builtin_function, - c_builtin_function_ext_scope, store_parm_decls_newstyle): Adjust - bind callers. - ---- gcc/c-decl.c.jj 2009-03-02 16:22:17.000000000 +0100 -+++ gcc/c-decl.c 2009-03-27 20:14:08.000000000 +0100 -@@ -209,6 +209,7 @@ struct c_binding GTY((chain_next ("%h.pr - BOOL_BITFIELD nested : 1; /* do not set DECL_CONTEXT when popping */ - BOOL_BITFIELD inner_comp : 1; /* incomplete array completed in inner scope */ - /* one free bit */ -+ location_t locus; /* location for nested bindings */ - }; - #define B_IN_SCOPE(b1, b2) ((b1)->depth == (b2)->depth) - #define B_IN_CURRENT_SCOPE(b) ((b)->depth == current_scope->depth) -@@ -460,7 +461,8 @@ c_print_identifier (FILE *file, tree nod - which may be any of several kinds of DECL or TYPE or error_mark_node, - in the scope SCOPE. */ - static void --bind (tree name, tree decl, struct c_scope *scope, bool invisible, bool nested) -+bind (tree name, tree decl, struct c_scope *scope, bool invisible, -+ bool nested, location_t locus) - { - struct c_binding *b, **here; - -@@ -479,6 +481,7 @@ bind (tree name, tree decl, struct c_sco - b->invisible = invisible; - b->nested = nested; - b->inner_comp = 0; -+ b->locus = locus; - - b->type = 0; - -@@ -824,6 +827,26 @@ pop_scope (void) - TREE_CHAIN (p) = BLOCK_VARS (block); - BLOCK_VARS (block) = p; - } -+ else if (VAR_OR_FUNCTION_DECL_P (p)) -+ { -+ tree extp = copy_node (p); -+ -+ DECL_EXTERNAL (extp) = 1; -+ TREE_STATIC (extp) = 0; -+ TREE_PUBLIC (extp) = 1; -+ DECL_INITIAL (extp) = NULL_TREE; -+ DECL_LANG_SPECIFIC (extp) = NULL; -+ if (TREE_CODE (p) == FUNCTION_DECL) -+ { -+ DECL_RESULT (extp) = NULL_TREE; -+ DECL_SAVED_TREE (extp) = NULL_TREE; -+ DECL_STRUCT_FUNCTION (extp) = NULL; -+ } -+ if (b->locus != UNKNOWN_LOCATION) -+ DECL_SOURCE_LOCATION (extp) = b->locus; -+ TREE_CHAIN (extp) = BLOCK_VARS (block); -+ BLOCK_VARS (block) = extp; -+ } - /* If this is the file scope, and we are processing more - than one translation unit in this compilation, set - DECL_CONTEXT of each decl to the TRANSLATION_UNIT_DECL. -@@ -905,7 +928,7 @@ push_file_scope (void) - - for (decl = visible_builtins; decl; decl = TREE_CHAIN (decl)) - bind (DECL_NAME (decl), decl, file_scope, -- /*invisible=*/false, /*nested=*/true); -+ /*invisible=*/false, /*nested=*/true, DECL_SOURCE_LOCATION (decl)); - } - - void -@@ -951,7 +974,8 @@ pushtag (tree name, tree type) - /* Record the identifier as the type's name if it has none. */ - if (name && !TYPE_NAME (type)) - TYPE_NAME (type) = name; -- bind (name, type, current_scope, /*invisible=*/false, /*nested=*/false); -+ bind (name, type, current_scope, /*invisible=*/false, /*nested=*/false, -+ UNKNOWN_LOCATION); - - /* Create a fake NULL-named TYPE_DECL node whose TREE_TYPE will be the - tagged type we just added to the current scope. This fake -@@ -2051,6 +2075,7 @@ pushdecl (tree x) - struct c_scope *scope = current_scope; - struct c_binding *b; - bool nested = false; -+ location_t locus = DECL_SOURCE_LOCATION (x); - - /* Must set DECL_CONTEXT for everything not at file scope or - DECL_FILE_SCOPE_P won't work. Local externs don't count -@@ -2069,7 +2094,8 @@ pushdecl (tree x) - /* Anonymous decls are just inserted in the scope. */ - if (!name) - { -- bind (name, x, scope, /*invisible=*/false, /*nested=*/false); -+ bind (name, x, scope, /*invisible=*/false, /*nested=*/false, -+ locus); - return x; - } - -@@ -2229,7 +2255,8 @@ pushdecl (tree x) - = build_type_attribute_variant (thistype, - TYPE_ATTRIBUTES (b->type)); - TREE_TYPE (b->decl) = thistype; -- bind (name, b->decl, scope, /*invisible=*/false, /*nested=*/true); -+ bind (name, b->decl, scope, /*invisible=*/false, /*nested=*/true, -+ locus); - return b->decl; - } - else if (TREE_PUBLIC (x)) -@@ -2247,7 +2274,7 @@ pushdecl (tree x) - else - { - bind (name, x, external_scope, /*invisible=*/true, -- /*nested=*/false); -+ /*nested=*/false, locus); - nested = true; - } - } -@@ -2260,7 +2287,7 @@ pushdecl (tree x) - if (TREE_CODE (x) == TYPE_DECL) - clone_underlying_type (x); - -- bind (name, x, scope, /*invisible=*/false, nested); -+ bind (name, x, scope, /*invisible=*/false, nested, locus); - - /* If x's type is incomplete because it's based on a - structure or union which has not yet been fully declared, -@@ -2309,11 +2336,12 @@ pushdecl_top_level (tree x) - - if (TREE_PUBLIC (x)) - { -- bind (name, x, external_scope, /*invisible=*/true, /*nested=*/false); -+ bind (name, x, external_scope, /*invisible=*/true, /*nested=*/false, -+ UNKNOWN_LOCATION); - nested = true; - } - if (file_scope) -- bind (name, x, file_scope, /*invisible=*/false, nested); -+ bind (name, x, file_scope, /*invisible=*/false, nested, UNKNOWN_LOCATION); - - return x; - } -@@ -2368,7 +2396,8 @@ implicitly_declare (tree functionid) - if (!DECL_BUILT_IN (decl) && DECL_IS_BUILTIN (decl)) - { - bind (functionid, decl, file_scope, -- /*invisible=*/false, /*nested=*/true); -+ /*invisible=*/false, /*nested=*/true, -+ DECL_SOURCE_LOCATION (decl)); - return decl; - } - else -@@ -2409,7 +2438,8 @@ implicitly_declare (tree functionid) - b->type = TREE_TYPE (decl); - TREE_TYPE (decl) = newtype; - bind (functionid, decl, current_scope, -- /*invisible=*/false, /*nested=*/true); -+ /*invisible=*/false, /*nested=*/true, -+ DECL_SOURCE_LOCATION (decl)); - return decl; - } - } -@@ -2472,7 +2502,8 @@ undeclared_variable (tree id, location_t - will be nonnull but current_function_scope will be null. */ - scope = current_function_scope ? current_function_scope : current_scope; - } -- bind (id, error_mark_node, scope, /*invisible=*/false, /*nested=*/false); -+ bind (id, error_mark_node, scope, /*invisible=*/false, /*nested=*/false, -+ UNKNOWN_LOCATION); - } - - /* Subroutine of lookup_label, declare_label, define_label: construct a -@@ -2526,7 +2557,7 @@ lookup_label (tree name) - - /* Ordinary labels go in the current function scope. */ - bind (name, label, current_function_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - return label; - } - -@@ -2556,7 +2587,7 @@ declare_label (tree name) - - /* Declared labels go in the current scope. */ - bind (name, label, current_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - return label; - } - -@@ -2603,7 +2634,7 @@ define_label (location_t location, tree - - /* Ordinary labels go in the current function scope. */ - bind (name, label, current_function_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - } - - if (!in_system_header && lookup_name (name)) -@@ -2806,7 +2837,7 @@ c_make_fname_decl (tree id, int type_dep - { - DECL_CONTEXT (decl) = current_function_decl; - bind (id, decl, current_function_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - } - - finish_decl (decl, init, NULL_TREE); -@@ -2826,7 +2857,8 @@ c_builtin_function (tree decl) - /* Should never be called on a symbol with a preexisting meaning. */ - gcc_assert (!I_SYMBOL_BINDING (id)); - -- bind (id, decl, external_scope, /*invisible=*/true, /*nested=*/false); -+ bind (id, decl, external_scope, /*invisible=*/true, /*nested=*/false, -+ UNKNOWN_LOCATION); - - /* Builtins in the implementation namespace are made visible without - needing to be explicitly declared. See push_file_scope. */ -@@ -2851,7 +2883,8 @@ c_builtin_function_ext_scope (tree decl) - /* Should never be called on a symbol with a preexisting meaning. */ - gcc_assert (!I_SYMBOL_BINDING (id)); - -- bind (id, decl, external_scope, /*invisible=*/false, /*nested=*/false); -+ bind (id, decl, external_scope, /*invisible=*/false, /*nested=*/false, -+ UNKNOWN_LOCATION); - - /* Builtins in the implementation namespace are made visible without - needing to be explicitly declared. See push_file_scope. */ -@@ -6348,7 +6381,8 @@ store_parm_decls_newstyle (tree fndecl, - if (DECL_NAME (decl)) - { - bind (DECL_NAME (decl), decl, current_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, -+ UNKNOWN_LOCATION); - if (!TREE_USED (decl)) - warn_if_shadowing (decl); - } -@@ -6365,14 +6399,14 @@ store_parm_decls_newstyle (tree fndecl, - DECL_CONTEXT (decl) = current_function_decl; - if (DECL_NAME (decl)) - bind (DECL_NAME (decl), decl, current_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - } - - /* And all the tag declarations. */ - for (decl = arg_info->tags; decl; decl = TREE_CHAIN (decl)) - if (TREE_PURPOSE (decl)) - bind (TREE_PURPOSE (decl), TREE_VALUE (decl), current_scope, -- /*invisible=*/false, /*nested=*/false); -+ /*invisible=*/false, /*nested=*/false, UNKNOWN_LOCATION); - } - - /* Subroutine of store_parm_decls which handles old-style function diff --git a/sources b/sources index a472178..e907288 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -050cfc4dc9179309ab35b297219a573a gcc-4.4.0-20090328.tar.bz2 +1e5facb4545a0cc6d25a6e34174d6b93 gcc-4.4.0-20090330.tar.bz2