diff --git a/.gitignore b/.gitignore index dea2692..b11fa57 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/gcc.spec b/gcc.spec index 34f6465..1f07d22 100644 --- a/gcc.spec +++ b/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 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 6.0.0-0.7 - update from the trunk - PRs c++/69462, c++/69509, c++/69516, debug/69518, libstdc++/69506, diff --git a/gcc6-pr69546.patch b/gcc6-pr69546.patch deleted file mode 100644 index 7a00971..0000000 --- a/gcc6-pr69546.patch +++ /dev/null @@ -1,69 +0,0 @@ -2016-01-29 Jakub Jelinek - - 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; -+} diff --git a/sources b/sources index 05b1aba..369ae56 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e5c10abeb36d1e8659e83f9c6d208249 gcc-6.0.0-20160129.tar.bz2 +c03845599ed8e2fa3d7db3995d7029b6 gcc-6.0.0-20160201.tar.bz2