[gcc] 4.8.0-0.15

Jakub Jelinek jakub at fedoraproject.org
Mon Mar 4 12:47:35 UTC 2013


commit 2bea4b26c1cc060c0ab0b5077863f6c97824cd2f
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Mon Mar 4 13:47:31 2013 +0100

    4.8.0-0.15

 .gitignore                |    1 +
 gcc.spec                  |   38 ++-
 gcc48-asan-speedup.patch  |  535 ---------------------------------------------
 gcc48-pr56258.patch       |   81 -------
 gcc48-pr56265.patch       |  132 -----------
 gcc48-pr56405.patch       |   36 ---
 gcc48-pr56424.patch       |   57 +++++
 gcc48-pr56509.patch       |   92 ++++++++
 gcc48-unused-locals.patch |  297 -------------------------
 sources                   |    2 +-
 10 files changed, 176 insertions(+), 1095 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7f5d205..590bfe1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,4 @@
 /gcc-4.8.0-20130213.tar.bz2
 /gcc-4.8.0-20130215.tar.bz2
 /gcc-4.8.0-20130220.tar.bz2
+/gcc-4.8.0-20130304.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index 8861297..2a71597 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20130220
-%global SVNREV 196173
+%global DATE 20130304
+%global SVNREV 196430
 %global gcc_version 4.8.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.14
+%global gcc_release 0.15
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -194,11 +194,8 @@ Patch10: gcc48-pr38757.patch
 Patch11: gcc48-libstdc++-docs.patch
 Patch12: gcc48-no-add-needed.patch
 Patch13: gcc48-pr55608.patch
-Patch14: gcc48-asan-speedup.patch
-Patch15: gcc48-pr56258.patch
-Patch16: gcc48-pr56405.patch
-Patch17: gcc48-unused-locals.patch
-Patch18: gcc48-pr56265.patch
+Patch14: gcc48-pr56424.patch
+Patch15: gcc48-pr56509.patch
 
 Patch1000: fastjar-0.97-segfault.patch
 Patch1001: fastjar-0.97-len1.patch
@@ -751,11 +748,8 @@ package or when debugging this package.
 %endif
 %patch12 -p0 -b .no-add-needed~
 %patch13 -p0 -b .pr55608~
-%patch14 -p0 -b .asan-speedup~
-%patch15 -p0 -b .pr56258~
-%patch16 -p0 -b .pr56405~
-%patch17 -p0 -b .unused-locals~
-%patch18 -p0 -b .pr56265~
+%patch14 -p0 -b .pr56424~
+%patch15 -p0 -b .pr56509~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2979,6 +2973,24 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Mon Mar  4 2013 Jakub Jelinek <jakub at redhat.com> 4.8.0-0.15
+- updated from trunk
+  - PRs c++/10291, c++/40405, c++/52688, c++/55632, c++/55813, c++/56243,
+	c++/56358, c++/56359, c++/56377, c++/56395, c++/56403, c++/56419,
+	c++/56438, c++/56481, fortran/54730, fortran/56385, fortran/56416,
+	fortran/56477, fortran/56491, libfortran/30162, libstdc++/56011,
+	libstdc++/56012, middle-end/45472, middle-end/56077,
+	middle-end/56108, middle-end/56420, middle-end/56461,
+	rtl-optimization/50339, rtl-optimization/56466, sanitizer/56393,
+	sanitizer/56454, target/48901, target/52500, target/52501,
+	target/52550, target/54639, target/54640, target/54662, target/56444,
+	target/56445, target/56455, testsuite/52641, tree-optimization/55481,
+	tree-optimization/56175, tree-optimization/56294,
+	tree-optimization/56310, tree-optimization/56415,
+	tree-optimization/56426, tree-optimization/56443,
+	tree-optimization/56448
+- fnsplit fix (PR tree-optimization/56424)
+
 * Wed Feb 20 2013 Jakub Jelinek <jakub at redhat.com> 4.8.0-0.14
 - updated from trunk
   - PRs asan/56330, c++/51242, c++/54276, c++/56373, libquadmath/56379,
