4.9.1-8
This commit is contained in:
parent
d048d4b08d
commit
0806d93e69
1
.gitignore
vendored
1
.gitignore
vendored
@ -20,3 +20,4 @@
|
||||
/gcc-4.9.1-20140801.tar.bz2
|
||||
/gcc-4.9.1-20140807.tar.bz2
|
||||
/gcc-4.9.1-20140813.tar.bz2
|
||||
/gcc-4.9.1-20140815.tar.bz2
|
||||
|
30
gcc.spec
30
gcc.spec
@ -1,9 +1,9 @@
|
||||
%global DATE 20140813
|
||||
%global SVNREV 213898
|
||||
%global DATE 20140815
|
||||
%global SVNREV 214009
|
||||
%global gcc_version 4.9.1
|
||||
# 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 7
|
||||
%global gcc_release 8
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
%global _performance_build 1
|
||||
%global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
|
||||
@ -105,7 +105,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
|
||||
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
|
||||
# Need binutils which support --no-add-needed >= 2.20.51.0.2-12
|
||||
BuildRequires: binutils >= 2.20.51.0.2-12
|
||||
# Need binutils which support -plugin
|
||||
BuildRequires: binutils >= 2.24
|
||||
# While gcc doesn't include statically linked binaries, during testing
|
||||
# -static is used several times.
|
||||
BuildRequires: glibc-static
|
||||
@ -156,7 +157,8 @@ Requires: cpp = %{version}-%{release}
|
||||
# Need binutils that support %gnu_unique_object
|
||||
# Need binutils that support .cfi_sections
|
||||
# Need binutils that support --no-add-needed
|
||||
Requires: binutils >= 2.20.51.0.2-12
|
||||
# Need binutils that support -plugin
|
||||
Requires: binutils >= 2.24
|
||||
# Make sure gdb will understand DW_FORM_strp
|
||||
Conflicts: gdb < 5.1-2
|
||||
Requires: glibc-devel >= 2.2.90-12
|
||||
@ -199,9 +201,8 @@ Patch16: gcc49-libgo-p224.patch
|
||||
Patch17: gcc49-aarch64-async-unw-tables.patch
|
||||
Patch18: gcc49-aarch64-unwind-opt.patch
|
||||
Patch19: gcc49-pr62098.patch
|
||||
Patch20: gcc49-pr62103.patch
|
||||
Patch21: gcc49-pr62025.patch
|
||||
Patch22: gcc49-pr62073.patch
|
||||
Patch20: gcc49-pr62025.patch
|
||||
Patch21: gcc49-pr62131.patch
|
||||
|
||||
Patch1100: cloog-%{cloog_version}-ppc64le-config.patch
|
||||
|
||||
@ -731,9 +732,8 @@ rm -f libgo/go/crypto/elliptic/p224{,_test}.go
|
||||
%patch17 -p0 -b .aarch64-async-unw-tables~
|
||||
%patch18 -p0 -b .aarch64-unwind-opt~
|
||||
%patch19 -p0 -b .pr62098~
|
||||
%patch20 -p0 -b .pr62103~
|
||||
%patch21 -p0 -b .pr62025~
|
||||
%patch22 -p0 -b .pr62073~
|
||||
%patch20 -p0 -b .pr62025~
|
||||
%patch21 -p0 -b .pr62131~
|
||||
|
||||
%if 0%{?_enable_debug_packages}
|
||||
cat > split-debuginfo.sh <<\EOF
|
||||
@ -2806,6 +2806,14 @@ fi
|
||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
|
||||
|
||||
%changelog
|
||||
* Fri Aug 15 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-8
|
||||
- update from the 4.9 branch
|
||||
- PRs fortran/62076, fortran/62107, lto/62032, middle-end/62092,
|
||||
target/61713
|
||||
- allow elements/components of allocatables in !$omp atomic
|
||||
(PR fortran/62131)
|
||||
- require/build require >= 2.24 binutils
|
||||
|
||||
* Thu Aug 14 2014 Jakub Jelinek <jakub@redhat.com> 4.9.1-7
|
||||
- fix up scheduler deps handling fix (PR target/62025)
|
||||
- vectorization fix (PR tree-optimization/62073)
|
||||
|
@ -1,63 +0,0 @@
|
||||
2014-08-12 Felix Yang <fei.yang0953@gmail.com>
|
||||
|
||||
PR tree-optimization/62073
|
||||
* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
|
||||
a basic block.
|
||||
|
||||
* gcc.dg/vect/pr62073.c: New test.
|
||||
|
||||
--- gcc/tree-vect-loop.c (revision 213900)
|
||||
+++ gcc/tree-vect-loop.c (revision 213901)
|
||||
@@ -2321,7 +2321,8 @@ vect_is_simple_reduction_1 (loop_vec_inf
|
||||
}
|
||||
|
||||
def1 = SSA_NAME_DEF_STMT (op1);
|
||||
- if (flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
|
||||
+ if (gimple_bb (def1)
|
||||
+ && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
|
||||
&& loop->inner
|
||||
&& flow_bb_inside_loop_p (loop->inner, gimple_bb (def1))
|
||||
&& is_gimple_assign (def1))
|
||||
--- gcc/testsuite/gcc.dg/vect/pr62073.c (revision 0)
|
||||
+++ gcc/testsuite/gcc.dg/vect/pr62073.c (revision 213901)
|
||||
@@ -0,0 +1,40 @@
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-additional-options "-O1" } */
|
||||
+
|
||||
+struct S0
|
||||
+{
|
||||
+ int f7;
|
||||
+};
|
||||
+struct S0 g_50;
|
||||
+int g_70;
|
||||
+int g_76;
|
||||
+
|
||||
+int foo (long long p_56, int * p_57)
|
||||
+{
|
||||
+ int *l_77;
|
||||
+ int l_101;
|
||||
+
|
||||
+ for (; g_70;)
|
||||
+ {
|
||||
+ int **l_78 = &l_77;
|
||||
+ if (g_50.f7)
|
||||
+ continue;
|
||||
+ *l_78 = 0;
|
||||
+ }
|
||||
+ for (g_76 = 1; g_76 >= 0; g_76--)
|
||||
+ {
|
||||
+ int *l_90;
|
||||
+ for (l_101 = 4; l_101 >= 0; l_101--)
|
||||
+ if (l_101)
|
||||
+ *l_90 = 0;
|
||||
+ else
|
||||
+ {
|
||||
+ int **l_113 = &l_77;
|
||||
+ *l_113 = p_57;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return *l_77;
|
||||
+}
|
||||
+
|
||||
+/* { dg-final { cleanup-tree-dump "vect" } } */
|
@ -1,50 +0,0 @@
|
||||
2014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||
|
||||
PR middle-end/62103
|
||||
* gimple-fold.c (fold_ctor_reference): Don't fold in presence of
|
||||
bitfields, that is when size doesn't match the size of type or the
|
||||
size of the constructor.
|
||||
|
||||
* gcc.c-torture/execute/bitfld-6.c: New test.
|
||||
|
||||
--- gcc/gimple-fold.c (revision 213845)
|
||||
+++ gcc/gimple-fold.c (revision 213846)
|
||||
@@ -4355,8 +4355,10 @@ fold_ctor_reference (tree type, tree cto
|
||||
result. */
|
||||
if (!AGGREGATE_TYPE_P (TREE_TYPE (ctor)) && !offset
|
||||
/* VIEW_CONVERT_EXPR is defined only for matching sizes. */
|
||||
- && operand_equal_p (TYPE_SIZE (type),
|
||||
- TYPE_SIZE (TREE_TYPE (ctor)), 0))
|
||||
+ && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
|
||||
+ && TREE_CODE (TYPE_SIZE (TREE_TYPE (ctor))) == INTEGER_CST
|
||||
+ && !compare_tree_int (TYPE_SIZE (type), size)
|
||||
+ && !compare_tree_int (TYPE_SIZE (TREE_TYPE (ctor)), size))
|
||||
{
|
||||
ret = canonicalize_constructor_val (unshare_expr (ctor), from_decl);
|
||||
ret = fold_unary (VIEW_CONVERT_EXPR, type, ret);
|
||||
--- gcc/testsuite/gcc.c-torture/execute/bitfld-6.c (revision 0)
|
||||
+++ gcc/testsuite/gcc.c-torture/execute/bitfld-6.c (revision 213846)
|
||||
@@ -0,0 +1,23 @@
|
||||
+union U
|
||||
+{
|
||||
+ const int a;
|
||||
+ unsigned b : 20;
|
||||
+};
|
||||
+
|
||||
+static union U u = { 0x12345678 };
|
||||
+
|
||||
+/* Constant folding used to fail to account for endianness when folding a
|
||||
+ union. */
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+#ifdef __BYTE_ORDER__
|
||||
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
+ return u.b - 0x45678;
|
||||
+#else
|
||||
+ return u.b - 0x12345;
|
||||
+#endif
|
||||
+#endif
|
||||
+ return 0;
|
||||
+}
|
42
gcc49-pr62131.patch
Normal file
42
gcc49-pr62131.patch
Normal file
@ -0,0 +1,42 @@
|
||||
2014-08-15 Jakub Jelinek <jakub@redhat.com>
|
||||
Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/62131
|
||||
* openmp.c (resolve_omp_atomic): Only complain if code->expr1's attr
|
||||
is allocatable, rather than whenever var->attr.allocatable.
|
||||
|
||||
* gfortran.dg/gomp/pr62131.f90: New test.
|
||||
|
||||
--- gcc/fortran/openmp.c (revision 214010)
|
||||
+++ gcc/fortran/openmp.c (revision 214011)
|
||||
@@ -2744,7 +2744,7 @@ resolve_omp_atomic (gfc_code *code)
|
||||
break;
|
||||
}
|
||||
|
||||
- if (var->attr.allocatable)
|
||||
+ if (gfc_expr_attr (code->expr1).allocatable)
|
||||
{
|
||||
gfc_error ("!$OMP ATOMIC with ALLOCATABLE variable at %L",
|
||||
&code->loc);
|
||||
--- gcc/testsuite/gfortran.dg/gomp/pr62131.f90 (revision 0)
|
||||
+++ gcc/testsuite/gfortran.dg/gomp/pr62131.f90 (revision 214011)
|
||||
@@ -0,0 +1,19 @@
|
||||
+! PR fortran/62131
|
||||
+! { dg-do compile }
|
||||
+! { dg-options "-fopenmp" }
|
||||
+
|
||||
+program pr62131
|
||||
+ integer,allocatable :: nerrs(:,:)
|
||||
+ allocate(nerrs(10,10))
|
||||
+ nerrs(:,:) = 0
|
||||
+!$omp parallel do
|
||||
+ do k=1,10
|
||||
+ call uperrs(k,1)
|
||||
+ end do
|
||||
+contains
|
||||
+ subroutine uperrs(i,io)
|
||||
+ integer,intent(in) :: i,io
|
||||
+!$omp atomic
|
||||
+ nerrs(i,io)=nerrs(i,io)+1
|
||||
+ end subroutine
|
||||
+end
|
Loading…
Reference in New Issue
Block a user