The unified diff between revisions [66950517..] and [620ab3f0..] is displayed below. It can also be downloaded as a raw diff.

#
#
# delete "debian/patches/alpha-fix-threadprivate3.f90.dpatch"
#
# delete "debian/patches/pr40557.dpatch"
#
# add_file "debian/patches/gcc-unwind-debug-hook.dpatch"
#  content [3e6daf9d675791d6208434b6ffcb1eb638f3a29b]
#
# add_file "debian/patches/pr40134.dpatch"
#  content [a62f4116e190464fb9b42dc8dc6d0f4ea7911f45]
#
# patch "debian/changelog"
#  from [6291603f4c9efe0b011755cf8bb02c57a36f4078]
#    to [091cdcef67e250921b1afd0cb4802b417dafdde6]
#
# patch "debian/patches/svn-updates.dpatch"
#  from [035299f88a35b9470d7888b223e5d5f12548d405]
#    to [ed61d4813cc950402842d5420a8db92da2f5fee4]
#
# patch "debian/rules.d/binary-base.mk"
#  from [2d1009f1deb6e6fed4e9c6661ae616f142e9290f]
#    to [c6903b872b38d02ab6561625c5d64a20329606f3]
#
# patch "debian/rules.d/binary-gcc-cross.mk"
#  from [b7f14eb35656afc834eb3cf236ca41d51f61f588]
#    to [9795a0cd65b85191de71894c586ea200e9df4847]
#
# patch "debian/rules.d/binary-gcc.mk"
#  from [49d885c62a7d37188a7c6f5fb304616c77729267]
#    to [7c7186e41710399a1e2a4914ca360bb49db58d30]
#
# patch "debian/rules.patch"
#  from [de30ff09a6e38118260b3a9afb6f40c0e609b1a8]
#    to [e9048c8bfb8a4e3ee823820bf9e84dbbaa21384f]
#
# patch "debian/rules2"
#  from [94b458f58bf3031714e89f99498ff9bfb6ccc36d]
#    to [4990c4bf87a811eab7a9469e1832ade587497e83]
#
============================================================
--- debian/patches/gcc-unwind-debug-hook.dpatch	3e6daf9d675791d6208434b6ffcb1eb638f3a29b
+++ debian/patches/gcc-unwind-debug-hook.dpatch	3e6daf9d675791d6208434b6ffcb1eb638f3a29b
@@ -0,0 +1,73 @@
+#! /bin/sh -e
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+    pdir="-d $3"
+    dir="$3/"
+elif [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch)
+        patch $pdir -f --no-backup-if-mismatch -p1 < $0
+        ;;
+    -unpatch)
+        patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+        ;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1
+esac
+exit 0
+
+# DP: Install a hook _Unwind_DebugHook, called during unwinding. Intended as
+# DP: a hook for a debugger to intercept exceptions. CFA is the CFA of the
+# DP: target frame.  HANDLER is the PC to which control will be transferred.
+
+2009-05-27  Tom Tromey  <tromey@redhat.com>
+
+	* unwind-dw2.c (_Unwind_DebugHook): New function.
+	(uw_install_context): Call _Unwind_DebugHook.
+
+--- src/gcc/unwind-dw2.c	(revision 147933)
++++ src/gcc/unwind-dw2.c	(revision 147934)
+@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex
+   context->ra = __builtin_extract_return_addr (outer_ra);
+ }
+
++static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__));
++
++/* This function is called during unwinding.  It is intended as a hook
++   for a debugger to intercept exceptions.  CFA is the CFA of the
++   target frame.  HANDLER is the PC to which control will be
++   transferred.  */
++static void
++_Unwind_DebugHook (void *cfa __attribute__ ((__unused__)),
++		   void *handler __attribute__ ((__unused__)))
++{
++  asm ("");
++}
+
+ /* Install TARGET into CURRENT so that we can return to it.  This is a
+    macro because __builtin_eh_return must be invoked in the context of
+    our caller.  */
+
+-#define uw_install_context(CURRENT, TARGET)				 \
+-  do									 \
+-    {									 \
+-      long offset = uw_install_context_1 ((CURRENT), (TARGET));		 \
+-      void *handler = __builtin_frob_return_addr ((TARGET)->ra);	 \
+-      __builtin_eh_return (offset, handler);				 \
+-    }									 \
++#define uw_install_context(CURRENT, TARGET)				\
++  do									\
++    {									\
++      long offset = uw_install_context_1 ((CURRENT), (TARGET));		\
++      void *handler = __builtin_frob_return_addr ((TARGET)->ra);	\
++      _Unwind_DebugHook ((TARGET)->cfa, handler);			\
++      __builtin_eh_return (offset, handler);				\
++    }									\
+   while (0)
+
+ static long
============================================================
--- debian/patches/pr40134.dpatch	a62f4116e190464fb9b42dc8dc6d0f4ea7911f45
+++ debian/patches/pr40134.dpatch	a62f4116e190464fb9b42dc8dc6d0f4ea7911f45
@@ -0,0 +1,68 @@
+#! /bin/sh -e
+
+# DP: Proposed patch for PR target/40134.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+    pdir="-d $3"
+    dir="$3/"
+elif [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch)
+        patch $pdir -f --no-backup-if-mismatch -p2 < $0
+        ;;
+    -unpatch)
+        patch $pdir -f --no-backup-if-mismatch -R -p2 < $0
+        ;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1
+esac
+exit 0
+
+Index: libgcc/config/arm/t-linux
+===================================================================
+--- a/src/libgcc/config/arm/t-linux	(revision 0)
++++ b/src/libgcc/config/arm/t-linux	(revision 0)
+@@ -0,0 +1,26 @@
++# Override SHLIB_LINK and SHLIB_INSTALL to use linker script
++# libgcc_s.so.
++SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
++	-Wl,--soname=@shlib_base_name@.so.1 \
++	-Wl,--version-script=@shlib_map_file@ \
++	-o @multilib_dir@/@shlib_base_name@.so.1.tmp @multilib_flags@ \
++	@shlib_objs@ -lc && \
++	rm -f @multilib_dir@/@shlib_base_name@.so && \
++	if [ -f @multilib_dir@/@shlib_base_name@.so.1 ]; then \
++	  mv -f @multilib_dir@/@shlib_base_name@.so.1 \
++		@multilib_dir@/@shlib_base_name@.so.1.backup; \
++	else true; fi && \
++	mv @multilib_dir@/@shlib_base_name@.so.1.tmp \
++	   @multilib_dir@/@shlib_base_name@.so.1 && \
++	(echo "/* GNU ld script"; \
++	 echo "   Use the shared library, but some functions are only in"; \
++	 echo "   the static library.  */"; \
++	 echo "GROUP ( @shlib_base_name@.so.1 libgcc.a )" \
++	) > @multilib_dir@/@shlib_base_name@.so
++SHLIB_INSTALL = \
++	$(mkinstalldirs) $(DESTDIR)$(slibdir)@shlib_slibdir_qual@; \
++	$(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so.1 \
++	  $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so.1; \
++	rm -f $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so; \
++	$(INSTALL_DATA) @multilib_dir@/@shlib_base_name@.so \
++	  $(DESTDIR)$(slibdir)@shlib_slibdir_qual@/@shlib_base_name@.so
+Index: libgcc/config.host
+===================================================================
+--- a/src/libgcc/config.host	(revision 149205)
++++ b/src/libgcc/config.host	(working copy)
+@@ -203,6 +203,7 @@
+ arm*-*-netbsd*)
+ 	;;
+ arm*-*-linux*)			# ARM GNU/Linux with ELF
++	tmake_file="arm/t-linux"
+ 	;;
+ arm*-*-uclinux*)		# ARM ucLinux
+ 	;;
============================================================
--- debian/changelog	6291603f4c9efe0b011755cf8bb02c57a36f4078
+++ debian/changelog	091cdcef67e250921b1afd0cb4802b417dafdde6
@@ -5,8 +5,28 @@ gnat-4.3 (4.3.4-4) unstable; urgency=low
   * debian/rules.defs: really really disable the testsuite on sparc
     due to timeouts.  Closes: #541258.

- -- Ludovic Brenta <lbrenta@debian.org>  Tue,  6 Oct 2009 18:58:01 +0200
+  Merge from gcc-4.3 (4.3.4-5) unstable; urgency=medium

+  * Really install the linker script introduced with last upload for
+    the armel build.
+  * Set stage1 cflags for mips{,el} nbuild to fix build failure (?).
+  * Update to SVN 20091003 from the gcc-4_3-branch.
+    - Fixes PR target/22093, PR fortran/41515.
+  * Don't install the 4.3.3 symlink in the gcc libdir anymore.
+  * Install a hook _Unwind_DebugHook, called during unwinding. Intended as
+    a hook for a debugger to intercept exceptions. CFA is the CFA of the
+    target frame.  HANDLER is the PC to which control will be transferred
+    (patch taken from Fedora).
+  * Don't run the testsuite for gnat build on sparc (timeouts on the buildds).
+
+  Merge from gcc-4.3 (4.3.4-4) unstable; urgency=low
+
+  * Update to SVN 20090926 from the gcc-4_3-branch.
+    - Fixes PR c/39779, PR libffi/40242, PR libffi/41443, PR target/40473.
+  * Apply proposed patch for PR target/40134 (armel).
+
+ -- Ludovic Brenta <lbrenta@debian.org>  Tue,  6 Oct 2009 22:14:11 +0200
+
 gnat-4.3 (4.3.4-3) unstable; urgency=low

   [Ludovic Brenta]
============================================================
--- debian/patches/svn-updates.dpatch	035299f88a35b9470d7888b223e5d5f12548d405
+++ debian/patches/svn-updates.dpatch	ed61d4813cc950402842d5420a8db92da2f5fee4
@@ -1,12 +1,12 @@
 #! /bin/sh -e

-# DP: updates from the 4.3 branch upto 20090919.
+# DP: updates from the 4.3 branch upto 20091003.

 last_updated()
 {
 	cat > ${dir}LAST_UPDATED <<EOF
-Sat Sep 19 11:04:38 CEST 2009
-Sat Sep 19 09:04:38 UTC 2009 (revision 151880)
+Sat Oct  3 21:49:05 CEST 2009
+Sat Oct  3 19:49:05 UTC 2009 (revision 152433)
 EOF
 }

@@ -22,11 +22,9 @@ case "$1" in
     -patch)
         patch $pdir -f --no-backup-if-mismatch -p0 < $0
 	last_updated
-        #cd ${dir}gcc && autoconf2.59
         ;;
     -unpatch)
         patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
-        #rm ${dir}gcc/configure
         ;;
     *)
         echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
@@ -39,8 +37,8 @@ Index: libgomp/ChangeLog

 Index: libgomp/ChangeLog
 ===================================================================
---- libgomp/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ libgomp/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- libgomp/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libgomp/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,3 +1,15 @@
 +2009-08-19  Tobias Burnus  <burnus@net-b.de>
 +
