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

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 466a7f64bb43177b925c79372ba6b7dced505846
Author : Jakub Jelinek <jakub@fedoraproject.org>
Date   : 2006-08-18T07:38:36+00:00
Stats  : +92/-0 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/466a7f64bb43177b925c79372ba6b7dced505846?branch=rhel-f41-base

Log:
4.1.1-18

---
diff --git a/gcc41-pr27898.patch b/gcc41-pr27898.patch
new file mode 100644
index 0000000..9e11955
--- /dev/null
+++ b/gcc41-pr27898.patch
@@ -0,0 +1,92 @@
+2006-07-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR c/27898
+	* c-typeck.c (tagged_types_tu_compatible_p): Enable exact
+	matches between anonymous union fields.
+
+2006-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/27898
+	* gcc.dg/pr27898.c: New test.
+
+--- gcc/testsuite/gcc.dg/pr27898.c.jj	2006-08-18 09:19:33.000000000 +0200
++++ gcc/testsuite/gcc.dg/pr27898.c	2006-08-18 09:19:27.000000000 +0200
+@@ -0,0 +1,8 @@
++/* PR c/27898 */
++/* { dg-do compile } */
++/* { dg-options "--combine" } */
++/* { dg-additional-sources "pr27898.c" } */
++
++union u { struct { int i; }; };
++
++extern int foo (union u *);
+--- gcc/c-typeck.c.jj	2006-08-17 09:55:11.000000000 +0200
++++ gcc/c-typeck.c	2006-08-18 09:14:15.000000000 +0200
+@@ -1126,11 +1126,12 @@ tagged_types_tu_compatible_p (tree t1, t
+ 	  {
+ 	    int result;
+ 
+-
+-	    if (DECL_NAME (s1) == NULL
+-		|| DECL_NAME (s1) != DECL_NAME (s2))
++	    if (DECL_NAME (s1) != DECL_NAME (s2))
+ 	      break;
+ 	    result = comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2));
++
++	    if (result != 1 && !DECL_NAME (s1))
++	      break;
+ 	    if (result == 0)
+ 	      {
+ 		tu->val = 0;
+@@ -1157,28 +1158,31 @@ tagged_types_tu_compatible_p (tree t1, t
+ 	  {
+ 	    bool ok = false;
+ 
+-	    if (DECL_NAME (s1) != NULL)
+-	      for (s2 = TYPE_FIELDS (t2); s2; s2 = TREE_CHAIN (s2))
+-		if (DECL_NAME (s1) == DECL_NAME (s2))
+-		  {
+-		    int result;
+-		    result = comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2));
+-		    if (result == 0)
+-		      {
+-			tu->val = 0;
+-			return 0;
+-		      }
+-		    if (result == 2)
+-		      needs_warning = true;
+-
+-		    if (TREE_CODE (s1) == FIELD_DECL
+-			&& simple_cst_equal (DECL_FIELD_BIT_OFFSET (s1),
+-					     DECL_FIELD_BIT_OFFSET (s2)) != 1)
+-		      break;
++	    for (s2 = TYPE_FIELDS (t2); s2; s2 = TREE_CHAIN (s2))
++	      if (DECL_NAME (s1) == DECL_NAME (s2))
++		{
++		  int result;
++
++		  result = comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2));
+ 
+-		    ok = true;
++		  if (result != 1 && !DECL_NAME (s1))
++		    continue;
++		  if (result == 0)
++		    {
++		      tu->val = 0;
++		      return 0;
++		    }
++		  if (result == 2)
++		    needs_warning = true;
++
++		  if (TREE_CODE (s1) == FIELD_DECL
++		      && simple_cst_equal (DECL_FIELD_BIT_OFFSET (s1),
++					   DECL_FIELD_BIT_OFFSET (s2)) != 1)
+ 		    break;
+-		  }
++
++		  ok = true;
++		  break;
++		}
+ 	    if (!ok)
+ 	      {
+ 		tu->val = 0;

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

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

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : 5636c0d8a1a4948e06cedef5e4b0bb7065082b8b
Author : Jakub Jelinek <jakub@fedoraproject.org>
Date   : 2006-08-18T08:02:11+00:00
Stats  : +88/-9 in 5 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/5636c0d8a1a4948e06cedef5e4b0bb7065082b8b?branch=rhel-f41-base

Log:
4.1.1-18

---
diff --git a/.cvsignore b/.cvsignore
index 4ef9c16..86100af 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-gcc-4.1.1-20060816.tar.bz2
+gcc-4.1.1-20060818.tar.bz2

diff --git a/gcc41-pr27898.patch b/gcc41-pr27898.patch
index 9e11955..86bf862 100644
--- a/gcc41-pr27898.patch
+++ b/gcc41-pr27898.patch
@@ -22,13 +22,13 @@
 +extern int foo (union u *);
 --- gcc/c-typeck.c.jj	2006-08-17 09:55:11.000000000 +0200
 +++ gcc/c-typeck.c	2006-08-18 09:14:15.000000000 +0200
-@@ -1126,11 +1126,12 @@ tagged_types_tu_compatible_p (tree t1, t
+@@ -1072,11 +1072,12 @@ tagged_types_tu_compatible_p (tree t1, t
  	  {
  	    int result;
- 
--
+ 	    
+-	    
 -	    if (DECL_NAME (s1) == NULL
--		|| DECL_NAME (s1) != DECL_NAME (s2))
+-	        || DECL_NAME (s1) != DECL_NAME (s2))
 +	    if (DECL_NAME (s1) != DECL_NAME (s2))
  	      break;
  	    result = comptypes_internal (TREE_TYPE (s1), TREE_TYPE (s2));
@@ -38,7 +38,7 @@
  	    if (result == 0)
  	      {
  		tu->val = 0;
-@@ -1157,28 +1158,31 @@ tagged_types_tu_compatible_p (tree t1, t
+@@ -1103,28 +1104,31 @@ tagged_types_tu_compatible_p (tree t1, t
  	  {
  	    bool ok = false;
  

diff --git a/gcc41-pr28755.patch b/gcc41-pr28755.patch
new file mode 100644
index 0000000..bef8ce8
--- /dev/null
+++ b/gcc41-pr28755.patch
@@ -0,0 +1,64 @@
+2006-08-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/28755
+	* expr.c (expand_expr_real_1) <case ARRAY_REF>: Make sure
+	the const array field optimization doesn't create an extra constant
+	MEM.
+
+	* gcc.dg/pr28755.c: New test.
+
+--- gcc/expr.c.jj	2006-08-09 17:54:03.000000000 +0200
++++ gcc/expr.c	2006-08-17 13:00:33.000000000 +0200
+@@ -7105,13 +7105,25 @@ expand_expr_real_1 (tree exp, rtx target
+ 					      field, value)
+ 		      if (tree_int_cst_equal (field, index))
+ 			{
+-			  if (!TREE_SIDE_EFFECTS (value))
++			  if (TREE_SIDE_EFFECTS (value))
++			    break;
++
++			  if (TREE_CODE (value) != CONSTRUCTOR)
+ 			    return expand_expr (fold (value), target, tmode,
+ 						modifier);
++
++			  /* For CONSTRUCTOR this optimization is not always
++			     a win - if expand_expr creates a temporary
++			     constant, we just waste unnecessarily rodata
++			     space.  */
++			  temp = expand_expr (value, target, tmode, modifier);
++			  if (temp == target
++			      || (temp && GET_CODE (temp) != MEM))
++			    return temp;
+ 			  break;
+ 			}
+ 		  }
+-		else if(TREE_CODE (init) == STRING_CST)
++		else if (TREE_CODE (init) == STRING_CST)
+ 		  {
+ 		    tree index1 = index;
+ 		    tree low_bound = array_ref_low_bound (exp);
+--- gcc/testsuite/gcc.dg/pr28755.c.jj	2006-08-17 12:59:57.000000000 +0200
++++ gcc/testsuite/gcc.dg/pr28755.c	2006-08-17 12:59:57.000000000 +0200
+@@ -0,0 +1,22 @@
++/* PR middle-end/28755 */
++/* { dg-do compile } */
++/* { dg-options "-Os" } */
++/* { dg-final { scan-assembler-times "2112543726\|7deadbee" 2 } } */
++
++struct S
++{
++  void *s1;
++  unsigned s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14;
++};
++
++const struct S array[] = {
++  { (void *) 0, 60, 640, 2112543726, 39682, 48, 16, 33, 10, 96, 2, 0, 0, 4 },
++  { (void *) 0, 60, 2112543726, 192, 18251, 16, 33, 10, 96, 2, 0, 0, 4, 212 }
++};
++
++void
++foo (struct S *x)
++{
++  x[0] = array[0];
++  x[5] = array[1];
++}

diff --git a/gcc41.spec b/gcc41.spec
index 4fd6193..98104f6 100644
--- a/gcc41.spec
+++ b/gcc41.spec
@@ -1,6 +1,6 @@
-%define DATE 20060816
+%define DATE 20060818
 %define gcc_version 4.1.1
-%define gcc_release 17
+%define gcc_release 18
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -144,6 +144,8 @@ Patch36: gcc41-pr28725.patch
 Patch37: gcc41-pr28709.patch
 Patch38: gcc41-pr28744.patch
 Patch39: gcc41-x86_64-kernel-ssp.patch
+Patch40: gcc41-pr28755.patch
+Patch41: gcc41-pr27898.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -464,6 +466,8 @@ which are required to run programs compiled with the GNAT.
 %patch37 -p0 -b .pr28709~
 %patch38 -p0 -b .pr28744~
 %patch39 -p0 -b .x86_64-kernel-ssp~
+%patch40 -p0 -b .pr28755~
+%patch41 -p0 -b .pr27898~
 
 sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1524,6 +1528,17 @@ fi
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Fri Aug 18 2006 Jakub Jelinek <jakub@redhat.com> 4.1.1-18
+- update from gcc-4_1-branch (-r116176:116223)
+  - PRs c++/28593, c++/28606, c++/28710, c/27697, middle-end/20256,
+	middle-end/25211, middle-end/26435
+- don't waste .rodata space when copying from const array with large
+  entries (PR middle-end/28755)
+- fix --combine with anonymous structures in unions (Alexandre Oliva,
+  PR c/27898)
+- rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc*
+  (#203001)
+
 * Wed Aug 16 2006 Jakub Jelinek <jakub@redhat.com> 4.1.1-17
 - update from gcc-4_1-branch (-r116082:116176)
   - PRs c++/27894, c++/28677, c/28649, middle-end/28075,

diff --git a/sources b/sources
index 5fa5b15..afcea7e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3743f891cb127e18bca681d57c07a2c0  gcc-4.1.1-20060816.tar.bz2
+6c13068f0da00ac2e7fcef129cc6e555  gcc-4.1.1-20060818.tar.bz2

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

end of thread, other threads:[~2026-06-29 12:22 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:22 [rpms/gcc] rhel-f41-base: 4.1.1-18 Jakub Jelinek
  -- strict thread matches above, loose matches on Subject: below --
2026-06-29 12:22 Jakub Jelinek

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