public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gcc] rhel-f41-base: 6.1.1-6
@ 2026-06-29 12:27 Jakub Jelinek
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 31e7eb359bc3152e6e34ecf45ff7474b9ac3e6a3
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2016-08-17T18:13:11+02:00
Stats  : +5/-3 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/31e7eb359bc3152e6e34ecf45ff7474b9ac3e6a3?branch=rhel-f41-base

Log:
6.1.1-6

---
diff --git a/gcc6-pr77259.patch b/gcc6-pr77259.patch
index a58c44b..bd0dbd4 100644
--- a/gcc6-pr77259.patch
+++ b/gcc6-pr77259.patch
@@ -29,7 +29,7 @@
  		}
 --- gcc/tree-cfgcleanup.c.jj	2016-08-09 09:41:14.000000000 +0200
 +++ gcc/tree-cfgcleanup.c	2016-08-17 10:36:24.198791289 +0200
-@@ -602,9 +602,14 @@ fixup_noreturn_call (gimple *stmt)
+@@ -602,10 +602,15 @@ fixup_noreturn_call (gimple *stmt)
    /* If there is an LHS, remove it, but only if its type has fixed size.
       The LHS will need to be recreated during RTL expansion and creating
       temporaries of variable-sized types is not supported.  Also don't
@@ -39,9 +39,11 @@
 +     has been changed into a call that does not return a value, like
 +     __builtin_unreachable or __cxa_pure_virtual.  */
    tree lhs = gimple_call_lhs (stmt);
