[gcc] 4.9.0-14

Jakub Jelinek jakub at fedoraproject.org
Wed Jul 2 17:24:06 UTC 2014


commit 78557d4f6ef84499ed24a9afd7c30a092ff8949a
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Wed Jul 2 19:24:13 2014 +0200

    4.9.0-14

 .gitignore          |    1 +
 gcc.spec            |   20 ++++++++++++--
 gcc49-pr61673.patch |   72 +++++++++++++++++++++++++++++++++++++++++++++++++++
 sources             |    2 +-
 4 files changed, 91 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index feca4f8..0726ecc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@
 /gcc-4.9.0-20140617.tar.bz2
 /gcc-4.9.0-20140619.tar.bz2
 /gcc-4.9.0-20140625.tar.bz2
+/gcc-4.9.0-20140702.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index 4faa5f7..ec8964a 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20140625
-%global SVNREV 211976
+%global DATE 20140702
+%global SVNREV 212237
 %global gcc_version 4.9.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 13
+%global gcc_release 14
 %global _unpackaged_files_terminate_build 0
 %global _performance_build 1
 %global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
@@ -196,6 +196,7 @@ Patch12: gcc49-no-add-needed.patch
 Patch14: gcc49-pr56493.patch
 Patch15: gcc49-color-auto.patch
 Patch16: gcc49-libgo-p224.patch
+Patch17: gcc49-pr61673.patch
 
 Patch1100: cloog-%{cloog_version}-ppc64le-config.patch
 
@@ -722,6 +723,7 @@ package or when debugging this package.
 %endif
 %patch16 -p0 -b .libgo-p224~
 rm -f libgo/go/crypto/elliptic/p224{,_test}.go
+%patch17 -p0 -b .pr61673~
 
 %if 0%{?_enable_debug_packages}
 cat > split-debuginfo.sh <<\EOF
@@ -2782,6 +2784,18 @@ fi
 %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
 
 %changelog
+* Wed Jul  2 2014 Jakub Jelinek <jakub at redhat.com> 4.9.0-14
+- update from the 4.9 branch
+  - OpenMP 4.0 Fortran support
+  - PRs c++/51253, c++/58704, c++/58753, c++/58781, c++/58930, c++/59867,
+	c++/60249, c++/61242, c++/61382, c++/61433, c++/61488, c++/61500,
+	c++/61537, c++/61539, c++/61566, c++/61614, c++/61647, fortran/60127,
+	fortran/60928, libgfortran/61499, middle-end/57541, target/61503,
+	target/61542, target/61586, target/61633, tree-optimization/57233,
+	tree-optimization/61299, tree-optimization/61306
+- fix combiner on s390 (#1102324, PR rtl-optimization/61673)
+- small -fsanitize=undefined fixes from the trunk
+
 * Wed Jun 25 2014 Jakub Jelinek <jakub at redhat.com> 4.9.0-13
 - update from the 4.9 branch
   - PRs bootstrap/61583, c++/61556, ipa/61211, ipa/61540, libstdc++/61532,
diff --git a/gcc49-pr61673.patch b/gcc49-pr61673.patch
new file mode 100644
index 0000000..0b0c6f8
--- /dev/null
+++ b/gcc49-pr61673.patch
@@ -0,0 +1,72 @@
+2014-07-02  Jakub Jelinek  <jakub at redhat.com>
+
+	PR rtl-optimization/61673
+	* combine.c (simplify_comparison): Test just mode's sign bit
+	in tmode rather than the sign bit and any bits above it.
+
+	* gcc.c-torture/execute/pr61673.c: New test.
+
+--- gcc/combine.c.jj	2014-03-28 20:49:52.892077022 +0100
++++ gcc/combine.c	2014-07-02 16:56:02.260456040 +0200
+@@ -11987,7 +11987,7 @@ simplify_comparison (enum rtx_code code,
+ 		= (unsigned HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1);
+ 	      op0 = simplify_gen_binary (AND, tmode,
+ 					 gen_lowpart (tmode, op0),
+-					 gen_int_mode (sign, mode));
++					 gen_int_mode (sign, tmode));
+ 	      code = (code == LT) ? NE : EQ;
+ 	      break;
+ 	    }
+--- gcc/testsuite/gcc.c-torture/execute/pr61673.c.jj	2014-07-02 17:17:01.398908630 +0200
++++ gcc/testsuite/gcc.c-torture/execute/pr61673.c	2014-07-02 17:12:36.000000000 +0200
+@@ -0,0 +1,50 @@
++/* PR rtl-optimization/61673 */
++
++char e;
++
++__attribute__((noinline, noclone)) void
++bar (char x)
++{
++  if (x != 0x54 && x != (char) 0x87)
++    __builtin_abort ();
++}
++
++__attribute__((noinline, noclone)) void
++foo (const char *x)
++{
++  char d = x[0];
++  int c = d;
++  if ((c >= 0 && c <= 0x7f) == 0)
++    e = d;
++  bar (d);
++}
++
++__attribute__((noinline, noclone)) void
++baz (const char *x)
++{
++  char d = x[0];
++  int c = d;
++  if ((c >= 0 && c <= 0x7f) == 0)
++    e = d;
++}
++
++int
++main ()
++{
++  const char c[] = { 0x54, 0x87 };
++  e = 0x21;
++  foo (c);
++  if (e != 0x21)
++    __builtin_abort ();
++  foo (c + 1);
++  if (e != 0x87)
++    __builtin_abort ();
++  e = 0x21;
++  baz (c);
++  if (e != 0x21)
++    __builtin_abort ();
++  baz (c + 1);
++  if (e != 0x87)
++    __builtin_abort ();
++  return 0;
++}
diff --git a/sources b/sources
index b3c1059..3e2f0b6 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 e34fca0540d840e5d0f6427e98c92252  cloog-0.18.1.tar.gz
-6965fb0ff7730580d8a96774042fd16b  gcc-4.9.0-20140625.tar.bz2
+db6dd90b5d82617259afb3803b386479  gcc-4.9.0-20140702.tar.bz2
 e039bfcfb6c2ab039b8ee69bf883e824  isl-0.12.2.tar.bz2


More information about the scm-commits mailing list