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