@@ -59,8 +57,8 @@ Index: libgomp/testsuite/libgomp.c/atomi
  	* GCC 4.3.4 released.
 Index: libgomp/testsuite/libgomp.c/atomic-6.c
 ===================================================================
---- libgomp/testsuite/libgomp.c/atomic-6.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ libgomp/testsuite/libgomp.c/atomic-6.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- libgomp/testsuite/libgomp.c/atomic-6.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libgomp/testsuite/libgomp.c/atomic-6.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  /* PR middle-end/36106 */
  /* { dg-options "-O2" } */
@@ -70,8 +68,8 @@ Index: libgomp/omp_lib.h.in
  #ifdef __i386__
 Index: libgomp/omp_lib.h.in
 ===================================================================
---- libgomp/omp_lib.h.in	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ libgomp/omp_lib.h.in	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- libgomp/omp_lib.h.in	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libgomp/omp_lib.h.in	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -38,16 +38,16 @@
        external omp_set_num_threads

@@ -96,8 +94,8 @@ Index: libdecnumber/decCommon.c
        double precision omp_get_wtick, omp_get_wtime
 Index: libdecnumber/decCommon.c
 ===================================================================
---- libdecnumber/decCommon.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ libdecnumber/decCommon.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- libdecnumber/decCommon.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libdecnumber/decCommon.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1094,6 +1094,7 @@
    return 10;
    } /* decFloatRadix */
@@ -116,8 +114,8 @@ Index: libdecnumber/ChangeLog
  /* decFloatToBCD -- get sign, exponent, and BCD8 from a decFloat      */
 Index: libdecnumber/ChangeLog
 ===================================================================
---- libdecnumber/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ libdecnumber/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- libdecnumber/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libdecnumber/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,3 +1,9 @@
 +2009-08-13  Janis Johnson  <janis187@us.ibm.com>
 +
@@ -130,15 +128,15 @@ Index: gcc/DATESTAMP
  	* GCC 4.3.4 released.
 Index: gcc/DATESTAMP
 ===================================================================
---- gcc/DATESTAMP	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/DATESTAMP	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/DATESTAMP	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/DATESTAMP	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1 +1 @@
 -20090804
-+20090919
++20091003
 Index: gcc/builtins.c
 ===================================================================
---- gcc/builtins.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/builtins.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/builtins.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/builtins.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -8459,15 +8459,18 @@
  	    }
  	}
@@ -162,11 +160,129 @@ Index: gcc/builtins.c
  	}
      }

+Index: gcc/real.c
+===================================================================
+--- gcc/real.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/real.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -110,6 +110,9 @@
+ static void do_fix_trunc (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *);
+
+ static unsigned long rtd_divmod (REAL_VALUE_TYPE *, REAL_VALUE_TYPE *);
++static void decimal_from_integer (REAL_VALUE_TYPE *);
++static void decimal_integer_string (char *, const REAL_VALUE_TYPE *,
++				    size_t);
+
+ static const REAL_VALUE_TYPE * ten_to_ptwo (int);
+ static const REAL_VALUE_TYPE * ten_to_mptwo (int);
+@@ -2146,10 +2149,70 @@
+       normalize (r);
+     }
+
+-  if (mode != VOIDmode)
++  if (DECIMAL_FLOAT_MODE_P (mode))
++    decimal_from_integer (r);
++  else if (mode != VOIDmode)
+     real_convert (r, mode, r);
+ }
+
++/* Render R, an integral value, as a floating point constant with no
++   specified exponent.  */
++
++static void
++decimal_integer_string (char *str, const REAL_VALUE_TYPE *r_orig,
++			size_t buf_size)
++{
++  int dec_exp, digit, digits;
++  REAL_VALUE_TYPE r, pten;
++  char *p;
++  bool sign;
++
++  r = *r_orig;
++
++  if (r.cl == rvc_zero)
++    {
++      strcpy (str, "0.");
++      return;
++    }
++
++  sign = r.sign;
++  r.sign = 0;
++
++  dec_exp = REAL_EXP (&r) * M_LOG10_2;
++  digits = dec_exp + 1;
++  gcc_assert ((digits + 2) < (int)buf_size);
++
++  pten = *real_digit (1);
++  times_pten (&pten, dec_exp);
++
++  p = str;
++  if (sign)
++    *p++ = '-';
++
++  digit = rtd_divmod (&r, &pten);
++  gcc_assert (digit >= 0 && digit <= 9);
++  *p++ = digit + '0';
++  while (--digits > 0)
++    {
++      times_pten (&r, 1);
++      digit = rtd_divmod (&r, &pten);
++      *p++ = digit + '0';
++    }
++  *p++ = '.';
++  *p++ = '\0';
++}
++
++/* Convert a real with an integral value to decimal float.  */
++
++static void
++decimal_from_integer (REAL_VALUE_TYPE *r)
++{
++  char str[256];
++
++  decimal_integer_string (str, r, sizeof (str) - 1);
++  decimal_real_from_string (r, str);
++}
++
+ /* Returns 10**2**N.  */
+
+ static const REAL_VALUE_TYPE *
 Index: gcc/ChangeLog
 ===================================================================
---- gcc/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
-@@ -1,3 +1,136 @@
+--- gcc/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -1,3 +1,168 @@
++2009-09-30  Uros Bizjak  <ubizjak@gmail.com>
++
++	PR target/22093
++	* config/alpha/alpha.md (unaligned_storehi_be): Force operand
++	of plus RTX into register.
++
++2009-09-25  Alan Modra  <amodra@bigpond.net.au>
++
++	* config/rs6000/rs6000.md (load_toc_v4_PIC_3c): Correct POWER
++	form of instruction.
++
++2009-09-23  Alan Modra  <amodra@bigpond.net.au>
++
++	PR target/40473
++	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
++	call final to emit non-scheduled prologue, instead insert at entry.
++
++2009-09-23  Uros Bizjak  <ubizjak@gmail.com>
++
++	PR c/39779
++	* c-typeck.c (build_binary_op) <short_shift>: Check that integer
++	constant is more than zero.
++
++2009-09-21  Janis Johnson  <janis187@us.ibm.com>
++
++	PR c/41049
++	* real.c decimal_from_integer, decimal_integer_string): New.
++	(real_from_integer): Use them as special case for decimal float.
++	* config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
++	(_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
++	Do not append zero after the decimal point in string to convert.
++
 +2009-09-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 +
 +	PR middle-end/41009
@@ -303,7 +419,7 @@ Index: gcc/ChangeLog
  2009-08-04  Release Manager

  	* GCC 4.3.4 released.
-@@ -129,7 +267,7 @@
+@@ -129,7 +299,7 @@
  2009-06-30  Ira Rosen  <irar@il.ibm.com>

  	PR tree-optimization/40542
@@ -312,7 +428,7 @@ Index: gcc/ChangeLog
  	vectorize volatile types.

  2009-06-29  Richard Guenther  <rguenther@suse.de>
-@@ -207,11 +345,11 @@
+@@ -207,11 +377,11 @@
  	arg1.

  	2009-02-03  Jakub Jelinek  <jakub@redhat.com>
@@ -326,7 +442,7 @@ Index: gcc/ChangeLog
  2009-06-19  Richard Guenther  <rguenther@suse.de>

  	Backport from mainline:
-@@ -502,7 +640,7 @@
+@@ -502,7 +672,7 @@
  	* c-typeck.c (build_conditional_expr): Emit ObjC warnings
  	by calling objc_compare_types and surpress warnings about
  	incompatible C pointers that are compatible ObjC pointers.
@@ -335,7 +451,7 @@ Index: gcc/ChangeLog
  2009-04-01  Eric Botcazou  <ebotcazou@adacore.com>

  	PR rtl-optimization/39588
-@@ -571,9 +709,9 @@
+@@ -571,9 +741,9 @@

  	Backport from mainline:
  	2008-12-02  Martin Jambor  <mjambor@suse.cz>
@@ -347,7 +463,7 @@ Index: gcc/ChangeLog
  	(forward_propagate_addr_into_variable_array_index): Check that the
  	offset is not computed from a MULT_EXPR if element size is one.

-@@ -729,7 +867,7 @@
+@@ -729,7 +899,7 @@
  	PR rtl-optimization/39076
  	Backport from mainline:
  	2008-06-28  Andrew Jenner  <andrew@codesourcery.com>
@@ -356,7 +472,7 @@ Index: gcc/ChangeLog
  	* regrename.c (build_def_use): Don't copy RTX.

  2009-02-04  Joseph Myers  <joseph@codesourcery.com>
-@@ -912,7 +1050,7 @@
+@@ -912,7 +1082,7 @@

  	* sched-deps.c (sched_analyze_2)[UNSPEC_VOLATILE]: Flush pending
  	memory loads and stores.
@@ -365,7 +481,7 @@ Index: gcc/ChangeLog
  2009-01-11  Matthias Klose  <doko@ubuntu.com>

  	PR middle-end/38616
-@@ -1382,7 +1520,7 @@
+@@ -1382,7 +1552,7 @@
  2008-10-17  Andrew MacLeod  <amacleod@redhat.com>

  	PR tree-optimization/37102
@@ -374,7 +490,7 @@ Index: gcc/ChangeLog
  	from a node. Check to see if another PHI is dead.
  	(eliminate_useless_phis): Rename from eliminate_virtual_phis and
  	remove real PHIs which have no uses.
-@@ -1846,7 +1984,7 @@
+@@ -1846,7 +2016,7 @@

  	* sched-rgn.c (new_ready): Check if instruction can be
  	speculatively scheduled before attempting speculation.
@@ -383,10 +499,39 @@ Index: gcc/ChangeLog

  2008-08-05  Jason Merrill  <jason@redhat.com>

+Index: gcc/testsuite/gcc.c-torture/compile/pr39779.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr39779.c	(.../tags/gcc_4_3_4_release)	(revision 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr39779.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -0,0 +1,5 @@
++int test (char v1)
++{
++  v1 >>= 0xdebecced;
++  return v1;
++}
+Index: gcc/testsuite/gcc.target/alpha/pr22093.c
+===================================================================
+--- gcc/testsuite/gcc.target/alpha/pr22093.c	(.../tags/gcc_4_3_4_release)	(revision 0)
++++ gcc/testsuite/gcc.target/alpha/pr22093.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -0,0 +1,14 @@
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++struct shared_ptr_struct
++{
++  unsigned long phase : 48;
++  unsigned thread : 16;
++  void *addr;
++} x;
++
++void foo (void)
++{
++   x.thread = 2;
++}
 Index: gcc/testsuite/gcc.target/i386/pr41019.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/pr41019.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.target/i386/pr41019.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.target/i386/pr41019.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,19 @@
 +/* { dg-do run } */
 +/* { dg-options "-O2 -msse2 -ftree-vectorize" } */
@@ -410,7 +555,7 @@ Index: gcc/testsuite/gcc.target/i386/pr4
 Index: gcc/testsuite/gcc.target/i386/pr40718.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/pr40718.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.target/i386/pr40718.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.target/i386/pr40718.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,36 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target ilp32 } */
@@ -451,7 +596,7 @@ Index: gcc/testsuite/gcc.target/i386/pr4
 Index: gcc/testsuite/gcc.target/i386/pr40906-1.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/pr40906-1.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.target/i386/pr40906-1.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.target/i386/pr40906-1.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,26 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target ilp32 } */