diff --git a/gcc48-pr56424.patch b/gcc48-pr56424.patch
new file mode 100644
index 0000000..4d4aff5
--- /dev/null
+++ b/gcc48-pr56424.patch
@@ -0,0 +1,57 @@
+2013-03-04  Eric Botcazou  <ebotcazou at adacore.com>
+
+	PR tree-optimization/56424
+	* ipa-split.c (split_function): Do not set the RSO flag if result is
+	not by reference and its type is not a register type.
+
+	* gcc.dg/pr56424.c: New test.
+
+--- gcc/ipa-split.c	(revision 196253)
++++ gcc/ipa-split.c	(working copy)
+@@ -1309,7 +1309,9 @@ split_function (struct split_point *spli
+      so return slot optimization is always possible.  Moreover this is
+      required to make DECL_BY_REFERENCE work.  */
+   if (aggregate_value_p (DECL_RESULT (current_function_decl),
+-			 TREE_TYPE (current_function_decl)))
++			 TREE_TYPE (current_function_decl))
++      && (!is_gimple_reg_type (TREE_TYPE (DECL_RESULT (current_function_decl)))
++	  || DECL_BY_REFERENCE (DECL_RESULT (current_function_decl))))
+     gimple_call_set_return_slot_opt (call, true);
+ 
+   /* Update return value.  This is bit tricky.  When we do not return,
+--- gcc/testsuite/gcc.dg/pr56424.c	2013-02-13 21:50:57.150673158 +0100
++++ gcc/testsuite/gcc.dg/pr56424.c	2013-03-04 12:59:24.133888683 +0100
+@@ -0,0 +1,33 @@
++/* PR tree-optimization/56424 */
++
++/* { dg-do compile } */
++/* { dg-options "-O2 -fexceptions -fnon-call-exceptions" } */
++
++extern long double cosl (long double);
++extern long double sinl (long double);
++extern long double reml (long double, long double);
++
++long double my_cos (long double arg)
++{
++  return cosl (arg);
++}
++
++long double my_sin (long double arg)
++{
++  if (__builtin_fabs (arg) < 1.0)
++    return arg;
++
++  return sinl (arg);
++}
++
++long double my_cot (long double arg, long double cycle)
++{
++  long double t = reml (arg, cycle);
++  return my_cos (t) / my_sin (t);
++}
++
++long double my_tan (long double arg, long double cycle)
++{
++  long double t = reml (arg, cycle);
++  return my_sin (t) / my_cos (t);
++}
diff --git a/gcc48-pr56509.patch b/gcc48-pr56509.patch
new file mode 100644
index 0000000..7cf6839
--- /dev/null
+++ b/gcc48-pr56509.patch
@@ -0,0 +1,92 @@
+2013-03-04  Jakub Jelinek  <jakub at redhat.com>
+
+	PR bootstrap/56509
+	* opts.c (opts_obstack, opts_concat): Moved to...
+	* opts-common.c (opts_obstack, opts_concat): ... here.
+
+--- gcc/opts-common.c.jj	2013-02-27 08:27:26.000000000 +0100
++++ gcc/opts-common.c	2013-03-04 10:02:58.016096542 +0100
+@@ -692,6 +692,40 @@ decode_cmdline_option (const char **argv
+   return result;
+ }
+ 
++/* Obstack for option strings.  */
++
++struct obstack opts_obstack;
++
++/* Like libiberty concat, but allocate using opts_obstack.  */
++
++char *
++opts_concat (const char *first, ...)
++{
++  char *newstr, *end;
++  size_t length = 0;
++  const char *arg;
++  va_list ap;
++
++  /* First compute the size of the result and get sufficient memory.  */
++  va_start (ap, first);
++  for (arg = first; arg; arg = va_arg (ap, const char *))
++    length += strlen (arg);
++  newstr = XOBNEWVEC (&opts_obstack, char, length + 1);
++  va_end (ap);
++
++  /* Now copy the individual pieces to the result string. */
++  va_start (ap, first);
++  for (arg = first, end = newstr; arg; arg = va_arg (ap, const char *))
++    {
++      length = strlen (arg);
++      memcpy (end, arg, length);
++      end += length;
++    }
++  *end = '\0';
++  va_end (ap);
++  return newstr;
++}
++
+ /* Decode command-line options (ARGC and ARGV being the arguments of
+    main) into an array, setting *DECODED_OPTIONS to a pointer to that
+    array and *DECODED_OPTIONS_COUNT to the number of entries in the
+--- gcc/opts.c.jj	2013-02-27 08:27:26.000000000 +0100
++++ gcc/opts.c	2013-03-04 10:02:16.401346992 +0100
+@@ -268,40 +268,6 @@ add_comma_separated_to_vector (void **pv
+   *pvec = v;
+ }
+ 
+-/* Like libiberty concat, but allocate using opts_obstack.  */
+-
+-char *
+-opts_concat (const char *first, ...)
+-{
+-  char *newstr, *end;
+-  size_t length = 0;
+-  const char *arg;
+-  va_list ap;
+-
+-  /* First compute the size of the result and get sufficient memory.  */
+-  va_start (ap, first);
+-  for (arg = first; arg; arg = va_arg (ap, const char *))
+-    length += strlen (arg);
+-  newstr = XOBNEWVEC (&opts_obstack, char, length + 1);
+-  va_end (ap);
+-
+-  /* Now copy the individual pieces to the result string. */
+-  va_start (ap, first);
+-  for (arg = first, end = newstr; arg; arg = va_arg (ap, const char *))
+-    {
+-      length = strlen (arg);
+-      memcpy (end, arg, length);
+-      end += length;
+-    }
+-  *end = '\0';
+-  va_end (ap);
+-  return newstr;
+-}
+-
+-/* Obstack for option strings.  */
+-
+-struct obstack opts_obstack;
+-
+ /* Initialize OPTS and OPTS_SET before using them in parsing options.  */
+ 
+ void
diff --git a/sources b/sources
index 73225ef..dc64418 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
 be78a47bd82523250eb3e91646db5b3d  cloog-0.18.0.tar.gz
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-d18630509460934dfd7163a884b63ecd  gcc-4.8.0-20130220.tar.bz2
 bce1586384d8635a76d2f017fb067cd2  isl-0.11.1.tar.bz2
+4f89409558bba0856fbd26778fd49841  gcc-4.8.0-20130304.tar.bz2


More information about the scm-commits mailing list