8.0.1-0.19
This commit is contained in:
parent
83dbb2847c
commit
1bfe0e3c3b
1
.gitignore
vendored
1
.gitignore
vendored
@ -41,3 +41,4 @@
|
||||
/gcc-8.0.1-20180222.tar.xz
|
||||
/gcc-8.0.1-20180310.tar.xz
|
||||
/gcc-8.0.1-20180312.tar.xz
|
||||
/gcc-8.0.1-20180317.tar.xz
|
||||
|
25
gcc.spec
25
gcc.spec
@ -1,10 +1,10 @@
|
||||
%global DATE 20180312
|
||||
%global SVNREV 258461
|
||||
%global DATE 20180317
|
||||
%global SVNREV 258622
|
||||
%global gcc_version 8.0.1
|
||||
%global gcc_major 8
|
||||
# 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.18
|
||||
%global gcc_release 0.19
|
||||
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
|
||||
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
@ -245,8 +245,6 @@ Patch9: gcc8-aarch64-async-unw-tables.patch
|
||||
Patch10: gcc8-foffload-default.patch
|
||||
Patch11: gcc8-Wno-format-security.patch
|
||||
Patch12: gcc8-rh1512529-aarch64.patch
|
||||
Patch13: gcc8-pr84786.patch
|
||||
Patch14: gcc8-pr84808.patch
|
||||
|
||||
Patch1000: nvptx-tools-no-ptxas.patch
|
||||
Patch1001: nvptx-tools-build.patch
|
||||
@ -806,8 +804,6 @@ to NVidia PTX capable devices if available.
|
||||
%patch10 -p0 -b .foffload-default~
|
||||
%patch11 -p0 -b .Wno-format-security~
|
||||
%patch12 -p0 -b .rh1512529-aarch64~
|
||||
%patch13 -p0 -b .pr84786~
|
||||
%patch14 -p0 -b .pr84808~
|
||||
|
||||
cd nvptx-tools-%{nvptx_tools_gitrev}
|
||||
%patch1000 -p1 -b .nvptx-tools-no-ptxas~
|
||||
@ -3068,6 +3064,21 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Mar 17 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.19
|
||||
- update from the trunk
|
||||
- PRs ada/82813, c++/79085, c++/79937, c++/80227, c++/81236, c++/82336,
|
||||
c++/82410, c++/82565, c++/83911, c++/83916, c++/83937, c++/84222,
|
||||
c++/84720, c++/84798, c++/84801, c++/84820, c++/84839, c++/84843,
|
||||
c++/84874, c++/84906, c/46921, c/84852, c/84853, c/84873, c/84909,
|
||||
c/84910, fortran/61775, fortran/69395, fortran/78741, ipa/84658,
|
||||
ipa/84722, ipa/8480, ipa/84833, libgfortran/84880, libstdc++/78420,
|
||||
libstdc++/83662, libstdc++/84773, lto/84805, middle-end/84831,
|
||||
middle-end/84834, sanitizer/83392, target/68256, target/78090,
|
||||
target/83451, target/84574, target/84711, target/84743, target/84827,
|
||||
target/84828, target/84844, target/84860, target/84876, target/84899,
|
||||
target/84902, tree-optimization/84725, tree-optimization/84830,
|
||||
tree-optimization/84841
|
||||
|
||||
* Mon Mar 12 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.18
|
||||
- update from the trunk
|
||||
- PRs c++/84355, c++/84802, c++/84813, debug/58150, fortran/83939,
|
||||
|
@ -1,76 +0,0 @@
|
||||
2018-03-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/84786
|
||||
* config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v
|
||||
on the last operand.
|
||||
|
||||
* gcc.target/i386/avx512f-pr84786-1.c: New test.
|
||||
* gcc.target/i386/avx512f-pr84786-2.c: New test.
|
||||
|
||||
--- gcc/config/i386/sse.md.jj 2018-03-05 17:00:24.568655800 +0100
|
||||
+++ gcc/config/i386/sse.md 2018-03-12 11:05:48.917401886 +0100
|
||||
@@ -9022,14 +9022,14 @@ (define_expand "sse2_loadhpd_exp"
|
||||
;; see comment above inline_secondary_memory_needed function in i386.c
|
||||
(define_insn "sse2_loadhpd"
|
||||
[(set (match_operand:V2DF 0 "nonimmediate_operand"
|
||||
- "=x,v,x,v,o,o ,o")
|
||||
+ "=x,v,x,v ,o,o ,o")
|
||||
(vec_concat:V2DF
|
||||
(vec_select:DF
|
||||
(match_operand:V2DF 1 "nonimmediate_operand"
|
||||
- " 0,v,0,v,0,0 ,0")
|
||||
+ " 0,v,0,v ,0,0 ,0")
|
||||
(parallel [(const_int 0)]))
|
||||
(match_operand:DF 2 "nonimmediate_operand"
|
||||
- " m,m,x,v,x,*f,r")))]
|
||||
+ " m,m,x,Yv,x,*f,r")))]
|
||||
"TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
|
||||
"@
|
||||
movhpd\t{%2, %0|%0, %2}
|
||||
--- gcc/testsuite/gcc.target/i386/avx512f-pr84786-1.c.jj 2018-03-12 11:32:33.563665173 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/avx512f-pr84786-1.c 2018-03-12 11:35:33.964695384 +0100
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* PR target/84786 */
|
||||
+/* { dg-do run { target { ! ia32 } } } */
|
||||
+/* { dg-options "-mavx512f -mno-avx512vl -O2" } */
|
||||
+/* { dg-require-effective-target avx512f } */
|
||||
+
|
||||
+#include "avx512f-check.h"
|
||||
+
|
||||
+typedef double V __attribute__((vector_size (16)));
|
||||
+
|
||||
+__attribute__((noipa)) V
|
||||
+foo (V x, double y)
|
||||
+{
|
||||
+ register double z __asm ("xmm18");
|
||||
+ asm volatile ("" : "=v" (z) : "0" (y));
|
||||
+ x[1] = z;
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+avx512f_test (void)
|
||||
+{
|
||||
+ V a = foo ((V) { 1.0, 2.0 }, 3.0);
|
||||
+ if (a[0] != 1.0 || a[1] != 3.0)
|
||||
+ abort ();
|
||||
+}
|
||||
--- gcc/testsuite/gcc.target/i386/avx512f-pr84786-2.c.jj 2018-03-12 11:32:43.445666826 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/avx512f-pr84786-2.c 2018-03-12 11:35:45.260697279 +0100
|
||||
@@ -0,0 +1,16 @@
|
||||
+/* PR target/84786 */
|
||||
+/* { dg-do compile { target { ! ia32 } } } */
|
||||
+/* { dg-options "-mavx512f -mno-avx512vl -O2" } */
|
||||
+
|
||||
+typedef double V __attribute__((vector_size (16)));
|
||||
+
|
||||
+__attribute__((noipa)) V
|
||||
+foo (V x, double y)
|
||||
+{
|
||||
+ register double z __asm ("xmm18");
|
||||
+ asm volatile ("" : "=v" (z) : "0" (y));
|
||||
+ x[1] = z;
|
||||
+ return x;
|
||||
+}
|
||||
+
|
||||
+/* { dg-final { scan-assembler-not "vunpcklpd\[\^\n\r]*xmm(1\[6-9]|\[23]\[0-9])" } } */
|
@ -1,82 +0,0 @@
|
||||
2018-03-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/84808
|
||||
* constexpr.c (find_array_ctor_elt): Don't use elt reference after
|
||||
first potential CONSTRUCTOR_ELTS reallocation. Convert dindex to
|
||||
sizetype. Formatting fixes.
|
||||
|
||||
* g++.dg/cpp1y/constexpr-84808.C: New test.
|
||||
|
||||
--- gcc/cp/constexpr.c.jj 2018-03-07 22:52:02.000000000 +0100
|
||||
+++ gcc/cp/constexpr.c 2018-03-12 12:39:46.890321137 +0100
|
||||
@@ -2194,9 +2194,9 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
that the same is true of the other elements and index directly. */
|
||||
if (end > 0)
|
||||
{
|
||||
- tree cindex = (*elts)[end-1].index;
|
||||
+ tree cindex = (*elts)[end - 1].index;
|
||||
if (TREE_CODE (cindex) == INTEGER_CST
|
||||
- && compare_tree_int (cindex, end-1) == 0)
|
||||
+ && compare_tree_int (cindex, end - 1) == 0)
|
||||
{
|
||||
if (i < end)
|
||||
return i;
|
||||
@@ -2225,6 +2225,8 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
constructor_elt e;
|
||||
tree lo = TREE_OPERAND (idx, 0);
|
||||
tree hi = TREE_OPERAND (idx, 1);
|
||||
+ tree value = elt.value;
|
||||
+ dindex = fold_convert (sizetype, dindex);
|
||||
if (tree_int_cst_lt (lo, dindex))
|
||||
{
|
||||
/* There are still some lower elts; shorten the range. */
|
||||
@@ -2238,7 +2240,7 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
/* Append the element we want to insert. */
|
||||
++middle;
|
||||
e.index = dindex;
|
||||
- e.value = unshare_constructor (elt.value);
|
||||
+ e.value = unshare_constructor (value);
|
||||
vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle, e);
|
||||
}
|
||||
else
|
||||
@@ -2254,8 +2256,8 @@ find_array_ctor_elt (tree ary, tree dind
|
||||
e.index = hi;
|
||||
else
|
||||
e.index = build2 (RANGE_EXPR, sizetype, new_lo, hi);
|
||||
- e.value = unshare_constructor (elt.value);
|
||||
- vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle+1, e);
|
||||
+ e.value = unshare_constructor (value);
|
||||
+ vec_safe_insert (CONSTRUCTOR_ELTS (ary), middle + 1, e);
|
||||
}
|
||||
}
|
||||
return middle;
|
||||
--- gcc/testsuite/g++.dg/cpp1y/constexpr-84808.C.jj 2018-03-12 12:45:29.472374837 +0100
|
||||
+++ gcc/testsuite/g++.dg/cpp1y/constexpr-84808.C 2018-03-12 12:46:11.742381465 +0100
|
||||
@@ -0,0 +1,27 @@
|
||||
+// PR c++/84808
|
||||
+// { dg-do compile { target c++14 } }
|
||||
+
|
||||
+struct A { int i; constexpr A () : i() {} };
|
||||
+struct B { A a[24]; };
|
||||
+
|
||||
+constexpr int
|
||||
+foo (int n)
|
||||
+{
|
||||
+ B b;
|
||||
+ ++b.a[n + 20].i;
|
||||
+ ++b.a[n + 18].i;
|
||||
+ ++b.a[n + 16].i;
|
||||
+ ++b.a[n + 14].i;
|
||||
+ ++b.a[n + 12].i;
|
||||
+ ++b.a[n + 10].i;
|
||||
+ ++b.a[n + 8].i;
|
||||
+ ++b.a[n + 6].i;
|
||||
+ ++b.a[n + 4].i;
|
||||
+ ++b.a[n + 2].i;
|
||||
+ ++b.a[n].i;
|
||||
+ return b.a[2].i + b.a[4].i + b.a[6].i + b.a[8].i + b.a[10].i
|
||||
+ + b.a[12].i + b.a[14].i + b.a[16].i + b.a[18].i + b.a[20].i + b.a[22].i;
|
||||
+}
|
||||
+
|
||||
+constexpr int i = foo (2);
|
||||
+static_assert (i == 11, "");
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (gcc-8.0.1-20180312.tar.xz) = 4d88974201d1894fa66c39aabd27f0657ce4d451c35df8ace7500c2ad1109da3147e770cb23e4121035ea6ec742a96bc4d6374836ddccac34cc1330fbc7b9345
|
||||
SHA512 (gcc-8.0.1-20180317.tar.xz) = 9104499d49c15003be7e18e5ceadb902b0d0751e005f5a43cf9a671d295998a9e0d6de344ecb80840ff4d2b8ceedbd52a448cc2782ed063fbd58aef12c8a0398
|
||||
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
|
||||
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1
|
||||
|
Loading…
Reference in New Issue
Block a user