@@ -482,7 +627,7 @@ Index: gcc/testsuite/gcc.target/i386/pr4
 Index: gcc/testsuite/gcc.target/i386/pr40906-2.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/pr40906-2.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.target/i386/pr40906-2.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.target/i386/pr40906-2.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,26 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target ilp32 } */
@@ -512,8 +657,8 @@ Index: gcc/testsuite/gcc.target/x86_64/a
 +}
 Index: gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s
 ===================================================================
---- gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.target/x86_64/abi/asm-support-darwin.s	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -42,7 +42,9 @@
  .globl _snapshot_ret
  _snapshot_ret:
@@ -526,8 +671,8 @@ Index: gcc/testsuite/gcc.dg/builtins-con
  	movdqu	%xmm0, _xmm_regs+0(%rip)
 Index: gcc/testsuite/gcc.dg/builtins-config.h
 ===================================================================
---- gcc/testsuite/gcc.dg/builtins-config.h	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/builtins-config.h	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/builtins-config.h	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/builtins-config.h	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -13,8 +13,8 @@
  /* PA HP-UX doesn't have the entire C99 runtime.  */
  #elif defined(__sgi)
@@ -542,7 +687,7 @@ Index: gcc/testsuite/gcc.dg/pr41033.c
 Index: gcc/testsuite/gcc.dg/pr41033.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/pr41033.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.dg/pr41033.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.dg/pr41033.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,24 @@
 +/* { dg-options "-O1 -fno-strict-aliasing" } */
 +/* PR rtl-optimization/41033 */
@@ -570,8 +715,8 @@ Index: gcc/testsuite/gcc.dg/20020919-1.c
 +}
 Index: gcc/testsuite/gcc.dg/20020919-1.c
 ===================================================================
---- gcc/testsuite/gcc.dg/20020919-1.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/20020919-1.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/20020919-1.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/20020919-1.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -8,7 +8,7 @@
     You must be this tall ---> fit two long longs in asm-declared registers
     to enter this amusement.  */
@@ -583,8 +728,8 @@ Index: gcc/testsuite/gcc.dg/builtins-10.
  /* Constructed examples; input/output (same register), output, input, and
 Index: gcc/testsuite/gcc.dg/builtins-10.c
 ===================================================================
---- gcc/testsuite/gcc.dg/builtins-10.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/builtins-10.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/builtins-10.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/builtins-10.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -25,7 +25,7 @@
      link_error ();

@@ -605,8 +750,8 @@ Index: gcc/testsuite/gcc.dg/pr31866.c

 Index: gcc/testsuite/gcc.dg/pr31866.c
 ===================================================================
---- gcc/testsuite/gcc.dg/pr31866.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/pr31866.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/pr31866.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/pr31866.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,5 @@
  /* PR tree-optimization/31866 */
 -/* { dg-do compile { target alpha-*-* cris-*-* crisv32-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */
@@ -616,8 +761,8 @@ Index: gcc/testsuite/gcc.dg/torture/type
  #if defined (__alpha__)
 Index: gcc/testsuite/gcc.dg/torture/type-generic-1.c
 ===================================================================
---- gcc/testsuite/gcc.dg/torture/type-generic-1.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/torture/type-generic-1.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/torture/type-generic-1.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/torture/type-generic-1.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2,7 +2,7 @@
     without any fast-math flags.  */

@@ -629,8 +774,8 @@ Index: gcc/testsuite/gcc.dg/torture/buil
  #include "../tg-tests.h"
 Index: gcc/testsuite/gcc.dg/torture/builtin-power-1.c
 ===================================================================
---- gcc/testsuite/gcc.dg/torture/builtin-power-1.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/torture/builtin-power-1.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/torture/builtin-power-1.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/torture/builtin-power-1.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -77,9 +77,9 @@
    /* Test pow(pow(x,y),z) -> pow(x,y*z).  */
  #define POW_POW \
@@ -647,7 +792,7 @@ Index: gcc/testsuite/gcc.dg/torture/pr41
 Index: gcc/testsuite/gcc.dg/torture/pr41094.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/torture/pr41094.c	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gcc.dg/torture/pr41094.c	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gcc.dg/torture/pr41094.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,19 @@
 +/* { dg-do run } */
 +/* { dg-options "-ffast-math" } */
@@ -668,10 +813,586 @@ Index: gcc/testsuite/gcc.dg/torture/pr41
 +    abort ();
 +  return 0;
 +}