--  if (should_remove_lhs_p (lhs))
+-  if (lhs && TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST
+-      && !TREE_ADDRESSABLE (TREE_TYPE (lhs)))
 +  if (lhs
-+      && (should_remove_lhs_p (lhs)
++      && ((TREE_CODE (TYPE_SIZE_UNIT (TREE_TYPE (lhs))) == INTEGER_CST
++	   && !TREE_ADDRESSABLE (TREE_TYPE (lhs)))
 +	  || VOID_TYPE_P (TREE_TYPE (gimple_call_fntype (stmt)))))
      {
        gimple_call_set_lhs (stmt, NULL_TREE);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [rpms/gcc] rhel-f41-base: 6.1.1-6
@ 2026-06-29 12:27 Jakub Jelinek
  0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2026-06-29 12:27 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 4f5892b0e1755ffcd4e9c70b558246e26720f366
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2016-08-17T17:24:31+02:00
Stats  : +131/-6 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/4f5892b0e1755ffcd4e9c70b558246e26720f366?branch=rhel-f41-base

Log:
6.1.1-6

---
diff --git a/.gitignore b/.gitignore
index dfd3036..d7d8337 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@
 /gcc-6.1.1-20160621.tar.bz2
 /gcc-6.1.1-20160721.tar.bz2
 /gcc-6.1.1-20160810.tar.bz2
+/gcc-6.1.1-20160817.tar.bz2

diff --git a/gcc.spec b/gcc.spec
index d186fe1..5415004 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20160810
-%global SVNREV 239320
+%global DATE 20160817
+%global SVNREV 239541
 %global gcc_version 6.1.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 5
+%global gcc_release 6
 %global _unpackaged_files_terminate_build 0
 %global _performance_build 1
 # Hardening slows the compiler way too much.
@@ -207,6 +207,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-pr77259.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -773,6 +774,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 .pr77259~
 
 %if 0%{?_enable_debug_packages}
 mkdir dwz-wrapper
@@ -1336,8 +1338,12 @@ for i in `find . -name \*.py`; do
 done
 touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py
 popd
-%py_byte_compile %{__python3} %{buildroot}%{_prefix}/share/gcc-%{gcc_version}/python/
-%py_byte_compile %{__python3} %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
+for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_version}/python/ \
+	       %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do
+  r=${f/$RPM_BUILD_ROOT/}
+  %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+  %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")'
+done
 
 rm -f $FULLEPATH/libgccjit.so
 cp -a objlibgccjit/gcc/libgccjit.so* %{buildroot}%{_prefix}/%{_lib}/
@@ -3104,6 +3110,17 @@ fi
 %doc rpm.doc/changelogs/libcc1/ChangeLog*
 
 %changelog
+* Wed Aug 17 2016 Jakub Jelinek <jakub@redhat.com> 6.1.1-6
+- update from the 6 branch
+  - PRs c++/71972, c++/72868, c++/73456, c/67410, c/71512, c/72816,
+	debug/71906, driver/72765, fortran/71123, fortran/71936,
+	fortran/72698, libgfortran/71123, libgfortran/73142, sanitizer/71042,
+	target/72819, target/72843, target/72853, target/76342,
+	testsuite/77034, tree-optimization/71083, tree-optimization/73434
+- fix devirtualization ICE (#1367212, PR middle-end/77259)
+- build python3 bytecode manually to avoid python3-devel bugs (#1204355,
+  #1366516)
+
 * Wed Aug 10 2016 Jakub Jelinek <jakub@redhat.com> 6.1.1-5
 - update from the 6 branch
   - PRs c++/52746, c++/55922, c++/63151, c++/68724, c++/69223, c++/70709,

diff --git a/gcc6-pr77259.patch b/gcc6-pr77259.patch
new file mode 100644
index 0000000..a58c44b
--- /dev/null
+++ b/gcc6-pr77259.patch
@@ -0,0 +1,107 @@
+2016-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/77259
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
+	turning a call into __builtin_unreachable-like noreturn call, adjust
+	gimple_call_set_fntype.
+	* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
+	gimple_call_fntype has void return type.
+
+	* g++.dg/ipa/devirt-52.C: New test.
+
+--- gcc/tree-ssa-pre.c.jj	2016-08-16 13:22:49.095671219 +0200
++++ gcc/tree-ssa-pre.c	2016-08-17 10:24:42.498730917 +0200
+@@ -4543,6 +4543,15 @@ eliminate_dom_walker::before_dom_childre
+ 				       lang_hooks.decl_printable_name (fn, 2));
+ 		    }
+ 		  gimple_call_set_fndecl (call_stmt, fn);
++		  /* If changing the call to __builtin_unreachable
++		     or similar noreturn function, adjust gimple_call_fntype
++		     too.  */
++		  if (gimple_call_noreturn_p (call_stmt)
++		      && VOID_TYPE_P (TREE_TYPE (TREE_TYPE (fn)))
++		      && TYPE_ARG_TYPES (TREE_TYPE (fn))
++		      && (TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fn)))
++			  == void_type_node))
++		    gimple_call_set_fntype (call_stmt, TREE_TYPE (fn));
+ 		  maybe_remove_unused_call_args (cfun, call_stmt);
+ 		  gimple_set_modified (stmt, true);
+ 		}
+--- gcc/tree-cfgcleanup.c.jj	2016-08-09 09:41:14.000000000 +0200
++++ gcc/tree-cfgcleanup.c	2016-08-17 10:36:24.198791289 +0200
+@@ -602,9 +602,14 @@ fixup_noreturn_call (gimple *stmt)
+   /* If there is an LHS, remove it, but only if its type has fixed size.
+      The LHS will need to be recreated during RTL expansion and creating
+      temporaries of variable-sized types is not supported.  Also don't
+-     do this with TREE_ADDRESSABLE types, as assign_temp will abort.  */
++     do this with TREE_ADDRESSABLE types, as assign_temp will abort.
++     Drop LHS regardless of TREE_ADDRESSABLE, if the function call
++     has been changed into a call that does not return a value, like
++     __builtin_unreachable or __cxa_pure_virtual.  */
+   tree lhs = gimple_call_lhs (stmt);
+-  if (should_remove_lhs_p (lhs))
++  if (lhs
++      && (should_remove_lhs_p (lhs)
++	  || VOID_TYPE_P (TREE_TYPE (gimple_call_fntype (stmt)))))
+     {
+       gimple_call_set_lhs (stmt, NULL_TREE);
+ 
+--- gcc/testsuite/g++.dg/ipa/devirt-52.C.jj	2016-08-17 10:23:39.775528901 +0200
++++ gcc/testsuite/g++.dg/ipa/devirt-52.C	2016-08-17 10:23:39.775528901 +0200
+@@ -0,0 +1,56 @@
++// PR middle-end/77259
++// { dg-do compile { target c++11 } }
++// { dg-options "-O2" }
++
++template <typename, typename = int> class A;
++template <typename, typename> struct A
++{
++  A (A &&);
++};
++template <typename S, typename T, typename U>
++A<S> operator+(S *, const A<T, U> &);
++template <typename S, typename T, typename U>
++void operator+(const A<T, U> &, S *);
++struct B
++{
++  template <typename V> B (V);
++};
++template <typename V> V foo (B) {}
++class C;
++template <typename> struct D
++{
++  C *operator->() { return d; }
++  C *d;
++};
++struct C
++{
++  virtual A<int> bar ();
++};
++struct E
++{
++  ~E ();
++  virtual A<char> bar (const B &) const;
++};
++template <typename> struct F : E
++{
++};
++template <typename W> struct F<D<W>> : E
++{
++  A<char> bar (const B &) const try
++    {
++      D<W> a = baz ();
++    }
++  catch (int)
++    {
++    }
++  D<W> baz () const
++  {
++    D<C> b = foo<D<C>>(0);
++    "" + b->bar () + "";
++  }
++};
++struct G : F<D<int>>
++{
++  G (int);
++};
++void test () { G (0); }

diff --git a/sources b/sources
index 391e577..2f1135e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9ef71e4cb7b9aab01d88955c13c820d3  gcc-6.1.1-20160810.tar.bz2
+353d904ccfe4dc9cfd8d9ddf67e4ad1d  gcc-6.1.1-20160817.tar.bz2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-29 12:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-29 12:27 [rpms/gcc] rhel-f41-base: 6.1.1-6 Jakub Jelinek
  -- strict thread matches above, loose matches on Subject: below --
2026-06-29 12:27 Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox