[gcc/f17] 4.7.0-0.20
Jakub Jelinek
jakub at fedoraproject.org
Thu Mar 15 19:47:33 UTC 2012
commit ceba2f7e86f79816dd16ddf998f28b5594b03492
Author: Jakub Jelinek <jakub at redhat.com>
Date: Thu Mar 15 20:47:29 2012 +0100
4.7.0-0.20
.gitignore | 1 +
gcc.spec | 23 +++++++++++++--
gcc47-pr52521.patch | 52 +++++++++++++++++++++++++++++++++
gcc47-pr52577.patch | 76 +++++++++++++++++++++++++++++++++++++++++++++++++
gcc47-pr52582.patch | 15 +++++++++
gcc47-smmintrin.patch | 40 +++++++++++++++++++++++++
sources | 2 +-
7 files changed, 205 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a030362..da22c53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/gcc.spec b/gcc.spec
index 19b98bb..bdc3b72 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -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 at 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 at redhat.com> 4.7.0-0.19
- update from trunk and the 4.7 branch
- PRs libstdc++/51785, middle-end/52419, middle-end/52443,
diff --git a/gcc47-pr52521.patch b/gcc47-pr52521.patch
new file mode 100644
index 0000000..3fb320a
--- /dev/null
+++ b/gcc47-pr52521.patch
@@ -0,0 +1,52 @@
+2012-03-14 Jakub Jelinek <jakub at 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 at 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;
diff --git a/gcc47-pr52577.patch b/gcc47-pr52577.patch
new file mode 100644
index 0000000..e1439b0
--- /dev/null
+++ b/gcc47-pr52577.patch
@@ -0,0 +1,76 @@
+2012-03-13 Jakub Jelinek <jakub at 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);
++}
diff --git a/gcc47-pr52582.patch b/gcc47-pr52582.patch
new file mode 100644
index 0000000..f457116
--- /dev/null
+++ b/gcc47-pr52582.patch
@@ -0,0 +1,15 @@
+2012-03-14 Jason Merrill <jason at 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));
diff --git a/gcc47-smmintrin.patch b/gcc47-smmintrin.patch
new file mode 100644
index 0000000..23bd605
--- /dev/null
+++ b/gcc47-smmintrin.patch
@@ -0,0 +1,40 @@
+2012-03-13 Jakub Jelinek <jakub at 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. */
diff --git a/sources b/sources
index 7ea34ac..487e405 100644
--- a/sources
+++ b/sources
@@ -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
More information about the scm-commits
mailing list