+Index: gcc/testsuite/gcc.dg/dfp/pr41049.c
+===================================================================
+--- gcc/testsuite/gcc.dg/dfp/pr41049.c	(.../tags/gcc_4_3_4_release)	(revision 0)
++++ gcc/testsuite/gcc.dg/dfp/pr41049.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -0,0 +1,571 @@
++/* { dg-options "-std=gnu99" } */
++
++/* The preferred exponent of the result of a conversion from an
++   integral type to a decimal float type is zero.  A conversion at
++   either compile time or runtime should not change the number of
++   trailing zeroes.  */
++
++int failures;
++
++#ifdef DBG
++extern int printf (const char *, ...);
++#define FAILURE { printf ("failed at line %d\n", __LINE__); failures++; }
++#define FINISH if (failures != 0) __builtin_abort (); return 0;
++#else
++#define FAILURE __builtin_abort ();
++#define FINISH return 0;
++#endif
++
++#define PASTE2(A,B) A ## B
++#define PASTE(A,B) PASTE2(A,B)
++
++#define TESTVAL_NEG(VAL,SUF,SIZE)					\
++  x = PASTE(PASTE(VAL,.),SUF);						\
++  si = VAL;								\
++  sll = PASTE(VAL,LL);							\
++  a = si;								\
++  b = sll;								\
++  c = VAL;								\
++  d = PASTE(VAL,LL);							\
++  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0))		\
++    FAILURE
++
++#define TESTVAL_NEG_BIG(VAL,SUF,SIZE)					\
++  x = PASTE(PASTE(VAL,.),SUF);						\
++  sll = PASTE(VAL,LL);							\
++  a = sll;								\
++  b = PASTE(VAL,LL);							\
++  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0))		\
++    FAILURE
++
++#define TESTVAL_NONNEG(VAL,SUF,SIZE)					\
++  x = PASTE(PASTE(VAL,.),SUF);						\
++  si = VAL;								\
++  ui = VAL;								\
++  sll = PASTE(VAL,LL);							\
++  ull = PASTE(VAL,ULL);							\
++  a = si;								\
++  b = sll;								\
++  c = ui;								\
++  d = ull;								\
++  e = VAL;								\
++  f = VAL;								\
++  g = PASTE(VAL,LL);							\
++  h = PASTE(VAL,ULL);							\
++  if ((__builtin_memcmp ((void *)&x, (void *)&a, SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&b,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&c,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&d,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&e,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&f,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&g,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&x, (void *)&h,SIZE) != 0))		\
++    FAILURE
++
++#define TESTVAL_NONNEG_BIG(VAL,SUF,SIZE)				\
++  x = PASTE(PASTE(VAL,.),SUF);						\
++  sll = PASTE(VAL,LL);							\
++  ull = PASTE(VAL,ULL);							\
++  b = sll;								\
++  d = ull;								\
++  f = PASTE(VAL,LL);							\
++  g = PASTE(VAL,ULL);							\
++  if ((__builtin_memcmp ((void *)&x, (void *)&b, SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&d, (void *)&d,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&f, (void *)&d,SIZE) != 0)		\
++      || (__builtin_memcmp ((void *)&g, (void *)&d,SIZE) != 0))		\
++    FAILURE
++
++#undef SUFFIX
++#define SUFFIX DF
++#undef TYPE
++#define TYPE _Decimal32
++
++void
++zeroes_32 (void)
++{
++  volatile TYPE x, a, b, c, d, e, f, g, h;
++  volatile int si;
++  volatile unsigned int ui;
++  volatile long long sll;
++  volatile unsigned long long ull;
++
++  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
++
++  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
++}
++
++void
++round_32 (void)
++{
++  volatile TYPE x, a, b, c, d, e, f, g, h;
++  volatile int si;
++  volatile unsigned int ui;
++  volatile long long sll;
++  volatile unsigned long long ull;
++
++  TESTVAL_NONNEG (10000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000050, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000001, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000002, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000003, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000004, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000006, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000007, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000008, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000009, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000010, SUFFIX, sizeof (TYPE));
++
++  TESTVAL_NEG (-10000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000050, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000001, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000002, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000003, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000004, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000006, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000007, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000008, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000009, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000010, SUFFIX, sizeof (TYPE));
++}
++
++#undef SUFFIX
++#define SUFFIX DD
++#undef TYPE
++#define TYPE _Decimal64
++
++void
++zeroes_64 (void)
++{
++  volatile TYPE x, a, b, c, d, e, f, g, h;
++  volatile int si;
++  volatile unsigned int ui;
++  volatile long long sll;
++  volatile unsigned long long ull;
++
++  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
++
++  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
++}
++
++void
++round_64 (void)
++{
++  volatile TYPE x, a, b, c, d, e, f, g, h;
++  volatile int si;
++  volatile unsigned int ui;
++  volatile long long sll;
++  volatile unsigned long long ull;
++
++  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000001, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000002, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000003, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000004, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000006, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000007, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000008, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000009, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000010, SUFFIX, sizeof (TYPE));
++
++  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000001, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000002, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000003, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000004, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000049, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000051, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000006, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000007, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000008, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000009, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000010, SUFFIX, sizeof (TYPE));
++}
++
++#undef SUFFIX
++#define SUFFIX DL
++#undef TYPE
++#define TYPE _Decimal128
++
++void
++zeroes_128 (void)
++{
++  volatile TYPE x, a, b, c, d, e, f, g, h;
++  volatile int si;
++  volatile unsigned int ui;
++  volatile long long sll;
++  volatile unsigned long long ull;
++
++  TESTVAL_NONNEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG (1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NONNEG_BIG (9000000000000000000, SUFFIX, sizeof (TYPE));
++
++  TESTVAL_NEG (0, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-5000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-9000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-10000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-50000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-90000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-100000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-500000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-900000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG (-1000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-10000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-50000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-90000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-100000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-500000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-900000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-1000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-5000000000000000000, SUFFIX, sizeof (TYPE));
++  TESTVAL_NEG_BIG (-9000000000000000000, SUFFIX, sizeof (TYPE));
++}
++
++
++int
++main ()
++{
++  zeroes_32 ();
++  zeroes_64 ();
++  zeroes_128 ();
++  round_32 ();
++  round_64 ();
++
++  FINISH
++}
 Index: gcc/testsuite/gcc.dg/ssp-1.c
 ===================================================================
---- gcc/testsuite/gcc.dg/ssp-1.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gcc.dg/ssp-1.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gcc.dg/ssp-1.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gcc.dg/ssp-1.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -4,7 +4,7 @@

  #include <stdlib.h>
@@ -683,9 +1404,29 @@ Index: gcc/testsuite/ChangeLog
    exit (0); /* pass */
 Index: gcc/testsuite/ChangeLog
 ===================================================================
---- gcc/testsuite/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
-@@ -1,3 +1,118 @@
+--- gcc/testsuite/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -1,3 +1,138 @@
++2009-10-01  Tobias Burnus  <burnus@net-b.de>
++
++	PR fortran/41515
++	* gfortran.dg/parameter_array_init_5.f90: New test.
++
++2009-09-30  Uros Bizjak  <ubizjak@gmail.com>
++
++	PR target/22093
++	* gcc.target/alpha/pr22093.c: New test.
++
++2009-09-23  Uros Bizjak  <ubizjak@gmail.com>
++
++	PR c/39779
++	* gcc.c-torture/compile/pr39779.c: New test.
++
++2009-09-21  Janis Johnson  <janis187@us.ibm.com>
++
++	PR c/41049
++	* gcc.dg/dfp/pr41049.c: New test.
++
 +2009-09-18  Jack Howarth  <howarth@bromo.med.uc.edu>
 +
 +	PR testsuite/41288
@@ -780,7 +1521,7 @@ Index: gcc/testsuite/ChangeLog
 +2009-08-13  Richard Guenther  <rguenther@suse.de>
 +
 +	PR rtl-optimization/41033
-+	* gcc.dg/pr41033.c: New test.
++	* gcc.dg/pr41033.c: New test.
 +
 +2009-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 +
@@ -804,10 +1545,620 @@ Index: gcc/testsuite/ChangeLog
  2009-08-04  Release Manager

  	* GCC 4.3.4 released.
+@@ -150,7 +285,7 @@
+ 	* gcc.c-torture/compile/pr40204.c: New test.
+
+ 	2009-02-03  Jakub Jelinek  <jakub@redhat.com>
+-
++
+ 	PR target/35318
+ 	* gcc.c-torture/compile/pr35318.c: New test.
+
+@@ -364,7 +499,7 @@
+
+ 	PR objc/27377
+ 	* objc.dg/conditional-1.m: New tests.
+-
++
+ 2009-04-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+ 	* gcc.c-torture/compile/20090401-1.c: New test.
+@@ -1885,7 +2020,7 @@
+ 	* gcc.dg/builtins-1.c: SPU does not support __builtin_inff.
+ 	* gcc.dg/builtin-inf-1.c: SPU does not support __builtin_inff.
+ 	Check for error instead of warning "does not support infinity".
+-	* gcc.dg/builtins-43.c: Disable "float" Inf/Nan tests on SPU.
++	* gcc.dg/builtins-43.c: Disable "float" Inf/Nan tests on SPU.
+ 	* gcc.dg/builtins-44.c: Likewise.
+ 	* gcc.dg/builtins-45.c: Likewise.
+ 	* gcc.dg/torture/builtin-math-2.c: Likewise.
+@@ -2071,7 +2206,7 @@
+
+ 	PR rtl-optimization/36111
+ 	* gcc.dg/pr36111.c: New test.
+-
++
+ 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
+
+ 	* lib/target-supports.exp (check_effective_target_powerpc_spu):
+@@ -2815,7 +2950,7 @@
+
+ 	PR c++/35338
+ 	* g++.dg/other/error25.C: New.
+-
++
+ 2008-03-05  Release Manager
+
+ 	* GCC 4.3.0 released.
+@@ -3202,7 +3337,7 @@
+
+ 	* lib/target-supports.exp (check_effective_target_hard_float): Remove
+ 	special case for xtensa-*-*.
+-
++
+ 2008-02-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+ 	PR fortran/35037
+@@ -3764,7 +3899,7 @@
+
+ 	PR libfortran/34795
+ 	* gfortran.dg/inquire_13.f90: New test.
+-
++
+ 	PR libfortran/34659
+ 	* gfortran.dg/continuation_9.f90: New test.
+
+@@ -3826,7 +3961,8 @@
+
+ 2008-01-18  Tobias Burnus  <burnus@net-b.de>
+
+-	* gfortran.dg/large_real_kind_form_io_1.f90: Enlarge string for internal I/O.
++	* gfortran.dg/large_real_kind_form_io_1.f90: Enlarge string
++	for internal I/O.
+
+ 2008-01-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+@@ -3972,7 +4108,7 @@
+ 	* gfortran.dg/argument_checking_14.f90: New.
+
+ 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+-
++
+ 	PR libfortran/34671
+ 	* gfortran.dg/anyallcount_1.f90:  New test.
+
+@@ -4017,7 +4153,7 @@
+ 	PR c++/34052
+ 	* g++.dg/cpp0x/vt-34052.C: New.
+ 	* g++.dg/template/ttp26.C: New.
+-
++
+ 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+ 	* gnat.dg/rep_clause2.ad[sb]: New test.
+@@ -4028,7 +4164,7 @@
+ 	PR c++/24924
+ 	* g++.dg/cpp/pedantic-errors.C: Delete.
+ 	* g++.dg/cpp/permissive.C: Delete.
+-
++
+ 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+ 	* gcc.c-torture/compile/20080114-1.c: New test.
+@@ -4558,7 +4694,7 @@
+
+ 2007-12-18  Douglas Gregor  <doug.gregor@gmail.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+-
++
+ 	PR c++/32565
+ 	PR c++/33943
+ 	PR c++/33965
+@@ -4592,7 +4728,7 @@
+
+ 2007-12-17  Dorit Nuzman  <dorit@il.ibm.com>
+
+-	* gcc.dg/tree-ssa/gen-vect-2.c: Change verbosity level to 4.
++	* gcc.dg/tree-ssa/gen-vect-2.c: Change verbosity level to 4.
+ 	* gcc.dg/tree-ssa/gen-vect-32.c: Likewise
+ 	* gcc.dg/tree-ssa/gen-vect-25.c: Likewise
+ 	* gcc.dg/tree-ssa/gen-vect-26.c: Likewise
+@@ -4620,7 +4756,7 @@
+ 	PR fortran/34427
+ 	* gfortran.dg/namelist_42.f90: Update.
+ 	* gfortran.dg/namelist_43.f90: New.
+-
++
+ 2007-12-16  Tobias Burnus  <burnus@net-b.de>
+
+ 	PR fortran/34495
+@@ -4656,8 +4792,7 @@
+
+ 2007-12-16  Danny Smith <dannysmith@users.sourceforge.net>
+
+-	* gcc.target/i386/fastcall-1.c: (f4): Change return type to
+-	void.
++	* gcc.target/i386/fastcall-1.c: (f4): Change return type to void.
+
+ 2007-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+@@ -4742,9 +4877,9 @@
+
+ 2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+-	* gcc.dg/struct/struct-reorg.exp: Replace
+-	 DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS.
+-
++	* gcc.dg/struct/struct-reorg.exp: Replace
++	 DEFAULT_CFLAGS by STRUCT_REORG_CFLAFS.
++
+ 2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+ 	PR libfortran/34370
+@@ -4765,7 +4900,7 @@
+
+ 2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+-	* gcc.dg/struct: New directory with tests
++	* gcc.dg/struct: New directory with tests
+ 	for struct-reorg optimizaion.
+ 	* gcc.dg/struct/struct-reorg.exp: New script.
+ 	* gcc.dg/struct/wo_prof_array_through_pointer.c: New test.
+@@ -4962,7 +5097,7 @@
+ 	PR ada/34173
+ 	* gnat.dg/unc_memops.ad[sb]: Support for ...
+ 	* gnat.dg/unc_memfree.adb: New test.
+-
++
+ 2007-12-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+ 	* gfortran.dg/ltrans-7.f90: New.
+@@ -5057,10 +5192,10 @@
+ 	* g++.dg/cpp0x/variadic-ttp.C: New.
+
+ 2007-12-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+-
++
+ 	* gcc.dg/parse-decl-after-if.c: New.
+ 	* gcc.dg/20031223-1.c: Adjust.
+-
++
+ 2007-12-04  Douglas Gregor  <doug.gregor@gmail.com>
+
+ 	PR c++/33509
+@@ -5240,13 +5375,13 @@
+ 	* gfortran.dg/mvbits_3.f90: New.
+
+ 2007-11-28  Bob Wilson  <bob.wilson@acm.org>
+-
++
+ 	* lib/target-supports.exp (check_effective_target_mips_soft_float):
+ 	Delete.
+ 	(check_effective_target_hard_float): New.
+ 	* gcc.dg/var-expand1.c: Skip for targets without FPU instructions.
+ 	* gcc.dg/pr30957-1.c: Likewise.
+-
++
+ 2007-11-28  Samuel Tardieu  <sam@rfc1149.net>
+
+ 	PR ada/15804
+@@ -5437,11 +5572,11 @@
+
+ 2007-11-23  Mark Mitchell  <mark@codesourcery.com>
+ 	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+-
++
+ 	PR c++/5310
+ 	* g++.dg/warn/pr5310.C: New.
+ 	* g++.dg/warn/pr33160.C: New.
+-
++
+ 2007-11-23  Richard Guenther  <rguenther@suse.de>
+ 	    Michael Matz  <matz@suse.de>
+
+@@ -5600,10 +5735,10 @@
+
+ 	PR fortran/33317
+ 	* gfortran.dg/optional_dim_2.f90: New test.
+-
++
+ 	PR fortran/34139
+ 	* gfortran.dg/subref_array_pointer_2.f90: Update test condition.
+-
++
+ 2007-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+ 	PR rtl-optimization/34132
+@@ -5883,9 +6018,9 @@
+
+ 	PR middle-end/33826
+ 	* gcc.dg/pr33826.c: New.
+-	* gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on
++	* gcc.dg/tree-ssa/20030714-1.c: Removed two tests that depend on
+ 	recursive functions being marked pure or const.
+-
++
+ 2007-11-08  Tobias Burnus  <burnus@net-b.de>
+
+ 	PR fortran/33917
+@@ -5954,7 +6089,7 @@
+ 	PR c++/33977
+ 	PR c++/33886
+ 	* g++.dg/other/canon-array.C: New.
+-
++
+ 2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>
+
+ 	* g++.dg/parser/crash36.C: Tweak expected errors.
+@@ -6015,7 +6150,7 @@
+
+ 	PR c++/33939
+ 	* g++.dg/cpp0x/variadic-rref.C: New.
+-
++
+ 2007-11-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+ 	* g++dg/warn/pointer-integer-comparison.C: New.
+@@ -6045,7 +6180,7 @@
+
+ 2007-11-03  Dorit Nuzman  <doirit@il.ibm.com>
+
+-	* gfortran.dg/vect/no-vfa-pr32377.f90: Remove xfail.
++	* gfortran.dg/vect/no-vfa-pr32377.f90: Remove xfail.
+
+ 2007-11-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+@@ -6057,7 +6192,7 @@
+ 	PR c/29062
+ 	* gcc.dg/20031223-1.c: Adjust error output.
+ 	* gcc.dg/parse-decl-after-label.c: New.
+-
++
+ 2007-11-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+ 	PR libfortran/24685
+@@ -6224,12 +6359,12 @@
+ 	* gfortran.dg/interface_19.f90: New.
+ 	* gfortran.dg/interface_20.f90: New.
+ 	* gfortran.dg/interface_21.f90: New.
+-
++
+ 2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+ 	PR tree-optimization/32377
+ 	* gfortran.dg/vect/pr32377.f90: New.
+-
++
+ 2007-10-31  Richard Guenther  <rguenther@suse.de>
+
+ 	PR middle-end/33779
+@@ -6245,7 +6380,7 @@
+
+ 	PR c++/19531
+ 	* g++.dg/opt/nrv8.C: New.
+-
++
+ 2007-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+ 	PR c++/33709
+@@ -6492,7 +6627,7 @@
+ 2007-10-26  Douglas Gregor  <doug.gregor@gmail.com>
+
+ 	* g++.dg/cpp0x/pr33839.C: New.
+-
++
+ 2007-10-26  Jakub Jelinek  <jakub@redhat.com>
+
+ 	PR c++/33744
+@@ -6579,7 +6714,7 @@
+ 	* g++.dg/vect/pr33860a.cc: New test.
+
+ 2007-10-23  Tehila Meyzels  <tehila@il.ibm.com>
+-	    Revital Eres  <eres@il.ibm.com>
++	    Revital Eres  <eres@il.ibm.com>
+
+ 	* gcc.dg/sms-2.c: New testcase.
+
+@@ -6945,7 +7080,7 @@
+ 	* gcc.dg/pr33645-1.c: New test.
+ 	* gcc.dg/pr33645-2.c: New test.
+ 	* gcc.dg/pr33645-3.c: New test.
+-
++
+ 	PR c++/32121
+ 	* g++.dg/ext/label4.C: Adjust error regexp.
+ 	* g++.dg/ext/label6.C: Adjust error regexp.
+@@ -6983,7 +7118,7 @@
+
+ 	PR fortran/33500
+ 	* gfortran.fortran-torture/compile/logical-1.f90: New testcase.
+-
++
+ 2007-10-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+ 	PR testsuite/33391
+@@ -8191,8 +8326,7 @@
+ 	* gcc.target/i386/i386.exp (check_effective_target_sse5): Check
+ 	whether the SSE5 instructions can be generated.
+
+-	* gcc.target/i386/sse5-check.h: New. Add support for
+-	SSE5 tests.
++	* gcc.target/i386/sse5-check.h: New. Add support for SSE5 tests.
+
+ 	* gcc.target/i386/sse-12.c: Include bmmintrin.h instead of
+ 	ammintrin.h, and turn on -msse5 option instead of -msse4a.
+@@ -8212,11 +8346,11 @@
+ 	* gcc.dg/pr32338-2.c: New test.
+
+ 2007-09-12  Bob Wilson  <bob.wilson@acm.org>
+-
++
+ 	* lib/target-supports.exp (check_effective_target_sync_int_long):
+ 	Revert change to add xtensa.
+ 	(check_effective_target_sync_char_short): Likewise.
+-
++
+ 2007-09-12  Olivier Hainque  <hainque@adacore.com>
+
+ 	* gnat.dg/packed_subtype.adb: New test.
+@@ -8275,7 +8409,7 @@
+ 2007-09-11  Christopher D. Rickett  <crickett@lanl.gov>
+
+ 	PR fortran/33040
+-	* gfortran.dg/c_ptr_tests_11.f03: New test case.
++	* gfortran.dg/c_ptr_tests_11.f03: New test case.
+
+ 2007-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+@@ -8304,7 +8438,7 @@
+
+ 2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>
+
+-	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c:
++	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c:
+ 	Change dg-final to expect 1 non-profitable loop and
+ 	3 profitable loops.
+ 	* gcc.dg/vect/costmodel/x86-64/costmodel-vect-31.c:
+@@ -8313,8 +8447,8 @@
+ 	* gcc.dg/vect/costmodel/x86-64/costmodel-fast-math-vect-pr29925.c:
+ 	Change dg-final to expect 1 profitable loop.
+ 	* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
+-	Change dg-final to expect 1 profitable loop.
+-
++	Change dg-final to expect 1 profitable loop.
++
+ 2007-09-10  Richard Sandiford  <richard@codesourcery.com>
+
+ 	* gcc.target/mips/call-saved-1.c: New test.
+@@ -8386,7 +8520,7 @@
+ 	gcc.dg/vect/no-scevccp-slp-30.c, gcc.dg/vect/no-scevccp-slp-31.c,
+ 	gcc.dg/vect/no-math-errno-slp-32.c, gcc.dg/vect/slp-33.c,
+ 	gcc.dg/vect/slp-34.c, gcc.dg/vect/slp-35.c, gcc.dg/vect/slp-36.c,
+-	gcc.dg/vect/slp-37.c, gcc.dg/vect/vect-vfa-slp.c,
++	gcc.dg/vect/slp-37.c, gcc.dg/vect/vect-vfa-slp.c,
+ 	gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c,
+ 	gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: New testcases.
+ 	* gcc.dg/vect/vect-vfa-03.c: Change the test to prevent SLP.
+@@ -8462,7 +8596,7 @@
+ 	now obsolete simplification.
+
+ 2007-09-07  Dorit Nuzman  <dorit@il.ibm.com>
+-
++
+ 	PR tree-optimization/33299
+ 	* gfortran.dg/vect/vect.exp: Compile some tests with -ffast-math.
+ 	* gfortran.dg/vect/fast-math-pr33299.f90: New test.
+@@ -9108,7 +9242,7 @@
+ 2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
+ 	* gnat.dg/test_oalign.adb, oalign[12].ads: New test.
+-
++
+ 2007-08-31  David Edelsohn  <edelsohn@gnu.org>
+ 	    Revital Eres  <eres@il.ibm.com>
+
+@@ -9334,7 +9468,7 @@
+ 2007-08-27  Daniel Berlin  <dberlin@dberlin.org>
+
+ 	PR tree-optimization/33173
+-
++
+ 	* gcc.c-torture/compile/pr33173.c: New.
+
+ 2007-08-27  H.J. Lu  <hongjiu.lu@intel.com>
+@@ -9532,7 +9666,7 @@
+ 	include multiple kinds for SHAPE parameter within a single
+ 	namespace.
+ 	* gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Ditto.
+-	* gfortran.dg/c_f_pointer_shape_tests_3.f03: New test case.
++	* gfortran.dg/c_f_pointer_shape_tests_3.f03: New test case.
+
+ 2007-08-22  Janus Weil  <jaydub66@gmail.com>
+
+@@ -9542,7 +9676,7 @@
+ 2007-08-21  Christian Bruel  <christian.bruel@st.com>
+
+ 	* gcc.dg/fold-sub.c: New test.
+-
++
+ 2007-08-22  Uros Bizjak  <ubizjak@gmail.com>
+
+ 	* gcc.dg/20000724-1.c, gcc.dg/980312-1.c, gcc.dg/980313-1.c,
+@@ -10106,7 +10240,7 @@
+
+ 2007-08-07  Dorit Nuzman  <dorit@il.ibm.com>
+
+-	* gcc.dg/vect/vect-28.c: Fix test to not expect peeling on
++	* gcc.dg/vect/vect-28.c: Fix test to not expect peeling on
+ 	!vector_alignment_reachable targets.
+ 	* gcc.dg/vect/vect-33.c: Likewise.
+ 	* gcc.dg/vect/vect-42.c: Likewise.
+@@ -10128,8 +10262,8 @@
+ 	* gfortran.dg/vect-3.f90: Likewise.
+ 	* gfortran.dg/vect-4.f90: Likewise.
+ 	* gfortran.dg/vect-5.f90: Likewise.
+-	* lib/target-supports.exp (check_effective_target_natural_alignment):
+-	Return false for darwin.
++	* lib/target-supports.exp (check_effective_target_natural_alignment):
++	Return false for darwin.
+ 	(check_effective_target_vector_alignment_reachable_for_double): New.
+
+ 2007-08-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+@@ -10283,7 +10417,7 @@
+
+ 	PR c++/30851
+ 	* g++.dg/parse/asm3.C: Likewise.
+-
++
+ 2007-08-02  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+ 	* gcc.dg/tree-ssa/gen-vect-2.c: Use "char" for vector elements if
+@@ -10711,7 +10845,7 @@
+ 	(check_effective_target_vector_alignment_reachable): New.
+ 	* config/spu/spu.c (spu_vector_alignment_reachable): New.
+ 	(TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
+-	* * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target
++	* * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target
+ 	check.
+ 	* gcc.dg/vect/pr25413.c: Likewise.
+ 	* gcc.dg/vect/pr31699.c: Likewise.
+@@ -10732,7 +10866,7 @@
+ 	PR fortran/32800
+ 	* gfortran.dg/bind_c_usage_8.f03: New test case.
+ 	* gfortran.dg/c_f_pointer_tests_2.f03: Ditto.
+-	* gfortran.dg/c_ptr_tests_5.f03: Updated expected error message.
++	* gfortran.dg/c_ptr_tests_5.f03: Updated expected error message.
+
+ 2007-07-23  Richard Sandiford  <richard@codesourcery.com>
+
+@@ -10815,7 +10949,7 @@
+
+ 	PR fortran/32823
+ 	* gfortran.dg/int_2.f90: New test.
+-
++
+ 2007-07-21  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+ 	* gcc.dg/inline-23.c: Use pointer sized type for cast from pointer.
+@@ -10855,11 +10989,11 @@
+ 	test inputs.
+
+ 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
+-
++
+ 	* lib/target-supports.exp (check_effective_target_sync_int_long):
+ 	Enable for xtensa.
+ 	(check_effective_target_sync_char_short): Likewise.
+-
++
+ 2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+ 	* gcc.dg/pr28796-2.c: Add more cases.
+@@ -10928,7 +11062,7 @@
+
+ 	PR fortran/32242
+ 	* gfortran.dg/pr32242.f90: New test.
+-
++
+ 2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
+ 	    David Ung  <davidu@mips.com>
+
+@@ -11015,7 +11149,7 @@
+ 	and dfcgt patterns.
+ 	* gcc.target/spu/intrinsics-2.c: New.  Test intrinsics for
+ 	V2DFmode comparison and test special values.
+-	* lib/target-supports.exp: Switch on test for V2DFmode
++	* lib/target-supports.exp: Switch on test for V2DFmode
+ 	vector conditional expression.
+
+ 2007-07-13  Richard Guenther  <rguenther@suse.de>
+@@ -11273,7 +11407,7 @@
+ 	* gcc.target/ia64/fpreg-1.c: Likewise.
+ 	* gcc.target/m68k/interrupt_thread-2.c: Likewise.
+ 	* gcc.target/m68k/interrupt_thread-3.c: Likewise.
+-
++
+ 2007-07-12  Daniel Franke  <franke.daniel@gmail.com>
+
+ 	PR fortran/31639
+@@ -11414,7 +11548,7 @@
+ 	PR testsuite/25241
+ 	* gcc.dg/pch/counter-2.c: Match every message with its appropriate
+ 	directive.
+-
++
+ 2007-07-10  Paul Thomas  <pault@gcc.gnu.org>
+
+ 	PR fortran/32157
+@@ -11817,7 +11951,7 @@
+ 	* g++.dg/gomp/pr31748.C: New test.
+
+ 2007-07-02  Ira Rosen  <irar@il.ibm.com>
+-
++
+ 	PR tree-optimization/32230
+ 	* gcc.dg/vect/pr32230.c: New test.
+
+@@ -12016,7 +12150,7 @@
+ 2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>
+
+ 	* g++.dg/other/canon-31724.C: New.
+-
++
+ 2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+ 	PR middle-end/32372
+@@ -12112,7 +12246,7 @@
+ 2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+ 	* gfortran.dg/secnds-1.f: Revise test to reduce random errors.
+-
++
+ 2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+ 	PR fortran/32456
+@@ -12196,7 +12330,7 @@
+ 2007-06-21  Christian Bruel  <christian.bruel@st.com>
+
+ 	* gcc.dg/attr-isr.c: Test delay slot content.
+-
++
+ 2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+ 	PR fortran/32361
+@@ -12272,7 +12406,7 @@
+ 2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ 	* gcc.c-torture/compile/pr32355.c: New testcase.
+-
++
+ 2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
+
+ 	PR tree-optimization/32383
+@@ -12286,7 +12420,7 @@
+ 2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ 	* gcc.c-torture/compile/pr32349.c: New testcase.
+-
++
+ 2007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+ 	* gcc.target/sparc/align.c: Use 'unsigned char' as element type.
+@@ -12382,8 +12516,8 @@
+ 2007-06-14  Dorit Nuzman  <dorit@il.ibm.com>
+
+ 	PR target/32274
+-	* gcc.dg/vect/pr32224.c: Fix.
+-
++	* gcc.dg/vect/pr32224.c: Fix.
++
+ 2007-06-13  Eric Christopher  <echristo@apple.com>
+
+ 	* gcc.target/i386/ssefn-1.c: Add -march=i386.
 Index: gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C
 ===================================================================
 --- gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,14 @@
 +// Contributed by Dodji Seketeli <dodji@redhat.com>
 +// Origin PR debug/39706
@@ -825,8 +2176,8 @@ Index: gcc/testsuite/g++.dg/torture/type
 +
 Index: gcc/testsuite/g++.dg/torture/type-generic-1.C
 ===================================================================
---- gcc/testsuite/g++.dg/torture/type-generic-1.C	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/g++.dg/torture/type-generic-1.C	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/g++.dg/torture/type-generic-1.C	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/g++.dg/torture/type-generic-1.C	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2,7 +2,7 @@
     without any fast-math flags.  */

@@ -838,8 +2189,8 @@ Index: gcc/testsuite/lib/target-supports
  #include "../../gcc.dg/tg-tests.h"
 Index: gcc/testsuite/lib/target-supports.exp
 ===================================================================
---- gcc/testsuite/lib/target-supports.exp	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/lib/target-supports.exp	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/lib/target-supports.exp	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/lib/target-supports.exp	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1086,7 +1086,8 @@
  	verbose "check_effective_target_vect_cmdline_needed: using cached result" 2
      } else {
@@ -852,8 +2203,8 @@ Index: gcc/testsuite/gfortran.dg/nearest
  	     || ([istarget powerpc*-*-*]
 Index: gcc/testsuite/gfortran.dg/nearest_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nearest_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nearest_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nearest_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nearest_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-O0 -ffloat-store" }
@@ -863,8 +2214,8 @@ Index: gcc/testsuite/gfortran.dg/default
  ! Converted to Dejagnu for the testsuite by Steven G. Kargl
 Index: gcc/testsuite/gfortran.dg/default_format_denormal_2.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/default_format_denormal_2.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/default_format_denormal_2.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/default_format_denormal_2.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/default_format_denormal_2.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -7,6 +7,8 @@
  ! wide enough and have enough precision, by checking that values can
  ! be written and read back.
@@ -876,8 +2227,8 @@ Index: gcc/testsuite/gfortran.dg/nearest
  program main
 Index: gcc/testsuite/gfortran.dg/nearest_2.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nearest_2.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nearest_2.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nearest_2.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nearest_2.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-fno-range-check" }
@@ -888,8 +2239,8 @@ Index: gcc/testsuite/gfortran.dg/nearest
  !
 Index: gcc/testsuite/gfortran.dg/nearest_3.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nearest_3.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nearest_3.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nearest_3.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nearest_3.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,5 @@
  ! { dg-do run }
 -! { dg-options "-pedantic-errors -mieee" { target sh*-*-* } }
@@ -899,8 +2250,8 @@ Index: gcc/testsuite/gfortran.dg/namelis
  !
 Index: gcc/testsuite/gfortran.dg/namelist_42.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/namelist_42.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/namelist_42.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/namelist_42.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/namelist_42.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,5 @@
  ! { dg-do run }
 -! { dg-options "-mieee" { target sh*-*-* } }
@@ -910,8 +2261,8 @@ Index: gcc/testsuite/gfortran.dg/nan_1.f
  !
 Index: gcc/testsuite/gfortran.dg/nan_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nan_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nan_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nan_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nan_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2,7 +2,7 @@
  ! as arguments
  !
@@ -923,8 +2274,8 @@ Index: gcc/testsuite/gfortran.dg/namelis
    interface isnan
 Index: gcc/testsuite/gfortran.dg/namelist_43.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/namelist_43.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/namelist_43.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/namelist_43.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/namelist_43.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,5 @@
  ! { dg-do run }
 -! { dg-options "-mieee" { target sh*-*-* } }
@@ -934,8 +2285,8 @@ Index: gcc/testsuite/gfortran.dg/nan_2.f
  !
 Index: gcc/testsuite/gfortran.dg/nan_2.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nan_2.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nan_2.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nan_2.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nan_2.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-fno-range-check -pedantic" }
@@ -946,8 +2297,8 @@ Index: gcc/testsuite/gfortran.dg/nan_3.f
  !
 Index: gcc/testsuite/gfortran.dg/nan_3.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nan_3.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nan_3.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nan_3.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nan_3.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-fno-range-check" }
@@ -958,18 +2309,49 @@ Index: gcc/testsuite/gfortran.dg/integer
  !
 Index: gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,4 +1,5 @@
  ! { dg-do run }
 +! { dg-options "-pedantic -mieee" { target alpha*-*-* } }
  ! PR 30981 - this used to go into an endless loop during execution.
  program test
    a = 3.0
+Index: gcc/testsuite/gfortran.dg/parameter_array_init_5.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/parameter_array_init_5.f90	(.../tags/gcc_4_3_4_release)	(revision 0)
++++ gcc/testsuite/gfortran.dg/parameter_array_init_5.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -0,0 +1,26 @@
++! { dg-do run }
++!
++! PR fortran/41515
++! Contributed by ros@rzg.mpg.de.
++!
++! Before, the "parm' string array was never initialized.
++!
++Module BUG3
++contains
++    Subroutine SR
++    character(3)   :: parm(5)
++    character(20)  :: str
++    parameter(parm=(/'xo ','yo ','ag ','xr ','yr '/))
++
++    str =    'XXXXXXXXXXXXXXXXXXXX'
++    if(str /='XXXXXXXXXXXXXXXXXXXX') call abort()
++    write(str,*) parm
++    if(str /= ' xo yo ag xr yr') call abort()
++    end subroutine SR
++end Module BUG3
++!
++program TEST
++    use bug3
++    call sr
++end program TEST
++! { dg-final { cleanup-modules "bug3" } }
 Index: gcc/testsuite/gfortran.dg/init_flag_3.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/init_flag_3.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/init_flag_3.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/init_flag_3.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/init_flag_3.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan" }
@@ -980,8 +2362,8 @@ Index: gcc/testsuite/gfortran.dg/transfe
    call real_test
 Index: gcc/testsuite/gfortran.dg/transfer_simplify_2.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/transfer_simplify_2.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/transfer_simplify_2.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/transfer_simplify_2.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/transfer_simplify_2.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-O2" }
@@ -991,8 +2373,8 @@ Index: gcc/testsuite/gfortran.dg/isnan_1
  ! and compares its results with the middle-end version that operates on
 Index: gcc/testsuite/gfortran.dg/isnan_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/isnan_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/isnan_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/isnan_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/isnan_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,7 +1,7 @@
  ! Test for the ISNAN intrinsic
  !
@@ -1004,8 +2386,8 @@ Index: gcc/testsuite/gfortran.dg/nan_4.f
    real :: x
 Index: gcc/testsuite/gfortran.dg/nan_4.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/nan_4.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/nan_4.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/nan_4.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/nan_4.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  ! { dg-do compile }
  ! { dg-options "-std=gnu" }
@@ -1016,8 +2398,8 @@ Index: gcc/testsuite/gfortran.dg/init_fl
  !
 Index: gcc/testsuite/gfortran.dg/init_flag_4.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/init_flag_4.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/init_flag_4.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/init_flag_4.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/init_flag_4.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-finit-real=inf" }
@@ -1028,7 +2410,7 @@ Index: gcc/testsuite/gfortran.dg/derived
 Index: gcc/testsuite/gfortran.dg/derived_init_3.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/derived_init_3.f90	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gfortran.dg/derived_init_3.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gfortran.dg/derived_init_3.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,34 @@
 +! { dg-do run }
 +!
@@ -1066,8 +2448,8 @@ Index: gcc/testsuite/gfortran.dg/default
 +end program main
 Index: gcc/testsuite/gfortran.dg/default_format_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/default_format_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/default_format_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/default_format_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/default_format_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,4 +1,5 @@
  ! { dg-do run }
 +! { dg-options "-mieee" { target alpha*-*-* } }
@@ -1076,8 +2458,8 @@ Index: gcc/testsuite/gfortran.dg/init_fl
  !
 Index: gcc/testsuite/gfortran.dg/init_flag_5.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/init_flag_5.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/init_flag_5.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/init_flag_5.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/init_flag_5.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-finit-real=-inf" }
@@ -1087,8 +2469,8 @@ Index: gcc/testsuite/gfortran.dg/integer
    call real_test
 Index: gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90
 ===================================================================
---- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/integer_exponentiation_5.F90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-fno-range-check" }
@@ -1099,7 +2481,7 @@ Index: gcc/testsuite/gfortran.dg/transfe
 Index: gcc/testsuite/gfortran.dg/transfer_resolve_1.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/transfer_resolve_1.f90	(.../tags/gcc_4_3_4_release)	(revision 0)
-+++ gcc/testsuite/gfortran.dg/transfer_resolve_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
++++ gcc/testsuite/gfortran.dg/transfer_resolve_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -0,0 +1,21 @@
 +! { dg-do run }
 +! PR40847 - an error in gfc_resolve_transfer caused the character length
@@ -1124,8 +2506,8 @@ Index: gcc/testsuite/gfortran.dg/boz_9.f
 +end program test_elemental
 Index: gcc/testsuite/gfortran.dg/boz_9.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/boz_9.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/boz_9.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/boz_9.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/boz_9.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,6 @@
  ! { dg-do run }
  ! { dg-options "-fno-range-check" }
@@ -1135,8 +2517,8 @@ Index: gcc/testsuite/gfortran.dg/real_co
  !
 Index: gcc/testsuite/gfortran.dg/real_const_3.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/real_const_3.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/real_const_3.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/real_const_3.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/real_const_3.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,6 +1,6 @@
  !{ dg-do run }
  !{ dg-options "-fno-range-check" }
@@ -1147,8 +2529,8 @@ Index: gcc/testsuite/gfortran.dg/boz_12.
  program main
 Index: gcc/testsuite/gfortran.dg/boz_12.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/boz_12.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/boz_12.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/boz_12.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/boz_12.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,5 +1,5 @@
  ! { dg-do run }
 -
@@ -1158,8 +2540,8 @@ Index: gcc/testsuite/gfortran.dg/default

 Index: gcc/testsuite/gfortran.dg/default_format_denormal_1.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/testsuite/gfortran.dg/default_format_denormal_1.f90	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/testsuite/gfortran.dg/default_format_denormal_1.f90	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -6,6 +6,8 @@
  ! wide enough and have enough precision, by checking that values can
  ! be written and read back.
@@ -1171,8 +2553,8 @@ Index: gcc/cp/error.c
  program main
 Index: gcc/cp/error.c
 ===================================================================
---- gcc/cp/error.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/cp/error.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/cp/error.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/cp/error.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2195,7 +2195,10 @@
      return decl_as_string (decl, TFF_DECL_SPECIFIERS);

@@ -1187,8 +2569,8 @@ Index: gcc/cp/ChangeLog
        pp_cxx_colon_colon (cxx_pp);
 Index: gcc/cp/ChangeLog
 ===================================================================
---- gcc/cp/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/cp/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/cp/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/cp/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1,3 +1,9 @@
 +2009-08-04  Dodji Seketeli  <dodji@redhat.com>
 +
@@ -1201,8 +2583,8 @@ Index: gcc/global.c
  	* GCC 4.3.4 released.
 Index: gcc/global.c
 ===================================================================
---- gcc/global.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/global.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/global.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/global.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -458,15 +458,23 @@
        num_bytes = CEIL (num_bits, 8);
        fprintf (dump_file, "## Standard triangular bitmatrix size:   ");
@@ -1233,8 +2615,8 @@ Index: gcc/libgcc2.c
    /* Calculate amount of usage of each hard reg by pseudos
 Index: gcc/libgcc2.c
 ===================================================================
---- gcc/libgcc2.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/libgcc2.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/libgcc2.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/libgcc2.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1830,6 +1830,7 @@
  CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
  {
@@ -1273,11 +2655,50 @@ Index: gcc/libgcc2.c
  }
  #endif /* complex divide */

+Index: gcc/fortran/decl.c
+===================================================================
+--- gcc/fortran/decl.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/fortran/decl.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -5759,6 +5759,7 @@
+   gfc_symbol *sym;
+   gfc_expr *init;
+   match m;
++  try t;
+
+   m = gfc_match_symbol (&sym, 0);
+   if (m == MATCH_NO)
+@@ -5800,19 +5801,9 @@
+       goto cleanup;
+     }
+
+-  if (sym->ts.type == BT_CHARACTER
+-      && sym->ts.cl != NULL
+-      && sym->ts.cl->length != NULL
+-      && sym->ts.cl->length->expr_type == EXPR_CONSTANT
+-      && init->expr_type == EXPR_CONSTANT
+-      && init->ts.type == BT_CHARACTER
+-      && init->ts.kind == 1)
+-    gfc_set_constant_character_len (
+-      mpz_get_si (sym->ts.cl->length->value.integer), init, false);
++  t = add_init_expr_to_sym (sym->name, &init, &gfc_current_locus);
++  return (t == SUCCESS) ? MATCH_YES : MATCH_ERROR;
+
+-  sym->value = init;
+-  return MATCH_YES;
+-
+ cleanup:
+   gfc_free_expr (init);
+   return m;
 Index: gcc/fortran/ChangeLog
 ===================================================================
---- gcc/fortran/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/fortran/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 151880)
-@@ -1,3 +1,17 @@
+--- gcc/fortran/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/fortran/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -1,3 +1,22 @@
++2009-10-01  Tobias Burnus  <burnus@net-b.de>
++
++	PR fortran/41515
++	* decl.c (do_parm): Call add_init_expr_to_sym.
++
 +2009-08-16  Paul Thomas  <pault@gcc.gnu.org>
 +
 +	PR fortran/40847
@@ -1297,8 +2718,8 @@ Index: gcc/fortran/resolve.c
  	* GCC 4.3.4 released.
 Index: gcc/fortran/resolve.c
 ===================================================================
---- gcc/fortran/resolve.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/fortran/resolve.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/fortran/resolve.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/fortran/resolve.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -8268,7 +8268,7 @@
        if ((!a->save && !a->dummy && !a->pointer
  	   && !a->in_common && !a->use_assoc
@@ -1310,8 +2731,8 @@ Index: gcc/fortran/iresolve.c
  }
 Index: gcc/fortran/iresolve.c
 ===================================================================
---- gcc/fortran/iresolve.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/fortran/iresolve.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/fortran/iresolve.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/fortran/iresolve.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2317,9 +2317,19 @@
    /* TODO: Make this do something meaningful.  */
    static char transfer0[] = "__transfer0", transfer1[] = "__transfer1";
@@ -1337,8 +2758,8 @@ Index: gcc/fortran/trans-decl.c

 Index: gcc/fortran/trans-decl.c
 ===================================================================
---- gcc/fortran/trans-decl.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/fortran/trans-decl.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/fortran/trans-decl.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/fortran/trans-decl.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2604,7 +2604,8 @@
    gfc_init_block (&fnblock);
    for (f = proc_sym->formal; f; f = f->next)
@@ -1359,8 +2780,8 @@ Index: gcc/alias.c
  	{
 Index: gcc/alias.c
 ===================================================================
---- gcc/alias.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/alias.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/alias.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/alias.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -1881,6 +1881,9 @@
  {
    const_tree fieldx, fieldy, typex, typey, orig_y;
@@ -1371,10 +2792,22 @@ Index: gcc/alias.c
    do
      {
        /* The comparison has to be done at a common type, since we don't
+Index: gcc/c-typeck.c
+===================================================================
+--- gcc/c-typeck.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/c-typeck.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -8425,6 +8425,7 @@
+ 	    unsigned_arg = TYPE_UNSIGNED (TREE_TYPE (op0));
+
+ 	  if (TYPE_PRECISION (TREE_TYPE (arg0)) < TYPE_PRECISION (result_type)
++	      && tree_int_cst_sgn (op1) > 0
+ 	      /* We can shorten only if the shift count is less than the
+ 		 number of bits in the smaller type size.  */
+ 	      && compare_tree_int (op1, TYPE_PRECISION (TREE_TYPE (arg0))) < 0
 Index: gcc/config/alpha/alpha.c
 ===================================================================
---- gcc/config/alpha/alpha.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/alpha/alpha.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/alpha/alpha.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/alpha/alpha.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -2051,11 +2051,22 @@

    switch (GET_CODE (x))
@@ -1419,8 +2852,8 @@ Index: gcc/config/alpha/sync.md
  #if TARGET_ABI_OSF
 Index: gcc/config/alpha/sync.md
 ===================================================================
---- gcc/config/alpha/sync.md	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/alpha/sync.md	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/alpha/sync.md	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/alpha/sync.md	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -62,11 +62,8 @@
    [(set_attr "type" "st_c")])

@@ -1527,8 +2960,8 @@ Index: gcc/config/alpha/alpha.md
    alpha_split_lock_test_and_set (operands[0], operands[1],
 Index: gcc/config/alpha/alpha.md
 ===================================================================
---- gcc/config/alpha/alpha.md	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/alpha/alpha.md	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/alpha/alpha.md	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/alpha/alpha.md	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -255,16 +255,7 @@
  	(sign_extend:DI (match_dup 1)))]
    "")
@@ -1682,10 +3115,28 @@ Index: gcc/config/alpha/alpha.md
  {
    operands[3] = gen_reg_rtx (DFmode);
    operands[4] = CONST0_RTX (DFmode);
+@@ -6051,7 +5998,7 @@
+ 	(mem:DI (and:DI (match_operand:DI 0 "address_operand" "")
+ 			(const_int -8))))
+    (set (match_operand:DI 2 "register_operand" "")
+-	(plus:DI (match_dup 0) (const_int 1)))
++	(plus:DI (match_dup 5) (const_int 1)))
+    (set (match_dup 3)
+ 	(and:DI (not:DI (ashift:DI
+ 			  (const_int 65535)
+@@ -6066,7 +6013,7 @@
+    (set (mem:DI (and:DI (match_dup 0) (const_int -8)))
+ 	(match_dup 4))]
+   "WORDS_BIG_ENDIAN"
+-  "")
++  "operands[5] = force_reg (DImode, operands[0]);")
+ 
+ ;; Here are the define_expand's for QI and HI moves that use the above
+ ;; patterns.  We have the normal sets, plus the ones that need scratch
 Index: gcc/config/i386/i386.md
 ===================================================================
---- gcc/config/i386/i386.md	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/i386/i386.md	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/i386/i386.md	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/i386/i386.md	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -14687,22 +14687,27 @@
  	 (match_operand:SI 1 "" ""))
     (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG)
@@ -1767,8 +3218,8 @@ Index: gcc/config/i386/sse.md
  	(call (mem:QI (match_operand:SI 1 "constant_call_address_operand" ""))
 Index: gcc/config/i386/sse.md
 ===================================================================
---- gcc/config/i386/sse.md	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/i386/sse.md	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/i386/sse.md	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/i386/sse.md	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -36,6 +36,10 @@
  (define_mode_iterator SSEMODEF4 [SF DF V4SF V2DF])
  (define_mode_iterator SSEMODEF2P [V4SF V2DF])
@@ -1850,8 +3301,8 @@ Index: gcc/config/i386/i386.c
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 Index: gcc/config/i386/i386.c
 ===================================================================
---- gcc/config/i386/i386.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/i386/i386.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/i386/i386.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/i386/i386.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -14052,11 +14052,19 @@
    if (push && MEM_P (operands[1])
        && reg_overlap_mentioned_p (stack_pointer_rtx, operands[1]))
@@ -1888,8 +3339,8 @@ Index: gcc/config/rs6000/rs6000.c
      return NULL_TREE;
 Index: gcc/config/rs6000/rs6000.c
 ===================================================================
---- gcc/config/rs6000/rs6000.c	(.../tags/gcc_4_3_4_release)	(revision 151880)
-+++ gcc/config/rs6000/rs6000.c	(.../branches/gcc-4_3-branch)	(revision 151880)
+--- gcc/config/rs6000/rs6000.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/rs6000/rs6000.c	(.../branches/gcc-4_3-branch)	(revision 152433)
 @@ -13811,8 +13811,6 @@
    enum machine_mode mode = GET_MODE (mem);
    rtx label, x, cond = gen_rtx_REG (CCmode, CR0_REGNO);
@@ -1899,3 +3350,163 @@ Index: gcc/config/rs6000/rs6000.c
    label = gen_rtx_LABEL_REF (VOIDmode, gen_label_rtx ());
    emit_label (XEXP (label, 0));

+@@ -16225,6 +16223,8 @@
+
+   if (! HAVE_prologue)
+     {
++      rtx prologue;
++
+       start_sequence ();
+
+       /* A NOTE_INSN_DELETED is supposed to be at the start and end of
+@@ -16244,10 +16244,14 @@
+ 	  }
+       }
+
++      prologue = get_insns ();
++      end_sequence ();
++
+       if (TARGET_DEBUG_STACK)
+-	debug_rtx_list (get_insns (), 100);
+-      final (get_insns (), file, FALSE);
+-      end_sequence ();
++	debug_rtx_list (prologue, 100);
++
++      emit_insn_before_noloc (prologue, BB_HEAD (ENTRY_BLOCK_PTR->next_bb),
++			      ENTRY_BLOCK_PTR);
+     }
+
+   rs6000_pic_labelno++;
+Index: gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc/config/rs6000/rs6000.md	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/rs6000/rs6000.md	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -10600,7 +10600,7 @@
+ 		   (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s")
+ 			     (match_operand:SI 3 "symbol_ref_operand" "s"))))]
+   "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI != ABI_AIX && flag_pic"
+-  "{cal|addi} %0,%1,%2-%3@l")
++  "{cal %0,%2-%3@l(%1)|addi %0,%1,%2-%3@l}")
+
+ ;; If the TOC is shared over a translation unit, as happens with all
+ ;; the kinds of PIC that we support, we need to restore the TOC
+Index: gcc/config/dfp-bit.c
+===================================================================
+--- gcc/config/dfp-bit.c	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ gcc/config/dfp-bit.c	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -573,7 +573,6 @@
+   decContext context;
+
+   decContextDefault (&context, DEC_INIT_DECIMAL128);
+-  context.round = DEC_ROUND_DOWN;
+   f64 = *DEC_FLOAT_FROM_INT (&f64, i);
+   u32.f = *decSingleFromWider (&u32.f, &f64, &context);
+   if (DFP_EXCEPTIONS_ENABLED && context.status != 0)
+@@ -598,7 +597,7 @@
+   DFP_INIT_ROUNDMODE (context.round);
+
+   /* Use a C library function to get a floating point string.  */
+-  sprintf (buf, INT_FMT ".0", CAST_FOR_FMT(i));
++  sprintf (buf, INT_FMT ".", CAST_FOR_FMT(i));
+   /* Convert from the floating point string to a decimal* type.  */
+   FROM_STRING (&s, buf, &context);
+   IEEE_TO_HOST (s, &f);
+Index: libffi/ChangeLog
+===================================================================
+--- libffi/ChangeLog	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libffi/ChangeLog	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -1,3 +1,12 @@
++2009-09-23  Matthias Klose  <doko@ubuntu.com>
++
++	PR libffi/40242, PR libffi/41443
++	* src/arm/sysv.S (__ARM_ARCH__): Define for processors
++	__ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
++	__ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
++	Change the conditionals to __SOFTFP__ || __ARM_EABI__
++	for -mfloat-abi=softfp to work.
++
+ 2009-08-04  Release Manager
+
+ 	* GCC 4.3.4 released.
+Index: libffi/src/arm/sysv.S
+===================================================================
+--- libffi/src/arm/sysv.S	(.../tags/gcc_4_3_4_release)	(revision 152433)
++++ libffi/src/arm/sysv.S	(.../branches/gcc-4_3-branch)	(revision 152433)
+@@ -66,11 +66,18 @@
+
+ #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
+         || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
+-        || defined(__ARM_ARCH_6ZK__)
++        || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \
++	|| defined(__ARM_ARCH_6M__)
+ # undef __ARM_ARCH__
+ # define __ARM_ARCH__ 6
+ #endif
+
++#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
++        || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
++# undef __ARM_ARCH__
++# define __ARM_ARCH__ 7
++#endif
++
+ #if __ARM_ARCH__ >= 5
+ # define call_reg(x)	blx	x
+ #elif defined (__ARM_ARCH_4T__)
+@@ -188,7 +195,7 @@
+
+ @ return INT
+ 	cmp	r3, #FFI_TYPE_INT
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ 	cmpne	r3, #FFI_TYPE_FLOAT
+ #endif
+ 	streq	r0, [r2]
+@@ -196,12 +203,12 @@
+
+ 	@ return INT64
+ 	cmp	r3, #FFI_TYPE_SINT64
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ 	cmpne	r3, #FFI_TYPE_DOUBLE
+ #endif
+ 	stmeqia	r2, {r0, r1}
+
+-#ifndef __SOFTFP__
++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
+ 	beq	LSYM(Lepilogue)
+
+ @ return FLOAT
+@@ -244,21 +251,21 @@
+ 	beq	.Lretint
+
+ 	cmp	r0, #FFI_TYPE_FLOAT
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ 	beq	.Lretint
+ #else
+ 	beq	.Lretfloat
+ #endif
+
+ 	cmp	r0, #FFI_TYPE_DOUBLE
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ 	beq	.Lretlonglong
+ #else
+ 	beq	.Lretdouble
+ #endif
+
+ 	cmp	r0, #FFI_TYPE_LONGDOUBLE
+-#ifdef __SOFTFP__
++#if defined(__SOFTFP__) || defined(__ARM_EABI__)
+ 	beq	.Lretlonglong
+ #else
+ 	beq	.Lretlongdouble
+@@ -277,7 +284,7 @@
+ 	ldr	r1, [sp, #4]
+ 	b	.Lclosure_epilogue
+
+-#ifndef __SOFTFP__
++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
+ .Lretfloat:
+ 	ldfs	f0, [sp]
+ 	b	.Lclosure_epilogue
============================================================
--- debian/rules.d/binary-base.mk	2d1009f1deb6e6fed4e9c6661ae616f142e9290f
+++ debian/rules.d/binary-base.mk	c6903b872b38d02ab6561625c5d64a20329606f3
@@ -13,13 +13,13 @@ ifeq ($(with_common_gcclibdir),yes)
 ifeq ($(with_common_gcclibdir),yes)
 	ln -sf $(BASE_VERSION) \
 	    $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lib_dir))
-	ln -sf $(BASE_VERSION) \
-	    $(d_base)/$(subst /$(BASE_VERSION),/4.3.3,$(gcc_lib_dir))
+#	ln -sf $(BASE_VERSION) \
+#	    $(d_base)/$(subst /$(BASE_VERSION),/4.3.3,$(gcc_lib_dir))
   ifneq ($(gcc_lib_dir),$(gcc_lexec_dir))
 	ln -sf $(BASE_VERSION) \
 	    $(d_base)/$(subst /$(BASE_VERSION),/$(GCC_VERSION),$(gcc_lexec_dir))
-	ln -sf $(BASE_VERSION) \
-	    $(d_base)/$(subst /$(BASE_VERSION),/4.3.3,$(gcc_lexec_dir))
+#	ln -sf $(BASE_VERSION) \
+#	    $(d_base)/$(subst /$(BASE_VERSION),/4.3.3,$(gcc_lexec_dir))
   endif
 endif

============================================================
--- debian/rules.d/binary-gcc-cross.mk	b7f14eb35656afc834eb3cf236ca41d51f61f588
+++ debian/rules.d/binary-gcc-cross.mk	9795a0cd65b85191de71894c586ea200e9df4847
@@ -69,7 +69,7 @@ $(binary_stamp)-gcc: $(install_dependenc

 	: # libgcc_s.so may be a linker script on some architectures
 	set -e; \
-	if [ -l $(d)/$(PF)/$(libdir)/libgcc_s.so ]; then \
+	if [ -h $(d)/$(PF)/$(libdir)/libgcc_s.so ]; then \
 	  rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so; \
 	  ln -sf /$(PF)/$(DEB_TARGET_GNU_TYPE)/$(libdir)/libgcc_s.so.$(GCC_SONAME) \
 	    $(d)/$(gcc_lib_dir)/libgcc_s.so; \
============================================================
--- debian/rules.d/binary-gcc.mk	49d885c62a7d37188a7c6f5fb304616c77729267
+++ debian/rules.d/binary-gcc.mk	7c7186e41710399a1e2a4914ca360bb49db58d30
@@ -95,7 +95,7 @@ $(binary_stamp)-gcc: $(install_dependenc

 	: # libgcc_s.so may be a linker script on some architectures
 	set -e; \
-	if [ -l $(d)/$(PF)/$(libdir)/libgcc_s.so ]; then \
+	if [ -h $(d)/$(PF)/$(libdir)/libgcc_s.so ]; then \
 	  rm -f $(d)/$(PF)/$(libdir)/libgcc_s.so; \
 	  ln -sf /$(libdir)/libgcc_s.so.$(GCC_SONAME) \
 	    $(d)/$(gcc_lib_dir)/libgcc_s.so; \
============================================================
--- debian/rules.patch	de30ff09a6e38118260b3a9afb6f40c0e609b1a8
+++ debian/rules.patch	e9048c8bfb8a4e3ee823820bf9e84dbbaa21384f
@@ -11,8 +11,8 @@ patchdir	?= debian/patches

 # which patches should be applied?

-#debian_patches = \
-#	svn-updates
+debian_patches = \
+	svn-updates

 ifeq ($(with_java),yes)
 #  debian_patches += \
@@ -88,8 +88,8 @@ debian_patches += \
 	pr38360 \
 	pr39431 \
 	r143339 \
-	alpha-fix-threadprivate3.f90 \
-	pr40557 \
+	pr40134 \
+	gcc-unwind-debug-hook \

 #ifneq ($(GFDL_INVARIANT_FREE),yes)
 #  debian_patches += classpath-tooldoc
============================================================
--- debian/rules2	94b458f58bf3031714e89f99498ff9bfb6ccc36d
+++ debian/rules2	4990c4bf87a811eab7a9469e1832ade587497e83
@@ -75,6 +75,10 @@ CC	= $(if $(filter yes,$(with_ada)),gnat

 CC	= $(if $(filter yes,$(with_ada)),gnatgcc,gcc)

+ifneq (,$(filter $(DEB_TARGET_ARCH), mips mipsel))
+  STAGE1_CFLAGS = -g -O2
+endif
+
 ifeq ($(with_d),yes)
   CFLAGS  += -std=gnu99
   LDFLAGS += -lm