4.9.0-14
This commit is contained in:
parent
3e2f90cd29
commit
78557d4f6e
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
20
gcc.spec
20
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@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@redhat.com> 4.9.0-13
|
||||
- update from the 4.9 branch
|
||||
- PRs bootstrap/61583, c++/61556, ipa/61211, ipa/61540, libstdc++/61532,
|
||||
|
72
gcc49-pr61673.patch
Normal file
72
gcc49-pr61673.patch
Normal file
@ -0,0 +1,72 @@
|
||||
2014-07-02 Jakub Jelinek <jakub@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;
|
||||
+}
|
Loading…
Reference in New Issue
Block a user