rpms/gcc/F-9 gcc43-pr35650.patch, NONE, 1.1 gcc43-pr35909.patch, NONE, 1.1 gcc43-pr35987.patch, NONE, 1.1 .cvsignore, 1.232, 1.233 gcc43.spec, 1.29, 1.30 sources, 1.234, 1.235 gcc43-pr35662.patch, 1.1, NONE gcc43-pr35739.patch, 1.1, NONE gcc43-pr35899.patch, 1.1, NONE gcc43-pr35907.patch, 1.1, NONE

Jakub Jelinek (jakub) fedora-extras-commits at redhat.com
Mon Apr 28 14:05:37 UTC 2008


Author: jakub

Update of /cvs/pkgs/rpms/gcc/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26541/F-9

Modified Files:
	.cvsignore gcc43.spec sources 
Added Files:
	gcc43-pr35650.patch gcc43-pr35909.patch gcc43-pr35987.patch 
Removed Files:
	gcc43-pr35662.patch gcc43-pr35739.patch gcc43-pr35899.patch 
	gcc43-pr35907.patch 
Log Message:
4.3.0-8


gcc43-pr35650.patch:

--- NEW FILE gcc43-pr35650.patch ---
2008-04-21  Jakub Jelinek  <jakub at redhat.com>

	PR c++/35650
	* parser.c (cp_parser_lookup_name): Look through single function
	OVERLOAD.

	* g++.dg/init/ref17.C: New test.

--- gcc/cp/parser.c.jj	2008-04-18 17:00:44.000000000 +0200
+++ gcc/cp/parser.c	2008-04-21 23:58:00.000000000 +0200
@@ -16407,6 +16407,13 @@ cp_parser_lookup_name (cp_parser *parser
 	  decl = lookup_qualified_name (parser->scope, name,
 					tag_type != none_type,
 					/*complain=*/true);
+
+	  /* If we have a single function from a using decl, pull it out.  */
+	  if (decl
+	      && TREE_CODE (decl) == OVERLOAD
+	      && !really_overloaded_fn (decl))
+	    decl = OVL_FUNCTION (decl);
+
 	  if (pushed_scope)
 	    pop_scope (pushed_scope);
 	}
--- gcc/testsuite/g++.dg/init/ref17.C.jj	2008-04-21 22:48:02.000000000 +0200
+++ gcc/testsuite/g++.dg/init/ref17.C	2008-04-21 22:47:09.000000000 +0200
@@ -0,0 +1,23 @@
+// PR c++/35650
+// { dg-do compile }
+
+void f1 ();
+
+namespace N
+{
+  using::f1;
+  void f2 ();
+  void f3 ();
+}
+
+using N::f3;
+
+void
+test ()
+{
+  void (&a) () = f1;
+  void (&b) () = N::f1;
+  void (&c) () = N::f2;
+  void (&d) () = f3;
+  void (&e) () = ::f3;
+}

gcc43-pr35909.patch:

--- NEW FILE gcc43-pr35909.patch ---
2008-04-24  Alexandre Oliva  <aoliva at redhat.com>

	PR c++/35909
	* call.c (convert_like_real): Convert bitfield to desired type
	before creating temporary.

	* g++.dg/conversion/bitfield9.C: New.

--- gcc/cp/call.c.orig	2008-04-22 03:26:25.000000000 -0300
+++ gcc/cp/call.c	2008-04-22 03:26:27.000000000 -0300
@@ -4580,7 +4580,10 @@ convert_like_real (conversion *convs, tr
 		return error_mark_node;
 	      }
 	    if (lvalue & clk_bitfield)
-	      expr = convert_bitfield_to_declared_type (expr);
+	      {
+		expr = convert_bitfield_to_declared_type (expr);
+		expr = fold_convert (type, expr);
+	      }
 	    expr = build_target_expr_with_type (expr, type);
 	  }
 
--- gcc/testsuite/g++.dg/conversion/bitfield9.C	1970-01-01 00:00:00.000000000 +0000
+++ gcc/testsuite/g++.dg/conversion/bitfield9.C	2008-04-22 03:26:27.000000000 -0300
@@ -0,0 +1,16 @@
+// PR c++/35909
+// { dg-do compile }
+
+struct MidiCommand
+{
+  unsigned data1 : 8;
+};
+
+void g(const unsigned char &);
+void h(const unsigned int &);
+
+void f(MidiCommand mc)
+{
+  g(mc.data1);
+  h(mc.data1);
+}

gcc43-pr35987.patch:

--- NEW FILE gcc43-pr35987.patch ---
2008-04-21  Jakub Jelinek  <jakub at redhat.com>

	PR c++/35987
	* typeck.c (cp_build_modify_expr) <case PREINCREMENT_EXPR>: Don't build
	COMPOUND_EXPR if the second argument would be error_mark_node.

	* g++.dg/other/error28.C: New test.

