--- /dev/null
+--- gcc-4.1-20050815T0803UTC/gcc/gimplify.c 2005-08-16 19:35:38.541525608 +0000
++++ gcc-4.1-20050815T0803UTC/gcc/gimplify.c 2005-08-16 19:36:46.005269560 +0000
+@@ -2552,6 +2552,17 @@ zero_sized_field_decl (tree fdecl)
+ return false;
+ }
+
++/* Return true if TYPE is zero sized. */
++
++static bool
++zero_sized_type (tree type)
++{
++ if (AGGREGATE_TYPE_P (type) && TYPE_SIZE (type)
++ && integer_zerop (TYPE_SIZE (type)))
++ return true;
++ return false;
++}
++
+ /* A subroutine of gimplify_init_constructor. Generate individual
+ MODIFY_EXPRs for a CONSTRUCTOR. OBJECT is the LHS against which the
+ assignments should happen. ELTS is the CONSTRUCTOR_ELTS of the
+@@ -2964,6 +2975,12 @@ gimplify_modify_expr_rhs (tree *expr_p,
+ tree *post_p, bool want_value)
+ {
+ enum gimplify_status ret = GS_OK;
++ tree type = TREE_TYPE (*from_p);
++ if (zero_sized_type (type))
++ {
++ *expr_p = build_empty_stmt ();
++ return GS_ALL_DONE;
++ }
+
+ while (ret != GS_UNHANDLED)
+ switch (TREE_CODE (*from_p))
Name: gcc
Version: 4.1.0
%define _snap 20050815T0803UTC
-Release: 0.%{_snap}.2
+Release: 0.%{_snap}.3
Epoch: 5
License: GPL v2+
Group: Development/Languages
Patch12: %{name}-pr23128.patch
Patch13: %{name}-pr22533.patch
Patch14: %{name}-pr23386.patch
+Patch15: %{name}-pr23402.patch
URL: http://gcc.gnu.org/
BuildRequires: autoconf
%{?with_tests:BuildRequires: autogen}
%patch12 -p1
%patch13 -p1
%patch14 -p1
+%patch15 -p1
# because we distribute modified version of gcc...
perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c