6.0.0-0.8
This commit is contained in:
parent
314efdbb41
commit
4be70d1ef3
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/gcc-6.0.0-20160127.tar.bz2
|
||||
/gcc-6.0.0-20160128.tar.bz2
|
||||
/gcc-6.0.0-20160129.tar.bz2
|
||||
/gcc-6.0.0-20160201.tar.bz2
|
||||
|
19
gcc.spec
19
gcc.spec
@ -1,9 +1,9 @@
|
||||
%global DATE 20160129
|
||||
%global SVNREV 232999
|
||||
%global DATE 20160201
|
||||
%global SVNREV 233038
|
||||
%global gcc_version 6.0.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.7
|
||||
%global gcc_release 0.8
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
%global _performance_build 1
|
||||
# Hardening slows the compiler way too much.
|
||||
@ -206,8 +206,7 @@ Patch10: gcc6-no-add-needed.patch
|
||||
Patch11: gcc6-libgo-p224.patch
|
||||
Patch12: gcc6-aarch64-async-unw-tables.patch
|
||||
Patch13: gcc6-libsanitize-aarch64-va42.patch
|
||||
Patch14: gcc6-pr69546.patch
|
||||
Patch15: gcc6-pr69558.patch
|
||||
Patch14: gcc6-pr69558.patch
|
||||
|
||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||
# target triple.
|
||||
@ -774,8 +773,7 @@ package or when debugging this package.
|
||||
rm -f libgo/go/crypto/elliptic/p224{,_test}.go
|
||||
%patch12 -p0 -b .aarch64-async-unw-tables~
|
||||
%patch13 -p0 -b .libsanitize-aarch64-va42~
|
||||
%patch14 -p0 -b .pr69546~
|
||||
%patch15 -p0 -b .pr69558~
|
||||
%patch14 -p0 -b .pr69558~
|
||||
|
||||
%if 0%{?_enable_debug_packages}
|
||||
mkdir dwz-wrapper
|
||||
@ -3068,6 +3066,13 @@ fi
|
||||
%doc rpm.doc/changelogs/libcc1/ChangeLog*
|
||||
|
||||
%changelog
|
||||
* Mon Feb 1 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.8
|
||||
- update from the trunk
|
||||
- PRs c++/68490, c++/68763, c++/69009, debug/68244, fortran/66707,
|
||||
fortran/67564, fortran/69566, libstdc++/69581, rtl-opt/69535,
|
||||
rtl-optimization/69570, target/65546, target/68741, testsuite/69584,
|
||||
tree-optimization/69579
|
||||
|
||||
* Fri Jan 29 2016 Jakub Jelinek <jakub@redhat.com> 6.0.0-0.7
|
||||
- update from the trunk
|
||||
- PRs c++/69462, c++/69509, c++/69516, debug/69518, libstdc++/69506,
|
||||
|
@ -1,69 +0,0 @@
|
||||
2016-01-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/69546
|
||||
* wide-int.cc (wi::divmod_internal): For unsigned division
|
||||
where both operands fit into uhwi, if o1 is 1 and o0 has
|
||||
msb set, if divident_prec is larger than bits per hwi,
|
||||
clear another quotient word and return 2 instead of 1.
|
||||
|
||||
* gcc.dg/torture/pr69546.c: New test.
|
||||
|
||||
--- gcc/wide-int.cc.jj 2016-01-26 11:46:39.000000000 +0100
|
||||
+++ gcc/wide-int.cc 2016-01-29 11:59:33.348852003 +0100
|
||||
@@ -1788,15 +1788,25 @@ wi::divmod_internal (HOST_WIDE_INT *quot
|
||||
{
|
||||
unsigned HOST_WIDE_INT o0 = dividend.to_uhwi ();
|
||||
unsigned HOST_WIDE_INT o1 = divisor.to_uhwi ();
|
||||
+ unsigned int quotient_len = 1;
|
||||
|
||||
if (quotient)
|
||||
- quotient[0] = o0 / o1;
|
||||
+ {
|
||||
+ quotient[0] = o0 / o1;
|
||||
+ if (o1 == 1
|
||||
+ && (HOST_WIDE_INT) o0 < 0
|
||||
+ && dividend_prec > HOST_BITS_PER_WIDE_INT)
|
||||
+ {
|
||||
+ quotient[1] = 0;
|
||||
+ quotient_len = 2;
|
||||
+ }
|
||||
+ }
|
||||
if (remainder)
|
||||
{
|
||||
remainder[0] = o0 % o1;
|
||||
*remainder_len = 1;
|
||||
}
|
||||
- return 1;
|
||||
+ return quotient_len;
|
||||
}
|
||||
|
||||
/* Make the divisor and dividend positive and remember what we
|
||||
--- gcc/testsuite/gcc.dg/torture/pr69546.c.jj 2016-01-29 12:06:03.148516651 +0100
|
||||
+++ gcc/testsuite/gcc.dg/torture/pr69546.c 2016-01-29 12:08:17.847672967 +0100
|
||||
@@ -0,0 +1,26 @@
|
||||
+/* PR tree-optimization/69546 */
|
||||
+/* { dg-do run { target int128 } } */
|
||||
+
|
||||
+unsigned __int128 __attribute__ ((noinline, noclone))
|
||||
+foo (unsigned long long x)
|
||||
+{
|
||||
+ unsigned __int128 y = ~0ULL;
|
||||
+ x >>= 63;
|
||||
+ return y / (x | 1);
|
||||
+}
|
||||
+
|
||||
+unsigned __int128 __attribute__ ((noinline, noclone))
|
||||
+bar (unsigned long long x)
|
||||
+{
|
||||
+ unsigned __int128 y = ~33ULL;
|
||||
+ x >>= 63;
|
||||
+ return y / (x | 1);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ if (foo (1) != ~0ULL || bar (17) != ~33ULL)
|
||||
+ __builtin_abort ();
|
||||
+ return 0;
|
||||
+}
|
Loading…
Reference in New Issue
Block a user