--- gcc/cp/typeck.c.jj	2008-04-18 17:00:44.000000000 +0200
+++ gcc/cp/typeck.c	2008-04-21 16:03:45.000000000 +0200
@@ -5940,10 +5940,11 @@ cp_build_modify_expr (tree lhs, enum tre
 	lhs = build2 (TREE_CODE (lhs), TREE_TYPE (lhs),
 		      stabilize_reference (TREE_OPERAND (lhs, 0)),
 		      TREE_OPERAND (lhs, 1));
-      return build2 (COMPOUND_EXPR, lhstype,
-		     lhs,
-		     cp_build_modify_expr (TREE_OPERAND (lhs, 0),
-					   modifycode, rhs, complain));
+      newrhs = cp_build_modify_expr (TREE_OPERAND (lhs, 0),
+				     modifycode, rhs, complain);
+      if (newrhs == error_mark_node)
+	return error_mark_node;
+      return build2 (COMPOUND_EXPR, lhstype, lhs, newrhs);
 
       /* Handle (a, b) used as an "lvalue".  */
     case COMPOUND_EXPR:
--- gcc/testsuite/g++.dg/other/error28.C.jj	2008-04-21 15:42:09.000000000 +0200
+++ gcc/testsuite/g++.dg/other/error28.C	2008-04-21 15:37:00.000000000 +0200
@@ -0,0 +1,8 @@
+// PR c++/35987
+// { dg-do compile }
+
+void
+foo (char *p)
+{
+  if (++p = true);	// { dg-error "cannot convert" }
+}


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-9/.cvsignore,v
retrieving revision 1.232
retrieving revision 1.233
diff -u -r1.232 -r1.233
--- .cvsignore	16 Apr 2008 08:15:26 -0000	1.232
+++ .cvsignore	28 Apr 2008 14:04:58 -0000	1.233
@@ -1,2 +1,2 @@
-gcc-4.3.0-20080416.tar.bz2
 fastjar-0.95.tar.gz
+gcc-4.3.0-20080428.tar.bz2


Index: gcc43.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-9/gcc43.spec,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- gcc43.spec	16 Apr 2008 08:15:27 -0000	1.29
+++ gcc43.spec	28 Apr 2008 14:04:58 -0000	1.30
@@ -1,6 +1,6 @@
-%define DATE 20080416
+%define DATE 20080428
 %define gcc_version 4.3.0
-%define gcc_release 7
+%define gcc_release 8
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %define include_gappletviewer 1
@@ -141,12 +141,11 @@
 Patch12: gcc43-cpp-pragma.patch
 Patch13: gcc43-java-debug-iface-type.patch
 Patch14: gcc43-libgomp-speedup.patch
-Patch15: gcc43-pr35662.patch
+Patch15: gcc43-pr35909.patch
 Patch16: gcc43-i386-libgomp.patch
-Patch17: gcc43-pr35739.patch
+Patch17: gcc43-pr35987.patch
 Patch18: gcc43-rh251682.patch
-Patch19: gcc43-pr35899.patch
-Patch20: gcc43-pr35907.patch
+Patch19: gcc43-pr35650.patch
 
 # On ARM EABI systems, we do want -gnueabi to be part of the
 # target triple.
@@ -445,12 +444,11 @@
 %patch12 -p0 -b .cpp-pragma~
 %patch13 -p0 -b .java-debug-iface-type~
 %patch14 -p0 -b .libgomp-speedup~
-%patch15 -p0 -b .pr35662~
+%patch15 -p0 -b .pr35909~
 %patch16 -p0 -b .i386-libgomp~
-%patch17 -p0 -b .pr35739~
+%patch17 -p0 -b .pr35987~
 %patch18 -p0 -b .rh251682~
-%patch19 -p0 -b .pr35899~
-%patch20 -p0 -b .pr35907~
+%patch19 -p0 -b .pr35650~
 
 tar xzf %{SOURCE4}
 
@@ -1666,6 +1664,23 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
+* Mon Apr 28 2008 Jakub Jelinek <jakub at redhat.com> 4.3.0-8
+- update from gcc-4_3-branch
+  - decrease compile time stack usage during GC (#443739, PR debug/36060)
+  - fix -mregparm=X with K&R function decls (#443583, PR target/36015)
+  - fix tail called sqrt and math builtins (#435297,
+    PR rtl-optimization/36017)
+  - PRs c++/33486, c++/35316, c++/35325, c++/35678, c++/35747, c++/35758,
+	c++/35773, c/35436, c/35744, fortran/35932, fortran/35944,
+	fortran/35946, fortran/35947, fortran/35959, fortran/35994,
+	libgcj/35950, libstdc++/35597, libstdc++/35887, libstdc++/35954,
+	middle-end/36021, target/35944, testsuite/36056,
+	tree-optimization/35982, tree-optimization/36008,
+	tree-optimization/36034
+- fix C++ const references to bitfields (PR c++/35909)
+- fix C++ ++var = val error recovery (PR c++/35987)
+- fix C++ reference binding to function through using-decl (PR c++/35650)
+
 * Wed Apr 16 2008 Jakub Jelinek <jakub at redhat.com> 4.3.0-7
 - update from gcc-4_3-branch
   - PRs c++/35708, c++/35734, libstdc++/35816, middle-end/35519,


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-9/sources,v
retrieving revision 1.234
retrieving revision 1.235
diff -u -r1.234 -r1.235
--- sources	16 Apr 2008 08:15:27 -0000	1.234
+++ sources	28 Apr 2008 14:04:58 -0000	1.235
@@ -1,2 +1,2 @@
-36b379b0224f3db16e47389d6c1f11c6  gcc-4.3.0-20080416.tar.bz2
 92a70f9e56223b653bce0f58f90cf950  fastjar-0.95.tar.gz
+5dd05f97c3d766c2369fdf52c3f71017  gcc-4.3.0-20080428.tar.bz2


--- gcc43-pr35662.patch DELETED ---


--- gcc43-pr35739.patch DELETED ---


--- gcc43-pr35899.patch DELETED ---


--- gcc43-pr35907.patch DELETED ---




More information about the fedora-extras-commits mailing list