4.7.0-0.20

This commit is contained in:
Jakub Jelinek 2012-03-15 20:47:29 +01:00
parent 8b74069114
commit ceba2f7e86
7 changed files with 205 additions and 4 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@
/gcc-4.7.0-20120227.tar.bz2
/gcc-4.7.0-20120229.tar.bz2
/gcc-4.7.0-20120308.tar.bz2
/gcc-4.7.0-20120315.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20120308
%global SVNREV 185099
%global DATE 20120315
%global SVNREV 185441
%global gcc_version 4.7.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 0.19
%global gcc_release 0.20
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@ -174,6 +174,10 @@ Patch12: gcc47-libstdc++-docs.patch
Patch13: gcc47-no-add-needed.patch
Patch14: gcc47-ppl-0.10.patch
Patch15: gcc47-libitm-fno-exceptions.patch
Patch16: gcc47-pr52582.patch
Patch17: gcc47-smmintrin.patch
Patch18: gcc47-pr52577.patch
Patch19: gcc47-pr52521.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -675,6 +679,10 @@ package or when debugging this package.
%patch14 -p0 -b .ppl-0.10~
%endif
%patch15 -p0 -b .libitm-fno-exceptions~
%patch16 -p0 -b .pr52582~
%patch17 -p0 -b .smmintrin~
%patch18 -p0 -b .pr52577~
%patch19 -p0 -b .pr52521~
%if 0%{?_enable_debug_packages}
cat > split-debuginfo.sh <<\EOF
@ -2641,6 +2649,15 @@ fi
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
%changelog
* Thu Mar 15 2012 Jakub Jelinek <jakub@redhat.com> 4.7.0-0.20
- update from the 4.7 branch
- PRs fortran/52469, libitm/52526, libstdc++/52456, target/52450
- fix __builtin_ir{ound,int}{,f,l} expansion (#803689, PR middle-end/52592)
- fix up devirtualization (#802731, PR c++/52582)
- fix up user defined literal operator"" lookup (PR c++/52521)
- avoid false positive -Wunused-but-set-* warnings with __builtin_shuffle
(PR c/52577)
* Thu Mar 8 2012 Jakub Jelinek <jakub@redhat.com> 4.7.0-0.19
- update from trunk and the 4.7 branch
- PRs libstdc++/51785, middle-end/52419, middle-end/52443,

52
gcc47-pr52521.patch Normal file
View File

@ -0,0 +1,52 @@
2012-03-14 Jakub Jelinek <jakub@redhat.com>
PR c++/52521
* parser.c (lookup_literal_operator): Return fn only if
processed all arguments from args vector and argtypes is
void_list_node.
* g++.dg/cpp0x/udlit-args2.C: New test.
--- gcc/cp/parser.c (revision 185374)
+++ gcc/cp/parser.c (revision 185375)
@@ -1,6 +1,6 @@
/* C++ Parser.
Copyright (C) 2000, 2001, 2002, 2003, 2004,
- 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
@@ -3581,7 +3581,13 @@ lookup_literal_operator (tree name, VEC(
TREE_TYPE (tparm))))
found = false;
}
- if (found)
+ if (found
+ && ix == VEC_length (tree, args)
+ /* May be this should be sufficient_parms_p instead,
+ depending on how exactly should user-defined literals
+ work in presence of default arguments on the literal
+ operator parameters. */
+ && argtypes == void_list_node)
return fn;
}
}
--- gcc/testsuite/g++.dg/cpp0x/udlit-args2.C (revision 0)
+++ gcc/testsuite/g++.dg/cpp0x/udlit-args2.C (revision 185375)
@@ -0,0 +1,15 @@
+// PR c++/52521
+// { dg-do compile }
+// { dg-options -std=c++11 }
+
+#include <cstddef>
+
+int operator "" _a (const char *);
+int operator "" _a (const char *, std::size_t);
+int a = 123_a;
+int a2 = "abc"_a;
+
+int operator "" _b (const char *, std::size_t);
+int operator "" _b (const char *);
+int b = 123_b;
+int b2 = "abc"_b;

76
gcc47-pr52577.patch Normal file
View File

