import gcc-8.4.1-1.el8
This commit is contained in:
parent
d5461de1f4
commit
784208a1dc
@ -1,3 +1,3 @@
|
|||||||
e83739fffae5c3bbb1784cadb72ead8384de74e0 SOURCES/gcc-8.3.1-20191121.tar.xz
|
6d0269f5a6a1907dfb48cb6d8b64538bde7f1f6d SOURCES/gcc-8.4.1-20200928.tar.xz
|
||||||
3bdb3cc01fa7690a0e20ea5cfffcbe690f7665eb SOURCES/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz
|
3bdb3cc01fa7690a0e20ea5cfffcbe690f7665eb SOURCES/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz
|
||||||
ce8eb83be0ac37fb5d5388df455a980fe37b4f13 SOURCES/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz
|
ce8eb83be0ac37fb5d5388df455a980fe37b4f13 SOURCES/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
SOURCES/gcc-8.3.1-20191121.tar.xz
|
SOURCES/gcc-8.4.1-20200928.tar.xz
|
||||||
SOURCES/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz
|
SOURCES/nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz
|
||||||
SOURCES/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz
|
SOURCES/nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
||||||
</a>
|
</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
+ Release 8.3.1
|
+ Release 8.4.1
|
||||||
+ </p><p>
|
+ </p><p>
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU Free Documentation
|
document under the terms of the GNU Free Documentation
|
||||||
@ -17,7 +17,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
- The API documentation, rendered into HTML, can be viewed online
|
- The API documentation, rendered into HTML, can be viewed online
|
||||||
+ The API documentation, rendered into HTML, can be viewed locally
|
+ The API documentation, rendered into HTML, can be viewed locally
|
||||||
+ <a class="link" href="api/index.html" target="_top">for the 8.3.1 release</a>,
|
+ <a class="link" href="api/index.html" target="_top">for the 8.4.1 release</a>,
|
||||||
+ online
|
+ online
|
||||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
||||||
and
|
and
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
2018-12-06 Alexandre Oliva <aoliva@redhat.com>
|
|
||||||
|
|
||||||
PR c++/86747
|
|
||||||
* pt.c (tsubst_friend_class): Enter tsubsted class context.
|
|
||||||
|
|
||||||
--- gcc/cp/pt.c
|
|
||||||
+++ gcc/cp/pt.c
|
|
||||||
@@ -10558,7 +10558,10 @@ tsubst_friend_class (tree friend_tmpl, tree args)
|
|
||||||
if (TREE_CODE (context) == NAMESPACE_DECL)
|
|
||||||
push_nested_namespace (context);
|
|
||||||
else
|
|
||||||
- push_nested_class (context);
|
|
||||||
+ {
|
|
||||||
+ context = tsubst (context, args, tf_error, NULL_TREE);
|
|
||||||
+ push_nested_class (context);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
tmpl = lookup_name_real (DECL_NAME (friend_tmpl), /*prefer_type=*/false,
|
|
||||||
/*non_class=*/false, /*block_p=*/false,
|
|
||||||
--- /dev/null
|
|
||||||
+++ gcc/testsuite/g++.dg/pr86747.C
|
|
||||||
@@ -0,0 +1,8 @@
|
|
||||||
+// { dg-do compile }
|
|
||||||
+
|
|
||||||
+template <typename T> class A {
|
|
||||||
+ template <void (A::*p)()> class C; // #1
|
|
||||||
+ template <void (A::*q)()> friend class C; // #2
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+A<double> a;
|
|
@ -1,54 +0,0 @@
|
|||||||
2020-03-29 Martin Liska <mliska@suse.cz>
|
|
||||||
|
|
||||||
Backport from mainline
|
|
||||||
2019-09-02 Martin Liska <mliska@suse.cz>
|
|
||||||
|
|
||||||
PR gcov-profile/91601
|
|
||||||
* gcov.c (path_contains_zero_cycle_arc): Rename to ...
|
|
||||||
(path_contains_zero_or_negative_cycle_arc): ... this and handle
|
|
||||||
also negative edges.
|
|
||||||
(circuit): Handle also negative edges as they can happen
|
|
||||||
in some situations.
|
|
||||||
|
|
||||||
--- gcc/gcov.c
|
|
||||||
+++ gcc/gcov.c
|
|
||||||
@@ -653,10 +653,10 @@ unblock (const block_info *u, block_vector_t &blocked,
|
|
||||||
/* Return true when PATH contains a zero cycle arc count. */
|
|
||||||
|
|
||||||
static bool
|
|
||||||
-path_contains_zero_cycle_arc (arc_vector_t &path)
|
|
||||||
+path_contains_zero_or_negative_cycle_arc (arc_vector_t &path)
|
|
||||||
{
|
|
||||||
for (unsigned i = 0; i < path.size (); i++)
|
|
||||||
- if (path[i]->cs_count == 0)
|
|
||||||
+ if (path[i]->cs_count <= 0)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@@ -682,7 +682,7 @@ circuit (block_info *v, arc_vector_t &path, block_info *start,
|
|
||||||
{
|
|
||||||
block_info *w = arc->dst;
|
|
||||||
if (w < start
|
|
||||||
- || arc->cs_count == 0
|
|
||||||
+ || arc->cs_count <= 0
|
|
||||||
|| !linfo.has_block (w))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
@@ -693,7 +693,7 @@ circuit (block_info *v, arc_vector_t &path, block_info *start,
|
|
||||||
handle_cycle (path, count);
|
|
||||||
loop_found = true;
|
|
||||||
}
|
|
||||||
- else if (!path_contains_zero_cycle_arc (path)
|
|
||||||
+ else if (!path_contains_zero_or_negative_cycle_arc (path)
|
|
||||||
&& find (blocked.begin (), blocked.end (), w) == blocked.end ())
|
|
||||||
loop_found |= circuit (w, path, start, blocked, block_lists, linfo,
|
|
||||||
count);
|
|
||||||
@@ -708,7 +708,7 @@ circuit (block_info *v, arc_vector_t &path, block_info *start,
|
|
||||||
{
|
|
||||||
block_info *w = arc->dst;
|
|
||||||
if (w < start
|
|
||||||
- || arc->cs_count == 0
|
|
||||||
+ || arc->cs_count <= 0
|
|
||||||
|| !linfo.has_block (w))
|
|
||||||
continue;
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
2020-03-30 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
Backported from mainline
|
|
||||||
2019-12-06 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
PR fortran/92775
|
|
||||||
* trans.h (struct lang_type, struct lang_decl): Remove span member.
|
|
||||||
(GFC_DECL_SPAN, GFC_TYPE_ARRAY_SPAN): Remove macros.
|
|
||||||
* trans-array.h (gfc_get_descriptor_offsets_for_info): Add another
|
|
||||||
argument.
|
|
||||||
* trans-array.c (gfc_get_descriptor_offsets_for_info): Add SPAN_OFF
|
|
||||||
argument and initialize *SPAN_OFF to the offset of span field.
|
|
||||||
* trans-types.c (gfc_get_array_descr_info): Adjust
|
|
||||||
gfc_get_descriptor_offsets_for_info caller. Compute elem_size
|
|
||||||
as base->span instead of TYPE_SIZE_UNIT (etype) constant.
|
|
||||||
|
|
||||||
--- gcc/fortran/trans-array.c
|
|
||||||
+++ gcc/fortran/trans-array.c
|
|
||||||
@@ -503,9 +503,10 @@ gfc_conv_shift_descriptor_lbound (stmtblock_t* block, tree desc,
|
|
||||||
|
|
||||||
void
|
|
||||||
gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off,
|
|
||||||
- tree *dtype_off, tree *dim_off,
|
|
||||||
- tree *dim_size, tree *stride_suboff,
|
|
||||||
- tree *lower_suboff, tree *upper_suboff)
|
|
||||||
+ tree *dtype_off, tree *span_off,
|
|
||||||
+ tree *dim_off, tree *dim_size,
|
|
||||||
+ tree *stride_suboff, tree *lower_suboff,
|
|
||||||
+ tree *upper_suboff)
|
|
||||||
{
|
|
||||||
tree field;
|
|
||||||
tree type;
|
|
||||||
@@ -515,6 +516,8 @@ gfc_get_descriptor_offsets_for_info (const_tree desc_type, tree *data_off,
|
|
||||||
*data_off = byte_position (field);
|
|
||||||
field = gfc_advance_chain (TYPE_FIELDS (type), DTYPE_FIELD);
|
|
||||||
*dtype_off = byte_position (field);
|
|
||||||
+ field = gfc_advance_chain (TYPE_FIELDS (type), SPAN_FIELD);
|
|
||||||
+ *span_off = byte_position (field);
|
|
||||||
field = gfc_advance_chain (TYPE_FIELDS (type), DIMENSION_FIELD);
|
|
||||||
*dim_off = byte_position (field);
|
|
||||||
type = TREE_TYPE (TREE_TYPE (field));
|
|
||||||
--- gcc/fortran/trans-array.h
|
|
||||||
+++ gcc/fortran/trans-array.h
|
|
||||||
@@ -159,7 +159,7 @@ void gfc_trans_array_cobounds (tree, stmtblock_t *, const gfc_symbol *);
|
|
||||||
|
|
||||||
/* Build expressions for accessing components of an array descriptor. */
|
|
||||||
void gfc_get_descriptor_offsets_for_info (const_tree, tree *, tree *, tree *, tree *,
|
|
||||||
- tree *, tree *, tree *);
|
|
||||||
+ tree *, tree *, tree *, tree *);
|
|
||||||
|
|
||||||
tree gfc_conv_descriptor_data_get (tree);
|
|
||||||
tree gfc_conv_descriptor_data_addr (tree);
|
|
||||||
--- gcc/fortran/trans-types.c
|
|
||||||
+++ gcc/fortran/trans-types.c
|
|
||||||
@@ -3344,7 +3344,7 @@ gfc_get_array_descr_info (const_tree type, struct array_descr_info *info)
|
|
||||||
int rank, dim;
|
|
||||||
bool indirect = false;
|
|
||||||
tree etype, ptype, t, base_decl;
|
|
||||||
- tree data_off, dim_off, dtype_off, dim_size, elem_size;
|
|
||||||
+ tree data_off, span_off, dim_off, dtype_off, dim_size, elem_size;
|
|
||||||
tree lower_suboff, upper_suboff, stride_suboff;
|
|
||||||
tree dtype, field, rank_off;
|
|
||||||
|
|
||||||
@@ -3401,12 +3401,13 @@ gfc_get_array_descr_info (const_tree type, struct array_descr_info *info)
|
|
||||||
if (indirect)
|
|
||||||
base_decl = build1 (INDIRECT_REF, ptype, base_decl);
|
|
||||||
|
|
||||||
- elem_size = fold_convert (gfc_array_index_type, TYPE_SIZE_UNIT (etype));
|
|
||||||
-
|
|
||||||
- gfc_get_descriptor_offsets_for_info (type, &data_off, &dtype_off, &dim_off,
|
|
||||||
- &dim_size, &stride_suboff,
|
|
||||||
+ gfc_get_descriptor_offsets_for_info (type, &data_off, &dtype_off, &span_off,
|
|
||||||
+ &dim_off, &dim_size, &stride_suboff,
|
|
||||||
&lower_suboff, &upper_suboff);
|
|
||||||
|
|
||||||
+ t = fold_build_pointer_plus (base_decl, span_off);
|
|
||||||
+ elem_size = build1 (INDIRECT_REF, gfc_array_index_type, t);
|
|
||||||
+
|
|
||||||
t = base_decl;
|
|
||||||
if (!integer_zerop (data_off))
|
|
||||||
t = fold_build_pointer_plus (t, data_off);
|
|
||||||
--- gcc/fortran/trans.h
|
|
||||||
+++ gcc/fortran/trans.h
|
|
||||||
@@ -953,7 +953,6 @@ struct GTY(()) lang_type {
|
|
||||||
tree offset;
|
|
||||||
tree dtype;
|
|
||||||
tree dataptr_type;
|
|
||||||
- tree span;
|
|
||||||
tree base_decl[2];
|
|
||||||
tree nonrestricted_type;
|
|
||||||
tree caf_token;
|
|
||||||
@@ -969,7 +968,6 @@ struct GTY(()) lang_decl {
|
|
||||||
address of target label. */
|
|
||||||
tree stringlen;
|
|
||||||
tree addr;
|
|
||||||
- tree span;
|
|
||||||
/* For assumed-shape coarrays. */
|
|
||||||
tree token, caf_offset;
|
|
||||||
unsigned int scalar_allocatable : 1;
|
|
||||||
@@ -979,7 +977,6 @@ struct GTY(()) lang_decl {
|
|
||||||
|
|
||||||
#define GFC_DECL_ASSIGN_ADDR(node) DECL_LANG_SPECIFIC(node)->addr
|
|
||||||
#define GFC_DECL_STRING_LEN(node) DECL_LANG_SPECIFIC(node)->stringlen
|
|
||||||
-#define GFC_DECL_SPAN(node) DECL_LANG_SPECIFIC(node)->span
|
|
||||||
#define GFC_DECL_TOKEN(node) DECL_LANG_SPECIFIC(node)->token
|
|
||||||
#define GFC_DECL_CAF_OFFSET(node) DECL_LANG_SPECIFIC(node)->caf_offset
|
|
||||||
#define GFC_DECL_SAVED_DESCRIPTOR(node) \
|
|
||||||
@@ -1028,7 +1025,6 @@ struct GTY(()) lang_decl {
|
|
||||||
#define GFC_TYPE_ARRAY_DTYPE(node) (TYPE_LANG_SPECIFIC(node)->dtype)
|
|
||||||
#define GFC_TYPE_ARRAY_DATAPTR_TYPE(node) \
|
|
||||||
(TYPE_LANG_SPECIFIC(node)->dataptr_type)
|
|
||||||
-#define GFC_TYPE_ARRAY_SPAN(node) (TYPE_LANG_SPECIFIC(node)->span)
|
|
||||||
#define GFC_TYPE_ARRAY_BASE_DECL(node, internal) \
|
|
||||||
(TYPE_LANG_SPECIFIC(node)->base_decl[(internal)])
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
|||||||
Fix PR92950: Wrong code emitted for movv1qi
|
|
||||||
|
|
||||||
The backend emits 16 bit memory loads for single element character
|
|
||||||
vector. As a result the character will not be right justified in the
|
|
||||||
GPR.
|
|
||||||
|
|
||||||
2019-12-17 Andreas Krebbel <krebbel@linux.ibm.com>
|
|
||||||
|
|
||||||
Backport from mainline
|
|
||||||
2019-12-16 Andreas Krebbel <krebbel@linux.ibm.com>
|
|
||||||
|
|
||||||
PR target/92950
|
|
||||||
* config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy,
|
|
||||||
and lhrl with llc.
|
|
||||||
|
|
||||||
--- gcc/config/s390/vector.md
|
|
||||||
+++ gcc/config/s390/vector.md
|
|
||||||
@@ -289,9 +289,9 @@
|
|
||||||
; However, this would probably be slower.
|
|
||||||
|
|
||||||
(define_insn "mov<mode>"
|
|
||||||
- [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,d,d,R,T")
|
|
||||||
- (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,R,T,b,d,d"))]
|
|
||||||
- ""
|
|
||||||
+ [(set (match_operand:V_8 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, S, Q, S, d, d,d,R,T")
|
|
||||||
+ (match_operand:V_8 1 "general_operand" " v,d,v,R,v,j00,jm1,jyy,jxx,d,j00,j00,jm1,jm1,j00,jm1,T,d,d"))]
|
|
||||||
+ "TARGET_VX"
|
|
||||||
"@
|
|
||||||
vlr\t%v0,%v1
|
|
||||||
vlvgb\t%v0,%1,0
|
|
||||||
@@ -309,12 +309,10 @@
|
|
||||||
mviy\t%0,-1
|
|
||||||
lhi\t%0,0
|
|
||||||
lhi\t%0,-1
|
|
||||||
- lh\t%0,%1
|
|
||||||
- lhy\t%0,%1
|
|
||||||
- lhrl\t%0,%1
|
|
||||||
+ llc\t%0,%1
|
|
||||||
stc\t%1,%0
|
|
||||||
stcy\t%1,%0"
|
|
||||||
- [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RX,RXY,RIL,RX,RXY")])
|
|
||||||
+ [(set_attr "op_type" "VRR,VRS,VRS,VRX,VRX,VRI,VRI,VRI,VRI,RR,SI,SIY,SI,SIY,RI,RI,RXY,RX,RXY")])
|
|
||||||
|
|
||||||
(define_insn "mov<mode>"
|
|
||||||
[(set (match_operand:V_16 0 "nonimmediate_operand" "=v,v,d,v,R, v, v, v, v,d, Q, Q, d, d,d,d,d,R,T,b")
|
|
||||||
--- /dev/null
|
|
||||||
+++ gcc/testsuite/gcc.target/s390/vector/pr92950.c
|
|
||||||
@@ -0,0 +1,24 @@
|
|
||||||
+/* { dg-do run } */
|
|
||||||
+/* { dg-options "-O3 -mzarch -march=z13" } */
|
|
||||||
+
|
|
||||||
+struct a {
|
|
||||||
+ int b;
|
|
||||||
+ char c;
|
|
||||||
+};
|
|
||||||
+struct a d = {1, 16};
|
|
||||||
+struct a *e = &d;
|
|
||||||
+
|
|
||||||
+int f = 0;
|
|
||||||
+
|
|
||||||
+int main() {
|
|
||||||
+ struct a g = {0, 0 };
|
|
||||||
+ f = 0;
|
|
||||||
+
|
|
||||||
+ for (; f <= 1; f++) {
|
|
||||||
+ g = d;
|
|
||||||
+ *e = g;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (d.c != 16)
|
|
||||||
+ __builtin_abort();
|
|
||||||
+}
|
|
96
SOURCES/gcc8-pr95614-revert.patch
Normal file
96
SOURCES/gcc8-pr95614-revert.patch
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
2020-09-28 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
Revert:
|
||||||
|
2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
|
Mark Eggleston <markeggleston@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/95614
|
||||||
|
* decl.c (gfc_get_common): Use gfc_match_common_name instead
|
||||||
|
of match_common_name.
|
||||||
|
* decl.c (gfc_bind_idents): Use gfc_match_common_name instead
|
||||||
|
of match_common_name.
|
||||||
|
* match.c : Rename match_common_name to gfc_match_common_name.
|
||||||
|
* match.c (gfc_match_common): Use gfc_match_common_name instead
|
||||||
|
of match_common_name.
|
||||||
|
* match.h : Rename match_common_name to gfc_match_common_name.
|
||||||
|
* resolve.c (resolve_common_vars): Check each symbol in a
|
||||||
|
common block has a global symbol. If there is a global symbol
|
||||||
|
issue an error if the symbol type is known as is not a common
|
||||||
|
block name.
|
||||||
|
|
||||||
|
--- gcc/fortran/decl.c
|
||||||
|
+++ gcc/fortran/decl.c
|
||||||
|
@@ -5789,7 +5789,7 @@ get_bind_c_idents (void)
|
||||||
|
found_id = MATCH_YES;
|
||||||
|
gfc_get_ha_symbol (name, &tmp_sym);
|
||||||
|
}
|
||||||
|
- else if (gfc_match_common_name (name) == MATCH_YES)
|
||||||
|
+ else if (match_common_name (name) == MATCH_YES)
|
||||||
|
{
|
||||||
|
found_id = MATCH_YES;
|
||||||
|
com_block = gfc_get_common (name, 0);
|
||||||
|
@@ -5834,7 +5834,7 @@ get_bind_c_idents (void)
|
||||||
|
found_id = MATCH_YES;
|
||||||
|
gfc_get_ha_symbol (name, &tmp_sym);
|
||||||
|
}
|
||||||
|
- else if (gfc_match_common_name (name) == MATCH_YES)
|
||||||
|
+ else if (match_common_name (name) == MATCH_YES)
|
||||||
|
{
|
||||||
|
found_id = MATCH_YES;
|
||||||
|
com_block = gfc_get_common (name, 0);
|
||||||
|
--- gcc/fortran/match.c
|
||||||
|
+++ gcc/fortran/match.c
|
||||||
|
@@ -5028,8 +5028,7 @@ gfc_get_common (const char *name, int from_module)
|
||||||
|
|
||||||
|
/* Match a common block name. */
|
||||||
|
|
||||||
|
-match
|
||||||
|
-gfc_match_common_name (char *name)
|
||||||
|
+match match_common_name (char *name)
|
||||||
|
{
|
||||||
|
match m;
|
||||||
|
|
||||||
|
@@ -5073,7 +5072,7 @@ gfc_match_common (void)
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
- m = gfc_match_common_name (name);
|
||||||
|
+ m = match_common_name (name);
|
||||||
|
if (m == MATCH_ERROR)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
--- gcc/fortran/match.h
|
||||||
|
+++ gcc/fortran/match.h
|
||||||
|
@@ -103,9 +103,11 @@ match gfc_match_call (void);
|
||||||
|
|
||||||
|
/* We want to use this function to check for a common-block-name
|
||||||
|
that can exist in a bind statement, so removed the "static"
|
||||||
|
- declaration of the function in match.c. */
|
||||||
|
+ declaration of the function in match.c.
|
||||||
|
|
||||||
|
-match gfc_match_common_name (char *name);
|
||||||
|
+ TODO: should probably rename this now that it'll be globally seen to
|
||||||
|
+ gfc_match_common_name. */
|
||||||
|
+match match_common_name (char *name);
|
||||||
|
|
||||||
|
match gfc_match_common (void);
|
||||||
|
match gfc_match_block_data (void);
|
||||||
|
--- gcc/fortran/resolve.c
|
||||||
|
+++ gcc/fortran/resolve.c
|
||||||
|
@@ -932,16 +932,9 @@ static void
|
||||||
|
resolve_common_vars (gfc_common_head *common_block, bool named_common)
|
||||||
|
{
|
||||||
|
gfc_symbol *csym = common_block->head;
|
||||||
|
- gfc_gsymbol *gsym;
|
||||||
|
|
||||||
|
for (; csym; csym = csym->common_next)
|
||||||
|
{
|
||||||
|
- gsym = gfc_find_gsymbol (gfc_gsym_root, csym->name);
|
||||||
|
- if (gsym && gsym->type != GSYM_UNKNOWN && gsym->type != GSYM_COMMON)
|
||||||
|
- gfc_error_now ("Global entity %qs at %L cannot appear in a "
|
||||||
|
- "COMMON block at %L", gsym->name,
|
||||||
|
- &gsym->where, &csym->common_block->where);
|
||||||
|
-
|
||||||
|
/* gfc_add_in_common may have been called before, but the reported errors
|
||||||
|
have been ignored to continue parsing.
|
||||||
|
We do the checks again here. */
|
@ -1,10 +1,10 @@
|
|||||||
%global DATE 20191121
|
%global DATE 20200928
|
||||||
%global SVNREV 278589
|
%global gitrev 8ed81e8ef69a535cbc168f55d06941bf3e4ef8ee
|
||||||
%global gcc_version 8.3.1
|
%global gcc_version 8.4.1
|
||||||
%global gcc_major 8
|
%global gcc_major 8
|
||||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||||
# %%{release}, append them after %%{gcc_release} on Release: line.
|
# %%{release}, append them after %%{gcc_release} on Release: line.
|
||||||
%global gcc_release 5
|
%global gcc_release 1
|
||||||
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
|
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
|
||||||
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
|
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
|
||||||
%global _unpackaged_files_terminate_build 0
|
%global _unpackaged_files_terminate_build 0
|
||||||
@ -111,22 +111,23 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2
|
|||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
# The source for this package was pulled from upstream's vcs. Use the
|
# The source for this package was pulled from upstream's vcs. Use the
|
||||||
# following commands to generate the tarball:
|
# following commands to generate the tarball:
|
||||||
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-8-branch@%%{SVNREV} gcc-%%{version}-%%{DATE}
|
# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
|
||||||
# tar cf - gcc-%%{version}-%%{DATE} | xz -9e > gcc-%%{version}-%%{DATE}.tar.xz
|
# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev}
|
||||||
|
# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
|
||||||
|
# rm -rf gcc-dir.tmp
|
||||||
Source0: gcc-%{version}-%{DATE}.tar.xz
|
Source0: gcc-%{version}-%{DATE}.tar.xz
|
||||||
# The source for nvptx-tools package was pulled from upstream's vcs. Use the
|
# The source for nvptx-tools package was pulled from upstream's vcs. Use the
|
||||||
# following commands to generate the tarball:
|
# following commands to generate the tarball:
|
||||||
# git clone https://github.com/MentorEmbedded/nvptx-tools.git
|
# git clone --depth 1 git://github.com/MentorEmbedded/nvptx-tools.git nvptx-tools-dir.tmp
|
||||||
# cd nvptx-tools
|
# git --git-dir=nvptx-tools-dir.tmp/.git fetch --depth 1 origin %%{nvptx_tools_gitrev}
|
||||||
# git archive origin/master --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ | xz -9e > ../nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
|
# git --git-dir=nvptx-tools-dir.tmp/.git archive --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ %%{nvptx_tools_gitrev} | xz -9e > nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
|
||||||
# cd ..; rm -rf nvptx-tools
|
# rm -rf nvptx-tools-dir.tmp
|
||||||
Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
|
Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
|
||||||
# The source for nvptx-newlib package was pulled from upstream's vcs. Use the
|
# The source for nvptx-newlib package was pulled from upstream's vcs. Use the
|
||||||
# following commands to generate the tarball:
|
# following commands to generate the tarball:
|
||||||
# git clone https://github.com/MentorEmbedded/nvptx-newlib.git
|
# git clone git://sourceware.org/git/newlib-cygwin.git newlib-cygwin-dir.tmp
|
||||||
# cd nvptx-newlib
|
# git --git-dir=newlib-cygwin-dir.tmp/.git archive --prefix=newlib-cygwin-%%{newlib_cygwin_gitrev}/ %%{newlib_cygwin_gitrev} ":(exclude)newlib/libc/sys/linux/include/rpc/*.[hx]" | xz -9e > newlib-cygwin-%%{newlib_cygwin_gitrev}.tar.xz
|
||||||
# git archive origin/master --prefix=nvptx-newlib-%%{nvptx_newlib_gitrev}/ | xz -9 > ../nvptx-newlib-%%{nvptx_newlib_gitrev}.tar.xz
|
# rm -rf newlib-cygwin-dir.tmp
|
||||||
# cd ..; rm -rf nvptx-newlib
|
|
||||||
Source2: nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
|
Source2: nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
|
||||||
%global isl_version 0.16.1
|
%global isl_version 0.16.1
|
||||||
URL: http://gcc.gnu.org
|
URL: http://gcc.gnu.org
|
||||||
@ -269,9 +270,9 @@ Patch12: gcc8-mcet.patch
|
|||||||
Patch13: gcc8-rh1574936.patch
|
Patch13: gcc8-rh1574936.patch
|
||||||
Patch14: gcc8-libgcc-hardened.patch
|
Patch14: gcc8-libgcc-hardened.patch
|
||||||
Patch15: gcc8-rh1670535.patch
|
Patch15: gcc8-rh1670535.patch
|
||||||
Patch17: gcc8-libgomp-20190503.patch
|
Patch16: gcc8-libgomp-20190503.patch
|
||||||
Patch18: gcc8-pr86747.patch
|
Patch17: gcc8-libgomp-testsuite.patch
|
||||||
Patch19: gcc8-libgomp-testsuite.patch
|
Patch18: gcc8-pr95614-revert.patch
|
||||||
|
|
||||||
Patch30: gcc8-rh1668903-1.patch
|
Patch30: gcc8-rh1668903-1.patch
|
||||||
Patch31: gcc8-rh1668903-2.patch
|
Patch31: gcc8-rh1668903-2.patch
|
||||||
@ -846,9 +847,10 @@ to NVidia PTX capable devices if available.
|
|||||||
%patch14 -p0 -b .libgcc-hardened~
|
%patch14 -p0 -b .libgcc-hardened~
|
||||||
%endif
|
%endif
|
||||||
%patch15 -p0 -b .rh1670535~
|
%patch15 -p0 -b .rh1670535~
|
||||||
%patch17 -p0 -b .libgomp-20190503~
|
%patch16 -p0 -b .libgomp-20190503~
|
||||||
%patch18 -p0 -b .pr86747~
|
%patch17 -p0 -b .libgomp-testsuite~
|
||||||
%patch19 -p0 -b .libgomp-testsuite~
|
%patch18 -p0 -b .pr95614-revert~
|
||||||
|
rm -f gcc/testsuite/gfortran.dg/pr95614_*.f90
|
||||||
|
|
||||||
%patch30 -p0 -b .rh1668903-1~
|
%patch30 -p0 -b .rh1668903-1~
|
||||||
%patch31 -p0 -b .rh1668903-2~
|
%patch31 -p0 -b .rh1668903-2~
|
||||||
@ -2434,11 +2436,11 @@ fi
|
|||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so
|
||||||
%if %{build_libquadmath}
|
%if %{build_libquadmath}
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
|
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so
|
||||||
%endif
|
%endif
|
||||||
%if %{build_libitm}
|
%if %{build_libitm}
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
|
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so
|
||||||
%endif
|
%endif
|
||||||
%if %{build_libatomic}
|
%if %{build_libatomic}
|
||||||
@ -2446,12 +2448,12 @@ fi
|
|||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so
|
||||||
%endif
|
%endif
|
||||||
%if %{build_libasan}
|
%if %{build_libasan}
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
|
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o
|
||||||
%endif
|
%endif
|
||||||
%if %{build_libubsan}
|
%if %{build_libubsan}
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
|
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so
|
||||||
%endif
|
%endif
|
||||||
%if %{build_libmpx}
|
%if %{build_libmpx}
|
||||||
@ -2705,7 +2707,7 @@ fi
|
|||||||
%ifarch %{multilib_64_archs}
|
%ifarch %{multilib_64_archs}
|
||||||
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
|
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
|
#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude
|
||||||
%endif
|
%endif
|
||||||
@ -3165,6 +3167,20 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 29 2020 Marek Polacek <polacek@redhat.com> 8.4.1-1
|
||||||
|
- update from GCC 8.4 release (#1868446)
|
||||||
|
- remove symlinks to 32-bit versions of these static libraries: libasan.a,
|
||||||
|
libitm.a, libquadmath.a, libubsan.a, libgfortran.a (#1779597)
|
||||||
|
|
||||||
|
* Wed Jul 15 2020 Marek Polacek <polacek@redhat.com> 8.3.1-5.2
|
||||||
|
- backport aarch64 LSE atomics (#1821994)
|
||||||
|
|
||||||
|
* Tue May 12 2020 Marek Polacek <polacek@redhat.com> 8.3.1-5.1
|
||||||
|
- consider negative edges in cycle detection (#1817991, PR gcov-profile/91601)
|
||||||
|
- fix Fortran debug info for arrays with descriptors (#1655624,
|
||||||
|
PR fortran/92775)
|
||||||
|
- fix wrong code emitted for movv1qi on s390x (#1784758, PR target/92950)
|
||||||
|
|
||||||
* Thu Nov 21 2019 Marek Polacek <polacek@redhat.com> 8.3.1-5
|
* Thu Nov 21 2019 Marek Polacek <polacek@redhat.com> 8.3.1-5
|
||||||
- update from Fedora gcc-8.3.1-5 (#1747157)
|
- update from Fedora gcc-8.3.1-5 (#1747157)
|
||||||
- use unspec_volatile for darn (PR target/91481, #1760205, CVE-2019-15847)
|
- use unspec_volatile for darn (PR target/91481, #1760205, CVE-2019-15847)
|
||||||
|
Loading…
Reference in New Issue
Block a user