@ -0,0 +1,76 @@
2012-03-13 Jakub Jelinek <jakub@redhat.com>
PR c/52577
* c-parser.c (c_parser_postfix_expression)
<case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
* gcc.dg/Wunused-var-3.c: New test.
--- gcc/c-parser.c (revision 185354)
+++ gcc/c-parser.c (revision 185355)
@@ -1,7 +1,7 @@
/* Parser for C and Objective-C.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Parser actions based on the old Bison parser; structure somewhat
influenced by and fragments based on the C++ parser.
@@ -6647,6 +6647,8 @@ c_parser_postfix_expression (c_parser *p
case RID_BUILTIN_SHUFFLE:
{
VEC(c_expr_t,gc) *cexpr_list;
+ unsigned int i;
+ c_expr_t *p;
c_parser_consume_token (parser);
if (!c_parser_get_builtin_args (parser,
@@ -6657,6 +6659,9 @@ c_parser_postfix_expression (c_parser *p
break;
}
+ FOR_EACH_VEC_ELT (c_expr_t, cexpr_list, i, p)
+ mark_exp_read (p->value);
+
if (VEC_length (c_expr_t, cexpr_list) == 2)
expr.value =
c_build_vec_perm_expr
--- gcc/testsuite/gcc.dg/Wunused-var-3.c (revision 0)
+++ gcc/testsuite/gcc.dg/Wunused-var-3.c (revision 185355)
@@ -0,0 +1,34 @@
+/* PR c/52577 */
+/* { dg-do compile } */
+/* { dg-options "-Wunused" } */
+
+typedef int V __attribute__((vector_size (sizeof (int) * 4)));
+
+void
+f1 (V *p)
+{
+ V mask = { 1, 2, 3, 0 };
+ *p = __builtin_shuffle (*p, mask);
+}
+
+void
+f2 (V *p, V *q)
+{
+ V mask = { 1, 2, 3, 0 };
+ *p = __builtin_shuffle (*p, *q, mask);
+}
+
+void
+f3 (V *p, V *mask)
+{
+ V a = { 1, 2, 3, 0 };
+ *p = __builtin_shuffle (a, *mask);
+}
+
+void
+f4 (V *p, V *mask)
+{
+ V a = { 1, 2, 3, 0 };
+ V b = { 2, 3, 4, 1 };
+ *p = __builtin_shuffle (a, b, *mask);
+}

15
gcc47-pr52582.patch Normal file
View File

@ -0,0 +1,15 @@
2012-03-14 Jason Merrill <jason@redhat.com>
PR c++/52582
* method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
--- gcc/cp/method.c
+++ gcc/cp/method.c
@@ -1593,6 +1593,7 @@ implicitly_declare_fn (special_function_kind kind, tree type, bool const_p)
DECL_DELETED_FN (fn) = deleted_p;
DECL_DECLARED_CONSTEXPR_P (fn) = constexpr_p;
}
+ DECL_EXTERNAL (fn) = true;
DECL_NOT_REALLY_EXTERN (fn) = 1;
DECL_DECLARED_INLINE_P (fn) = 1;
gcc_assert (!TREE_USED (fn));

40
gcc47-smmintrin.patch Normal file
View File

@ -0,0 +1,40 @@
2012-03-13 Jakub Jelinek <jakub@redhat.com>
* config/i386/smmintrin.h: Avoid /* within a comment.
* config/i386/nmmintrin.h: Likewise.
--- gcc/config/i386/nmmintrin.h (revision 185351)
+++ gcc/config/i386/nmmintrin.h (revision 185352)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>.
+ <http://www.gnu.org/licenses/>. */
/* Implemented from the specification included in the Intel C++ Compiler
User Guide and Reference, version 10.0. */
--- gcc/config/i386/smmintrin.h (revision 185351)
+++ gcc/config/i386/smmintrin.h (revision 185352)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
@@ -19,8 +19,7 @@
You should have received a copy of the GNU General Public License and
a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>.
-
+ <http://www.gnu.org/licenses/>. */
/* Implemented from the specification included in the Intel C++ Compiler
User Guide and Reference, version 10.0. */

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
20a719d4e5cf0bbc54b0411bf4874693 gcc-4.7.0-20120308.tar.bz2
91d390bd5b26040979fc417025d42684 gcc-4.7.0-20120315.tar.bz2