-Index: libgomp/env.c
-===================================================================
---- libgomp/env.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgomp/env.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,4 +1,5 @@
--/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
-+ Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-@@ -145,7 +146,7 @@
- present and it was successfully parsed. */
-
- static bool
--parse_unsigned_long (const char *name, unsigned long *pvalue)
-+parse_unsigned_long (const char *name, unsigned long *pvalue, bool allow_zero)
- {
- char *env, *end;
- unsigned long value;
-@@ -161,7 +162,7 @@
-
- errno = 0;
- value = strtoul (env, &end, 10);
-- if (errno || (long) value <= 0)
-+ if (errno || (long) value <= 0 - allow_zero)
- goto invalid;
-
- while (isspace ((unsigned char) *end))
-@@ -481,8 +482,9 @@
- parse_schedule ();
- parse_boolean ("OMP_DYNAMIC", &gomp_global_icv.dyn_var);
- parse_boolean ("OMP_NESTED", &gomp_global_icv.nest_var);
-- parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var);
-- parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var);
-+ parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var,
-+ true);
-+ parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var, false);
- if (gomp_thread_limit_var != ULONG_MAX)
- gomp_remaining_threads_count = gomp_thread_limit_var - 1;
- #ifndef HAVE_SYNC_BUILTINS
-@@ -490,7 +492,8 @@
- #endif
- gomp_init_num_threads ();
- gomp_available_cpus = gomp_global_icv.nthreads_var;
-- if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var))
-+ if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var,
-+ false))
- gomp_global_icv.nthreads_var = gomp_available_cpus;
- if (parse_affinity ())
- gomp_init_affinity ();
-@@ -632,7 +635,7 @@
- void
- omp_set_max_active_levels (int max_levels)
- {
-- if (max_levels > 0)
-+ if (max_levels >= 0)
- gomp_max_active_levels_var = max_levels;
- }
-
+Index: libgcc/config/i386/32/sfp-machine.h
+===================================================================
+--- libgcc/config/i386/32/sfp-machine.h (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgcc/config/i386/32/sfp-machine.h (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -145,8 +145,8 @@
+ if (_fex & FP_EX_DIVZERO) \
+ { \
+ float f = 1.0, g = 0.0; \
+- __asm__ __volatile__ ("fdivp" : "=t" (f) \
+- : "0" (f), "u" (g) \
++ __asm__ __volatile__ ("fdivp {%0, %y1|%y1, %0}" \
++ : "+t" (f) : "u" (g) \
+ : "st(1)"); \
+ __asm__ __volatile__ ("fwait"); \
+ } \
+Index: libgcc/ChangeLog
+===================================================================
+--- libgcc/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,8 @@
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
++ assembler syntax.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libgomp/Makefile.in
+===================================================================
+--- libgomp/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgomp/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -38,15 +38,15 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
+- $(srcdir)/../config.sub $(srcdir)/../depcomp \
+- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
+- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
+- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(srcdir)/config.h.in $(srcdir)/libgomp.spec.in \
+- $(srcdir)/libgomp_f.h.in $(srcdir)/omp.h.in \
+- $(srcdir)/omp_lib.f90.in $(srcdir)/omp_lib.h.in \
+- $(top_srcdir)/configure ChangeLog
++DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \
++ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
++ $(srcdir)/omp.h.in $(srcdir)/omp_lib.h.in \
++ $(srcdir)/omp_lib.f90.in $(srcdir)/libgomp_f.h.in \
++ $(srcdir)/libgomp.spec.in $(srcdir)/../depcomp \
++ $(srcdir)/../ltmain.sh $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
+@@ -100,7 +100,6 @@
+ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libgomp_la_SOURCES)
+-DIST_SOURCES = $(libgomp_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -133,17 +132,6 @@
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = $(SUBDIRS)
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -771,152 +759,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../config
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$(top_distdir)" distdir="$(distdir)" \
+- dist-info
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) all-multi $(HEADERS) \
+@@ -1049,16 +891,13 @@
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
+ all-multi am--refresh check check-am clean clean-generic \
+ clean-libtool clean-multi clean-recursive \
+- clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
+- dist-all dist-bzip2 dist-gzip dist-info dist-shar dist-tarZ \
+- dist-zip distcheck distclean distclean-compile \
+- distclean-generic distclean-hdr distclean-libtool \
+- distclean-multi distclean-recursive distclean-tags \
+- distcleancheck distdir distuninstallcheck dvi dvi-am html \
+- html-am info info-am install install-am install-data \
+- install-data-am install-exec install-exec-am install-info \
+- install-info-am install-man install-multi \
+- install-nodist_fincludeHEADERS \
++ clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist-info \
++ distclean distclean-compile distclean-generic distclean-hdr \
++ distclean-libtool distclean-multi distclean-recursive \
++ distclean-tags dvi dvi-am html html-am info info-am install \
++ install-am install-data install-data-am install-exec \
++ install-exec-am install-info install-info-am install-man \
++ install-multi install-nodist_fincludeHEADERS \
+ install-nodist_libsubincludeHEADERS \
+ install-nodist_toolexeclibHEADERS install-strip \
+ install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+Index: libgomp/configure.ac
+===================================================================
+--- libgomp/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgomp/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -61,7 +61,7 @@
+ # -Wall: turns on all automake warnings...
+ # -Wno-portability: ...except this one, since GNU make is required.
+ # -Wno-override: ... and this one, since we do want this in testsuite.
+-AM_INIT_AUTOMAKE([1.9.0 foreign -Wall -Wno-portability -Wno-override])
++AM_INIT_AUTOMAKE([1.9.0 foreign no-dist -Wall -Wno-portability -Wno-override])
+ AM_ENABLE_MULTILIB(, ..)
+
+ # Calculate toolexeclibdir
Index: libgomp/ChangeLog
===================================================================
---- libgomp/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,18 @@
-+2010-03-22 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR libgomp/42942
-+ * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
-+ (initialize_env): Adjust callers.
-+ (omp_set_max_active_levels): Set gomp_max_active_levels_var even
-+ when the argument is 0.
+--- libgomp/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,15 @@
++2010-04-30 Jakub Jelinek <jakub@redhat.com>
+
-+ * testsuite/libgomp.c/pr42942.c: New test.
++ PR c/43893
++ * testsuite/libgomp.c/pr43893.c: New test.
++ * testsuite/libgomp.c++/pr43893.C: New test.
+
-+2010-01-26 Jakub Jelinek <jakub@redhat.com>
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
+
-+ PR fortran/42866
-+ * testsuite/libgomp.fortran/allocatable5.f90: New test.
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
+
- 2010-01-21 Release Manager
+ 2010-04-29 Release Manager
- * GCC 4.4.3 released.
-Index: libgomp/testsuite/libgomp.fortran/allocatable5.f90
+ * GCC 4.4.4 released.
+Index: libgomp/testsuite/libgomp.c++/pr43893.C
===================================================================
---- libgomp/testsuite/libgomp.fortran/allocatable5.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ libgomp/testsuite/libgomp.fortran/allocatable5.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,17 @@
-+! PR fortran/42866
-+! { dg-do run }
-+
-+program pr42866
-+ integer, allocatable :: a(:)
-+ allocate (a(16))
-+ a = 0
-+ !$omp parallel
-+ !$omp sections reduction(+:a)
-+ a = a + 1
-+ !$omp section
-+ a = a + 2
-+ !$omp end sections
-+ !$omp end parallel
-+ if (any (a.ne.3)) call abort
-+ deallocate (a)
-+end
-Index: libgomp/testsuite/libgomp.c/pr42942.c
+--- libgomp/testsuite/libgomp.c++/pr43893.C (.../tags/gcc_4_4_4_release) (wersja 0)
++++ libgomp/testsuite/libgomp.c++/pr43893.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,125 @@
++// PR c/43893
++// { dg-do run }
++
++extern "C" void abort ();
++
++template <typename T, T M, T N>
++void
++f1 ()
++{
++ int c;
++ T i;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = M; i < N; i++)
++ c++;
++ if (c != 1)
++ abort ();
++}
++
++template <typename T, T M, T N>
++void
++f2 ()
++{
++ int c;
++ T i;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = M; i <= N; i++)
++ c++;
++ if (c != 1)
++ abort ();
++}
++
++template <typename T, T M, T N>
++void
++f3 ()
++{
++ int c;
++ T i;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = M; i > N; i--)
++ c++;
++ if (c != 1)
++ abort ();
++}
++
++template <typename T, T M, T N>
++void
++f4 ()
++{
++ int c;
++ T i;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = M; i >= N; i--)
++ c++;
++ if (c != 1)
++ abort ();
++}
++
++int
++main ()
++{
++ int c;
++ unsigned int i;
++ int j;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 0; i < 1; i++)
++ c++;
++ if (c != 1)
++ abort ();
++ f1 <unsigned int, 0, 1> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 0; i <= 0; i++)
++ c++;
++ if (c != 1)
++ abort ();
++ f2 <unsigned int, 0, 0> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++)
++ c++;
++ if (c != 1)
++ abort ();
++ f1 <int, (- __INT_MAX__ - 1), (- __INT_MAX__)> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++)
++ c++;
++ if (c != 1)
++ abort ();
++ f2 <int, (- __INT_MAX__ - 1), (- __INT_MAX__ - 1)> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--)
++ c++;
++ if (c != 1)
++ abort ();
++ f3 <unsigned int, (2U * __INT_MAX__ + 1), (2U * __INT_MAX__)> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--)
++ c++;
++ if (c != 1)
++ abort ();
++ f4 <unsigned int, (2U * __INT_MAX__ + 1), (2U * __INT_MAX__ + 1)> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--)
++ c++;
++ if (c != 1)
++ abort ();
++ f3 <int, __INT_MAX__, (__INT_MAX__ - 1)> ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = __INT_MAX__; j >= __INT_MAX__; j--)
++ c++;
++ if (c != 1)
++ abort ();
++ f4 <int, __INT_MAX__, __INT_MAX__> ();
++ return 0;
++}
+Index: libgomp/testsuite/libgomp.c/pr43893.c
===================================================================
---- libgomp/testsuite/libgomp.c/pr42942.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ libgomp/testsuite/libgomp.c/pr42942.c (.../branches/gcc-4_4-branch) (wersja 157785)
+--- libgomp/testsuite/libgomp.c/pr43893.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr43893.c (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -0,0 +1,61 @@
-+/* PR libgomp/42942 */
++/* PR c/43893 */
+/* { dg-do run } */
+
-+#include <omp.h>
-+#include <stdlib.h>
++extern void abort (void);
+
+int
-+main (void)
++main ()
+{
-+ int e = 0;
-+ omp_set_dynamic (0);
-+ omp_set_nested (1);
-+ omp_set_max_active_levels (1);
-+ if (omp_get_max_active_levels () != 1)
++ int c;
++ unsigned int i;
++ int j;
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 0; i < 1; i++)
++ c++;
++ if (c != 1)
+ abort ();
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (!omp_in_parallel ()
-+ || omp_get_num_threads () != 2)
-+ e = 1;
-+ else
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (!omp_in_parallel ()
-+ || omp_get_num_threads () != 1)
-+ e = 1;
-+ if (e)
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 0; i <= 0; i++)
++ c++;
++ if (c != 1)
+ abort ();
-+ omp_set_max_active_levels (0);
-+ if (omp_get_max_active_levels () != 0)
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++)
++ c++;
++ if (c != 1)
+ abort ();
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (omp_in_parallel ()
-+ || omp_get_num_threads () != 1)
-+ e = 1;
-+ else
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (omp_in_parallel ()
-+ || omp_get_num_threads () != 1)
-+ e = 1;
-+ if (e)
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++)
++ c++;
++ if (c != 1)
+ abort ();
-+ omp_set_max_active_levels (2);
-+ if (omp_get_max_active_levels () != 2)
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--)
++ c++;
++ if (c != 1)
+ abort ();
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (!omp_in_parallel ()
-+ || omp_get_num_threads () != 2)
-+ e = 1;
-+ else
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (!omp_in_parallel ()
-+ || omp_get_num_threads () != 2)
-+ e = 1;
-+ else
-+#pragma omp parallel num_threads(2) reduction(|:e)
-+ if (!omp_in_parallel ()
-+ || omp_get_num_threads () != 1)
-+ e = 1;
-+ if (e)
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--)
++ c++;
++ if (c != 1)
++ abort ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--)
++ c++;
++ if (c != 1)
++ abort ();
++ c = 0;
++#pragma omp parallel for reduction(+:c)
++ for (j = __INT_MAX__; j >= __INT_MAX__; j--)
++ c++;
++ if (c != 1)
+ abort ();
+ return 0;
+}
-Index: gcc/attribs.c
-===================================================================
---- gcc/attribs.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/attribs.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Functions dealing with attribute handling, used by most front ends.
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-- 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-+ 2002, 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
-
- This file is part of GCC.
-
-@@ -277,6 +277,7 @@
- tree *anode = node;
- const struct attribute_spec *spec = lookup_attribute_spec (name);
- bool no_add_attrs = 0;
-+ int fn_ptr_quals = 0;
- tree fn_ptr_tmp = NULL_TREE;
-
- if (spec == NULL)
-@@ -344,6 +345,7 @@
- This would all be simpler if attributes were part of the
- declarator, grumble grumble. */
- fn_ptr_tmp = TREE_TYPE (*anode);
-+ fn_ptr_quals = TYPE_QUALS (*anode);
- anode = &fn_ptr_tmp;
- flags &= ~(int) ATTR_FLAG_TYPE_IN_PLACE;
- }
-@@ -440,6 +442,8 @@
- /* Rebuild the function pointer type and put it in the
- appropriate place. */
- fn_ptr_tmp = build_pointer_type (fn_ptr_tmp);
-+ if (fn_ptr_quals)
-+ fn_ptr_tmp = build_qualified_type (fn_ptr_tmp, fn_ptr_quals);
- if (DECL_P (*node))
- TREE_TYPE (*node) = fn_ptr_tmp;
- else
-Index: gcc/loop-unswitch.c
-===================================================================
---- gcc/loop-unswitch.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/loop-unswitch.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Loop unswitching for GNU compiler.
-- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008
-+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -121,7 +121,7 @@
- op0 = force_operand (op0, NULL_RTX);
- op1 = force_operand (op1, NULL_RTX);
- do_compare_rtx_and_jump (op0, op1, comp, 0,
-- mode, NULL_RTX, NULL_RTX, label);
-+ mode, NULL_RTX, NULL_RTX, label, -1);
- jump = get_last_insn ();
- JUMP_LABEL (jump) = label;
- LABEL_NUSES (label)++;
-Index: gcc/tree-loop-linear.c
-===================================================================
---- gcc/tree-loop-linear.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-loop-linear.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Linear Loop transforms
-- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009
-+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Daniel Berlin <dberlin@dberlin.org>.
-
-@@ -246,9 +246,10 @@
- res = cmp < 0 ?
- estimated_loop_iterations (loop_j, false, &nb_iter):
- estimated_loop_iterations (loop_i, false, &nb_iter);
-- large = double_int_mul (large, nb_iter);
-
-- if (res && double_int_ucmp (large, l1_cache_size) < 0)
-+ if (res
-+ && double_int_ucmp (double_int_mul (large, nb_iter),
-+ l1_cache_size) < 0)
- continue;
-
- if (dependence_steps_i < dependence_steps_j
-Index: gcc/optabs.c
-===================================================================
---- gcc/optabs.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/optabs.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Expand the basic unary and binary arithmetic operations, for GNU compiler.
- Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -1149,7 +1149,7 @@
-
- NO_DEFER_POP;
- do_compare_rtx_and_jump (cmp1, cmp2, cmp_code, false, op1_mode,
-- 0, 0, subword_label);
-+ 0, 0, subword_label, -1);
- OK_DEFER_POP;
-
- if (!expand_superword_shift (binoptab, outof_input, superword_op1,
-@@ -3498,7 +3498,7 @@
- NO_DEFER_POP;
-
- do_compare_rtx_and_jump (target, CONST0_RTX (mode), GE, 0, mode,
-- NULL_RTX, NULL_RTX, op1);
-+ NULL_RTX, NULL_RTX, op1, -1);
-
- op0 = expand_unop (mode, result_unsignedp ? neg_optab : negv_optab,
- target, target, 0);
+Index: gcc/doc/sourcebuild.texi
+===================================================================
+--- gcc/doc/sourcebuild.texi (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/doc/sourcebuild.texi (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1035,9 +1035,12 @@
+ They require at least one argument, which can be an empty string if the
+ specific procedure does not examine the argument.
+
+-@item @{ dg-require-effective-target @var{keyword} @}
++@item @{ dg-require-effective-target @var{keyword} [@{ @var{selector} @}] @}
+ Skip the test if the test target, including current multilib flags,
+ is not covered by the effective-target keyword.
++If the directive includes the optional @samp{@{ @var{selector} @}}
++then the effective-target test is only performed if the target system
++matches the @var{selector}.
+ This directive must appear after any @code{dg-do} directive in the test
+ and before any @code{dg-additional-sources} directive.
+
+Index: gcc/doc/standards.texi
+===================================================================
+--- gcc/doc/standards.texi (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/doc/standards.texi (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -183,7 +183,7 @@
+ available on the ISO C++ committee's web site at
+ @uref{http://www.open-std.org/jtc1/sc22/wg21/}. For information
+ regarding the C++0x features available in the experimental C++0x mode,
+-see @uref{http://gcc.gnu.org/gcc-4.3/cxx0x_status.html}. To select this
++see @uref{http://gcc.gnu.org/projects/cxx0x.html}. To select this
+ standard in GCC, use the option @option{-std=c++0x}; to obtain all the
+ diagnostics required by the standard, you should also specify
+ @option{-pedantic} (or @option{-pedantic-errors} if you want them to be
Index: gcc/DATESTAMP
===================================================================
---- gcc/DATESTAMP (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 157785)
+--- gcc/DATESTAMP (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -1 +1 @@
--20100121
-+20100328
-Index: gcc/builtins.c
-===================================================================
---- gcc/builtins.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/builtins.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Expand builtin functions.
- Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -2275,6 +2275,8 @@
- /* Before working hard, check whether the instruction is available. */
- if (icode != CODE_FOR_nothing)
- {
-+ rtx last = get_last_insn ();
-+ tree orig_arg = arg;
- /* Make a suitable register to place result in. */
- if (!target
- || GET_MODE (target) != TYPE_MODE (TREE_TYPE (exp)))
-@@ -2295,8 +2297,10 @@
-
- /* Compute into TARGET.
- Set TARGET to wherever the result comes back. */
-- emit_unop_insn (icode, target, op0, UNKNOWN);
-- return target;
-+ if (maybe_emit_unop_insn (icode, target, op0, UNKNOWN))
-+ return target;
-+ delete_insns_since (last);
-+ CALL_EXPR_ARG (exp, 0) = orig_arg;
- }
-
- /* If there is no optab, try generic code. */
-@@ -2987,7 +2991,10 @@
- && ((flag_unsafe_math_optimizations
- && optimize_insn_for_speed_p ()
- && powi_cost (n/2) <= POWI_MAX_MULTS)
-- || n == 1))
-+ /* Even the c==0.5 case cannot be done unconditionally
-+ when we need to preserve signed zeros, as
-+ pow (-0, 0.5) is +0, while sqrt(-0) is -0. */
-+ || (!HONOR_SIGNED_ZEROS (mode) && n == 1)))
- {
- tree call_expr = build_call_expr (fn, 1, narg0);
- /* Use expand_expr in case the newly built call expression
-@@ -5834,9 +5841,11 @@
- icode = signbit_optab->handlers [(int) fmode].insn_code;
- if (icode != CODE_FOR_nothing)
- {
-+ rtx last = get_last_insn ();
- target = gen_reg_rtx (TYPE_MODE (TREE_TYPE (exp)));
-- emit_unop_insn (icode, target, temp, UNKNOWN);
-- return target;
-+ if (maybe_emit_unop_insn (icode, target, temp, UNKNOWN))
-+ return target;
-+ delete_insns_since (last);
- }
+-20100429
++20100601
+Index: gcc/configure
+===================================================================
+--- gcc/configure (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/configure (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -21359,8 +21359,36 @@
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }
+ then
+- gcc_cv_as_hidden=yes
++
++# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
++# STV_HIDDEN, so disable .hidden support if so.
++case "${target}" in
++ i?86-*-solaris2*)
++ if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
++ cat > conftest.s <<EOF
++.globl hidden
++ .hidden hidden
++hidden:
++.globl default
++ .set default,hidden
++EOF
++ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
++ && $gcc_cv_objdump -t conftest.o 2>/dev/null | \
++ grep '\.hidden default' > /dev/null; then
++ gcc_cv_as_hidden=no
++ else
++ gcc_cv_as_hidden=yes
++ fi
+ else
++ # Assume bug is present if objdump is missing.
++ gcc_cv_as_hidden=no
++ fi
++ ;;
++ *)
++ gcc_cv_as_hidden=yes
++ ;;
++esac
++ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+@@ -22925,6 +22953,39 @@
+
+ fi
+
++ echo "$as_me:$LINENO: checking assembler for .quad directive" >&5
++echo $ECHO_N "checking assembler for .quad directive... $ECHO_C" >&6
++if test "${gcc_cv_as_ix86_quad+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ gcc_cv_as_ix86_quad=no
++ if test x$gcc_cv_as != x; then
++ echo '.quad 0' > conftest.s
++ if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }
++ then
++ gcc_cv_as_ix86_quad=yes
++ else
++ echo "configure: failed program was" >&5
++ cat conftest.s >&5
++ fi
++ rm -f conftest.o conftest.s
++ fi
++fi
++echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_quad" >&5
++echo "${ECHO_T}$gcc_cv_as_ix86_quad" >&6
++if test $gcc_cv_as_ix86_quad = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_AS_IX86_QUAD 1
++_ACEOF
++
++fi
++
+ echo "$as_me:$LINENO: checking assembler for sahf mnemonic" >&5
+ echo $ECHO_N "checking assembler for sahf mnemonic... $ECHO_C" >&6
+ if test "${gcc_cv_as_ix86_sahf+set}" = set; then
+@@ -22932,7 +22993,8 @@
+ else
+ gcc_cv_as_ix86_sahf=no
+ if test x$gcc_cv_as != x; then
+- echo 'sahf' > conftest.s
++ echo '.code64
++ sahf' > conftest.s
+ if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+@@ -22997,7 +23059,7 @@
+
+ fi
+
+- # This one is used unconditionally by i386.[ch]; it is to be defined
++ # These two are used unconditionally by i386.[ch]; it is to be defined
+ # to 1 if the feature is present, 0 otherwise.
+ echo "$as_me:$LINENO: checking assembler for GOTOFF in data" >&5
+ echo $ECHO_N "checking assembler for GOTOFF in data... $ECHO_C" >&6
+@@ -23038,6 +23100,40 @@
+ #define HAVE_AS_GOTOFF_IN_DATA `if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`
+ _ACEOF
+
++
++ echo "$as_me:$LINENO: checking assembler for rep and lock prefix" >&5
++echo $ECHO_N "checking assembler for rep and lock prefix... $ECHO_C" >&6
++if test "${gcc_cv_as_ix86_rep_lock_prefix+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ gcc_cv_as_ix86_rep_lock_prefix=no
++ if test x$gcc_cv_as != x; then
++ echo 'rep movsl
++ lock orl $0, (%esp)' > conftest.s
++ if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }
++ then
++ gcc_cv_as_ix86_rep_lock_prefix=yes
++ else
++ echo "configure: failed program was" >&5
++ cat conftest.s >&5
++ fi
++ rm -f conftest.o conftest.s
++ fi
++fi
++echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_rep_lock_prefix" >&5
++echo "${ECHO_T}$gcc_cv_as_ix86_rep_lock_prefix" >&6
++
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_AS_IX86_REP_LOCK_PREFIX `if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`
++_ACEOF
++
++
+ ;;
- /* For floating point formats without a sign bit, implement signbit
-Index: gcc/omp-low.c
-===================================================================
---- gcc/omp-low.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/omp-low.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -4606,7 +4606,7 @@
- l2_bb = region->exit;
- if (exit_reachable)
- {
-- if (single_pred (l2_bb) == l0_bb)
-+ if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb)
- l2 = gimple_block_label (l2_bb);
- else
- {
+ ia64*-*-*)
Index: gcc/DEV-PHASE
===================================================================
---- gcc/DEV-PHASE (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 157785)
+--- gcc/DEV-PHASE (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -0,0 +1 @@
+prerelease
Index: gcc/ChangeLog
===================================================================
---- gcc/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,381 @@
-+2010-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ Backport:
-+ 2009-06-16 J"orn Rennecke <joern.rennecke@arc.com>
-+ Janis Johnson <janis187@us.ibm.com>
-+
-+ PR target/39254
-+ * config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
-+ for the symbol ref of a constant that is the source of a move
-+ - nor for any other not-obvious-label-ref constants.
-+
-+2010-03-27 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR target/42113
-+ * config/alpha/alpha.md (*cmp_sadd_si): Change mode
-+ of scratch register to DImode. Split to DImode comparison operator.
-+ Use SImode subreg of scratch register in the multiplication.
-+ (*cmp_sadd_sidi): Ditto.
-+ (*cmp_ssub_si): Ditto.
-+ (*cmp_ssub_sidi): Ditto.
-+
-+2010-03-27 Joseph Myers <joseph@codesourcery.com>
-+
-+ PR c/43381
-+ * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
-+ nested binding iff it is a FUNCTION_DECL.
-+ (store_parm_decls_newstyle): Pass nested=true to bind for
-+ FUNCTION_DECLs amongst parameters.
-+
-+2010-03-25 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c/43385
-+ * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
-+ argument if the argument is truth_value_p.
-+
-+2010-03-23 Kaz Kojima <kkojima@gcc.gnu.org>
-+
-+ Backport from mainline:
-+ 2010-01-08 DJ Delorie <dj@redhat.com>
-+
-+ * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
-+ register popping order.
-+
-+2010-03-22 James E. Wilson <wilson@codesourcery.com>
-+
-+ PR target/43348
-+ * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
-+ call_value_gp,sibcall_gp): Use 's' constraint not 'i'.
-+
-+2010-03-22 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2010-03-19 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43415
-+ * tree-ssa-pre.c (phi_translate): Split out worker to ...
-+ (phi_translate_1): ... this.
-+ (phi_translate): Move all caching here. Cache all NARY
-+ and REFERENCE translations.
-+
-+2010-03-22 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-03-20 Richard Guenther <rguenther@suse.de>
-+
-+ PR rtl-optimization/43438
-+ * combine.c (make_extraction): Properly zero-/sign-extend an
-+ extraction of the low part of a CONST_INT. Also handle
-+ CONST_DOUBLE.
-+
-+ 2010-03-19 Michael Matz <matz@suse.de>
-+
-+ PR c++/43116
-+ * attribs.c (decl_attributes): When rebuilding a function pointer
-+ type use the same qualifiers as the original pointer type.
-+
-+ PR target/43305
-+ * builtins.c (expand_builtin_interclass_mathfn,
-+ expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
-+ if that fails.
-+
-+ 2010-03-18 Michael Matz <matz@suse.de>
-+
-+ PR middle-end/43419
-+ * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
-+ into sqrt(x) if we need to preserve signed zeros.
-+
-+2010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+--- gcc/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,205 @@
++2010-05-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
-+ PR middle-end/42718
-+ * pa.md (movmemsi): Set align to one if zero.
-+ (movmemdi): Likewise.
++ * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
+
-+2010-03-21 Kaz Kojima <kkojima@gcc.gnu.org>
++2010-05-27 Matthias Klose <doko@ubuntu.com>
+
+ Backport from mainline:
-+ 2009-05-12 Paolo Bonzini <bonzini@gnu.org>
++ 2009-04-22 Andrey Belevantsev <abel@ispras.ru>
+
-+ PR target/43417
-+ * config/sh/sh.md (cbranchdi4_i): Use an "I08" constraint
-+ instead of "i" constraint.
++ PR rtl-optimization/39580
++ * sel-sched-ir.c (insert_in_history_vect): Remove incorrect gcc_assert.
+
-+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
++2010-05-26 Jakub Jelinek <jakub@redhat.com>
+
-+ Backport from mainline:
-+ 2010-03-18 Steven Bosscher <steven@gcc.gnu.org>
-+ Eric Botcazou <ebotcazou@adacore.com>
-+
-+ PR rtl-optimization/43360
-+ * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
-+ note if we don't know its invariant status.
-+
-+2010-03-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
-+
-+ PR c/43248
-+ * c-decl.c (build_compound_literal): Return early if init is
-+ an error_mark_node.
++ PR target/44199
++ * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
++ or total_size is larger than red zone size for non-V4 ABI, emit a
++ stack_tie resp. frame_tie insn before stack pointer restore.
++ * config/rs6000/rs6000.md (frame_tie): New insn.
+
-+2010-03-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-02-19 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/42233
-+ * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
-+
-+ PR bootstrap/43121
-+ * except.c (sjlj_emit_function_enter): Don't call
-+ add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
-+ directly.
-+ * rtl.h (add_reg_br_prob_note): Remove prototype.
-+
-+ PR middle-end/42233
-+ * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
-+
-+ PR middle-end/42233
-+ * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
-+ do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
-+ * dojump.c: Include output.h.
-+ (inv): New inline function.
-+ (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
-+ do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
-+ do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
-+ do_jump_by_parts_equality, do_compare_and_jump): Add PROB
-+ argument, pass it down to other calls.
-+ (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
-+ add REG_BR_PROB note to the conditional jump.
-+ * cfgexpand.c (add_reg_br_prob_note): Removed.
-+ (expand_gimple_cond): Don't call it, add the probability
-+ as last argument to jumpif_1/jumpifnot_1.
-+ * Makefile.in (dojump.o): Depend on output.h.
-+ * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
-+ callers.
-+ * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
-+ * stmt.c (do_jump_if_equal): Likewise.
-+ * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
-+ * loop-unswitch.c (compare_and_jump_seq): Likewise.
-+ * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
-+ Likewise.
-+ * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
-+ * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
-+ jumpifnot_1 callers.
-+ (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
-+ callers.
-+ (store_expr): Adjust jumpifnot caller.
-+ (store_constructor): Adjust jumpif caller.
-+
-+ PR middle-end/42233
-+ * gimplify.c (gimple_boolify): For __builtin_expect call
-+ gimple_boolify also on its first argument.
-+
-+2010-03-02 Uros Bizjak <ubizjak@gmail.com>
-+
-+ * config/alpha/alpha.c (override_options): Fix -mtune error message.
-+
-+2010-03-02 Jakub Jelinek <jakub@redhat.com>
++2010-05-24 Uros Bizjak <ubizjak@gmail.com>
+
+ Backport from mainline:
-+ 2010-03-01 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43220
-+ * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
-+ BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
-+
-+2010-02-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ Backport from trunk
-+ 2009-07-10 Mark Mitchell <mark@codesourcery.com>
-+
-+ * config/arm/thumb2.md (thumb2_cbz): Correct computation of length
-+ attribute.
-+ (thumb2_cbnz): Likewise.
-+
-+2010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-+
-+ * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
-+ (QI to BLKmode splitter): New splitter.
-+
-+2010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-+
-+ * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
-+ lang_hooks.types_compatible_p instead of comptypes.
-+
-+2010-02-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ PR target/40887
-+ Backport from trunk.
-+ 2009-12-24 Julian Brown <julian@codesourcery.com>
-+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ * config/arm/arm.c (output_call_mem): Remove armv5 support.
-+ * config/arm/arm.md (*call_mem): Disable for armv5. Add note.
-+ (*call_value_mem): Likewise.
-+
-+2010-02-17 Mikael Pettersson <mikpe@it.uu.se>
-+
-+ * config/sparc/gas.h: New file. Restore
-+ TARGET_ASM_NAMED_SECTION to its ELF default.
-+ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
-+ check !HAVE_GNU_AS.
-+ * config/sparc/sparc.c (sparc_elf_asm_named_section):
-+ Likewise. Add ATTRIBUTE_UNUSED to prototype.
-+ * config.gcc (sparc*-*-linux*): Include sparc/gas.h
-+ after sparc/sysv4.h.
-+
-+2010-02-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ Backport from trunk.
-+ 2009-12-07 Julian Brown <julian@codesourcery.com>
-+
-+ * config/arm/constraints.md (Ps, Pt): New constraint letters.
-+ * config/arm/thumb2.md (*thumb2_addsi_short): Tighten constraints.
++ 2010-05-20 Uros Bizjak <ubizjak@gmail.com>
+
-+2010-02-16 Ira Rosen <irar@il.ibm.com>
++ PR target/43733
++ * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
++ * configure: Regenerate.
++ * config.in: Regenerate.
++ * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
++ instead of sahf only for 64bit targets.
+
-+ PR tree-optimization/43074
-+ * tree-vect-analyze.c (vect_detect_hybrid_slp_stmts): Add
-+ vectorizable cycles in hybrid SLP check.
++2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
-+2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
++ Backport from mainline
++ 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
-+ * config/s390/s390.c (s390_sched_init): New function.
-+ (TARGET_SCHED_INIT): Target hook defined.
++ PR target/44245
++ * config/i386/i386.c (def_builtin): Properly check
++ OPTION_MASK_ISA_64BIT.
+
-+2010-02-13 Richard Guenther <rguenther@suse.de>
++2010-05-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
-+ PR tree-optimization/42871
-+ * tree-ssa-pre.c (phi_translate_set): Make sure to retain
-+ leaders.
++ * config/s390/s390.c (override_options): Increase the default
++ of max-completely-peel-times.
+
-+2010-02-10 Daniel Gutson <dgutson@codesourcery.com>
++2010-05-21 Richard Guenther <rguenther@suse.de>
+
-+ * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
-+ added to the preprocessor condition.
++ PR tree-optimization/43845
++ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
++ lookup the CALL_EXPR function and arguments.
+
-+2010-02-10 Jakub Jelinek <jakub@redhat.com>
++2010-05-21 Jakub Jelinek <jakub@redhat.com>
+
-+ PR debug/43010
-+ * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
-+ if no debug info should be emitted for it.
++ PR debug/44205
++ * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
++ at -O0 goto_locus of any of the incoming edges differs from
++ goto_locus of outgoing edge, or gimple_location of any of the
++ labels differs.
+
-+2010-02-09 Jakub Jelinek <jakub@redhat.com>
++2010-05-19 Kenneth Zadeck <zadeck@naturalbridge.com>
+
-+ Backport from mainline:
-+ 2010-01-13 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42705
-+ * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after
-+ labels.
++ PR bootstrap/43870
++ * df-scan.c (df_ref_compare): Stabilize sort.
+
-+2010-02-08 Jakub Jelinek <jakub@redhat.com>
++2010-05-20 Jakub Jelinek <jakub@redhat.com>
+
-+ PR tree-optimization/42890
-+ * tree-inline.c (delete_unreachable_blocks_update_callgraph): New
-+ function backported from the trunk.
-+ (tree_function_versioning): Call it instead of
-+ delete_unreachable_blocks.
++ PR target/44074
++ * configure: Regenerate.
+
-+ PR tree-optimization/42931
-+ * tree-loop-linear.c (try_interchange_loops): Don't call
-+ double_int_mul if estimated_loop_iterations failed.
++2010-05-20 Hans-Peter Nilsson <hp@axis.com>
+
-+2010-02-08 Richard Guenther <rguenther@suse.de>
++ PR target/44202
++ * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
++ settings for 16-bit-constant "addo" alternative.
+
-+ PR middle-end/42995
-+ * tree-inline.c (estimate_move_cost): Assert we are not called
-+ with a void type.
-+ (estimate_num_insns): Do not count the terminating void_type_node
-+ of a function argument type list.
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ Backport from mainline:
-+ 2010-01-06 Richard Guenther <rguenther@suse.de>
-+
-+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
-+ not inline regular functions into always-inline functions.
-+
-+ 2010-01-05 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42462
-+ * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
-+ current_function_decl to helper functions and macros.
-+
-+2010-02-04 Richard Guenther <rguenther@suse.de>
-+
-+ PR rtl-optimization/42952
-+ * dse.c (const_or_frame_p): Remove MEM handling.
-+
-+2010-01-31 Eric Botcazou <ebotcazou@adacore.com>
++ 2010-05-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ PR target/44074
++ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
++ * configure: Regenerate.
++ * config.in: Regenerate.
++ * config/i386/i386.c (print_operand) <case ;>: Also print ; if
++ !HAVE_AS_IX86_REP_LOCK_PREFIX.
++ Don't emit whitespace.
++ * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
++ (*rep_movsi): Likewise.
++ (*rep_movsi_rex64): Likewise.
++ (*rep_movqi): Likewise.
++ (*rep_movqi_rex64): Likewise.
++ (*rep_stosdi_rex64): Likewise.
++ (*rep_stossi): Likewise.
++ (*rep_stossi_rex64): Likewise.
++ (*rep_stosqi): Likewise.
++ (*rep_stosqi_rex64): Likewise.
++ (*cmpstrnqi_nz_1): Use {%;} after repz.
++ (*cmpstrnqi_nz_rex_1): Likewise.
++ (*cmpstrnqi_1): Likewise.
++ (*cmpstrnqi_rex_1): Likewise.
++ (*strlenqi_1): Use {%;} after repnz.
++ (*strlenqi_rex_1): Likewise.
++ * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
++ (*sync_compare_and_swap<mode>): Likewise.
++ (sync_double_compare_and_swap<mode>): Likewise.
++ (*sync_double_compare_and_swapdi_pic): Likewise.
++ (sync_old_add<mode>): Likewise.
++ (sync_add<mode>): Likewise.
++ (sync_sub<mode>): Likewise.
++ (sync_<code><mode>): Likewise.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * doc/sourcebuild.texi (Directives): Document optional
++ dg-require-effective-target selector.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
++ hidden alias bug.
++ (gcc_cv_as_ix86_quad): Check for .quad directive.
++ * configure: Regenerate.
++ * config.in: Regenerate.
++ * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
++
++2010-05-17 Alan Modra <amodra@gmail.com>
++
++ * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
++ unnecessary prototype. Replace copy_r12 and copy_r11 flag params
++ with copy_reg rtx param.
++ (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
++ Correct cases where code for ABI_V4 did not initialise the reg
++ used to access frame. Also leave frame_reg_rtx as sp for large
++ frames that save no regs.
++
++2010-05-12 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/44085
++ * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
++ change value of ORT_TASK.
++ (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
++ (omp_notice_threadprivate_variable): New function.
++ (omp_notice_variable): Call it for threadprivate variables.
++ If enclosing ctx is a task, print enclosing task rather than
++ enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK.
++ (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
++ if task has untied clause.
++
++2010-05-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
++
++ PR documentation/44016
++ * doc/standards.texi (Standards): Link to unversioned
++ cxx0x_status.html page.
++
++2010-05-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
-+ PR middle-end/42898
+ Backport from mainline:
-+ 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
++ 2010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
+
-+ * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct
-+ assignment from the constructor either if the target is volatile.
++ PR target/43744
++ * config/sh/sh.c (find_barrier): Don't emit a constant pool
++ in the middle of insns for casesi_worker_2.
+
-+2010-01-31 Richard Guenther <rguenther@suse.de>
++2010-05-05 Jason Merrill <jason@redhat.com>
+
-+ PR middle-end/42898
-+ * gimplify.c (gimplify_init_constructor): For volatile LHS
-+ initialize a temporary.
++ PR debug/43370
++ * c-common.c (handle_aligned_attribute): Respect
++ ATTR_FLAG_TYPE_IN_PLACE.
+
-+2010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
-+ * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
-+ HAVE_GNU_AS value.
-+ * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
-+ Test for HAVE_GNU_AS value.
++ Backport from mainline
++ 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
+
-+2010-01-26 Jakub Jelinek <jakub@redhat.com>
++ PR middle-end/43671
++ * alias.c (true_dependence): Handle the same VALUE in x and mem.
++ (canon_true_dependence): Likewise.
++ (write_dependence_p): Likewise.
+
-+ PR fortran/42866
-+ * omp-low.c (expand_omp_sections): Only use single_pred if
-+ l2_bb is single_pred_p.
++2010-05-02 Uros Bizjak <ubizjak@gmail.com>
+
-+2010-01-25 Christian Bruel <christian.bruel@st.com>
++ * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
++ when processing flag options.
+
-+ PR target/42841
-+ * config/sh/sh.c (find_barrier): Increase length for non delayed
-+ conditional branches.
-+ (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
++2010-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
-+2010-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
++ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
++ the variable part of the offset as well. Use highest_pow2_factor for
++ all alignment checks.
+
-+ Backport from trunk.
-+ 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
++2010-04-30 Jakub Jelinek <jakub@redhat.com>
+
-+ PR target/38697
-+ * config/arm/neon-testgen.m (emit_automatics): New parameter
-+ features. Adjust for Fixed_return_reg feature.
-+ (test_intrinsic): Call emit_automatics with new feature.
-+ * config/arm/neon.ml: Update copyright years.
-+ (features): New Fixed_return_reg feature.
-+ (ops): Update feature for Vget_low.
++ PR c/43893
++ * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
+
-+2010-01-24 David S. Miller <davem@davemloft.net>
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
+
-+ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
-+ define if not using GAS.
-+ * config/sparc/sparc.c (sparc_elf_asm_named_section):
-+ Likewise. Delete SECTION_MERGE code, which is only applicable
-+ when using GAS.
-+
-+2010-01-21 Felyza Wishbringer <fwishbringer@gmail.com>
-+
-+ PR bootstrap/42786
-+ * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
-+ cpu types. Add support for *-sse3 cpu types.
-+ (x86_64-*-*): Ditto.
-+
-+2010-01-21 Jakub Jelinek <jakub@redhat.com>
-+
-+ * BASE-VER: Set to 4.4.4.
++ * BASE-VER: Set to 4.4.5.
+ * DEV-PHASE: Set to prerelease.
+
- 2010-01-21 Release Manager
+ 2010-04-29 Release Manager
- * GCC 4.4.3 released.
-@@ -108,9 +486,9 @@
- * Backport from mainline
- 2010-01-12 Julian Brown <julian@codesourcery.com>
+ * GCC 4.4.4 released.
+@@ -72,8 +274,8 @@
+ 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
-- * config/arm/neon-schedgen.ml (Utils): Don't try to
-+ * config/arm/neon-schedgen.ml (Utils): Don't try to
- open missing module.
-- (find_with_result): New.
-+ (find_with_result): New.
+ * config/s390/s390.c (override_options): Adjust the z10
+- defaults for max-unroll-times, max-completely-peeled-insns
+- and max-completely-peel-times.
++ defaults for max-unroll-times, max-completely-peeled-insns
++ and max-completely-peel-times.
- 2010-01-12 Jakub Jelinek <jakub@redhat.com>
+ 2010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
-Index: gcc/testsuite/gcc.c-torture/execute/pr43438.c
+Index: gcc/testsuite/gcc.c-torture/execute/20100430-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr43438.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43438.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,23 @@
-+extern void abort (void);
-+
-+static unsigned char g_2 = 1;
-+static int g_9;
-+static int *l_8 = &g_9;
-+
-+static void func_12(int p_13)
-+{
-+ int * l_17 = &g_9;
-+ *l_17 &= 0 < p_13;
-+}
+--- gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,51 @@
++/* This used to generate unaligned accesses at -O2 because of IVOPTS. */
+
-+int main(void)
++struct packed_struct
+{
-+ unsigned char l_11 = 254;
-+ *l_8 |= g_2;
-+ l_11 |= *l_8;
-+ func_12(l_11);
-+ if (g_9 != 1)
-+ abort ();
-+ return 0;
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/execute/pr43269.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr43269.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43269.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,31 @@
-+int g_21;
-+int g_211;
-+int g_261;
++ struct packed_struct1
++ {
++ unsigned char cc11;
++ unsigned char cc12;
++ } __attribute__ ((packed)) pst1;
++ struct packed_struct2
++ {
++ unsigned char cc21;
++ unsigned char cc22;
++ unsigned short ss[104];
++ unsigned char cc23[13];
++ } __attribute__ ((packed)) pst2[4];
++} __attribute__ ((packed));
+
-+static void __attribute__((noinline,noclone))
-+func_32 (int b)
++typedef struct
+{
-+ if (b) {
-+lbl_370:
-+ g_21 = 1;
-+ }
-+
-+ for (g_261 = -1; g_261 > -2; g_261--) {
-+ if (g_211 + 1) {
-+ return;
-+ } else {
-+ g_21 = 1;
-+ goto lbl_370;
-+ }
-+ }
-+}
++ int ii;
++ struct packed_struct buf;
++} info_t;
+
-+extern void abort (void);
++static unsigned short g;
+
-+int main(void)
++static void __attribute__((noinline))
++dummy (unsigned short s)
+{
-+ func_32(0);
-+ if (g_261 != -1)
-+ abort ();
-+ return 0;
++ g = s;
+}
-Index: gcc/testsuite/gcc.c-torture/execute/pr43220.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr43220.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43220.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,28 @@
-+void *volatile p;
+
-+int
-+main (void)
++static int
++foo (info_t *info)
+{
-+ int n = 0;
-+lab:;
-+ {
-+ int x[n % 1000 + 1];
-+ x[0] = 1;
-+ x[n % 1000] = 2;
-+ p = x;
-+ n++;
-+ }
-+
-+ {
-+ int x[n % 1000 + 1];
-+ x[0] = 1;
-+ x[n % 1000] = 2;
-+ p = x;
-+ n++;
-+ }
++ int i, j;
+
-+ if (n < 1000000)
-+ goto lab;
++ for (i = 0; i < info->buf.pst1.cc11; i++)
++ for (j = 0; j < info->buf.pst2[i].cc22; j++)
++ dummy (info->buf.pst2[i].ss[j]);
+
+ return 0;
+}
-Index: gcc/testsuite/gcc.c-torture/execute/pr43385.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr43385.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43385.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,59 @@
-+/* PR c/43385 */
-+
-+extern void abort (void);
-+
-+int e;
+
-+__attribute__((noinline)) void
-+foo (int x, int y)
++int main(void)
+{
-+ if (__builtin_expect (x, 0) && y != 0)
-+ e++;
++ info_t info;
++ info.buf.pst1.cc11 = 2;
++ info.buf.pst2[0].cc22 = info.buf.pst2[1].cc22 = 8;
++ return foo (&info);
+}
-+
-+__attribute__((noinline)) int
-+bar (int x, int y)
+Index: gcc/testsuite/gcc.c-torture/execute/pr44202-1.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr44202-1.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr44202-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,30 @@
++extern __attribute__ ((__noreturn__)) void exit(int);
++extern __attribute__ ((__noreturn__)) void abort(void);
++__attribute__ ((__noinline__))
++int
++add512(int a, int *b)
+{
-+ if (__builtin_expect (x, 0) && y != 0)
-+ return 1;
-+ else
-+ return 0;
++ int c = a + 512;
++ if (c != 0)
++ *b = a;
++ return c;
+}
+
++__attribute__ ((__noinline__))
+int
-+main (void)
-+{
-+ int z = 0;
-+ asm ("" : "+r" (z));
-+ foo (z + 2, z + 1);
-+ if (e != 1)
-+ abort ();
-+ foo (z + 2, z);
-+ if (e != 1)
-+ abort ();
-+ foo (z + 1, z + 1);
-+ if (e != 2)
-+ abort ();
-+ foo (z + 1, z);
-+ if (e != 2)
-+ abort ();
-+ foo (z, z + 1);
-+ if (e != 2)
-+ abort ();
-+ foo (z, z);
-+ if (e != 2)
-+ abort ();
-+ if (bar (z + 2, z + 1) != 1)
-+ abort ();
-+ if (bar (z + 2, z) != 0)
-+ abort ();
-+ if (bar (z + 1, z + 1) != 1)
-+ abort ();
-+ if (bar (z + 1, z) != 0)
-+ abort ();
-+ if (bar (z, z + 1) != 0)
-+ abort ();
-+ if (bar (z, z) != 0)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.c-torture/execute/pr43008.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr43008.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr43008.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,23 @@
-+int i;
-+struct X {
-+ int *p;
-+};
-+struct X * __attribute__((malloc))
-+my_alloc (void)
++add513(int a, int *b)
+{
-+ struct X *p = __builtin_malloc (sizeof (struct X));
-+ p->p = &i;
-+ return p;
++ int c = a + 513;
++ if (c == 0)
++ *b = a;
++ return c;
+}
-+extern void abort (void);
-+int main()
++
++int main(void)
+{
-+ struct X *p, *q;
-+ p = my_alloc ();
-+ q = my_alloc ();
-+ *(p->p) = 1;
-+ *(q->p) = 0;
-+ if (*(p->p) != 0)
++ int b0 = -1;
++ int b1 = -1;
++ if (add512(-512, &b0) != 0 || b0 != -1 || add513(-513, &b1) != 0 || b1 != -513)
+ abort ();
-+ return 0;
++ exit (0);
+}
-Index: gcc/testsuite/gcc.c-torture/execute/pr42248.c
+Index: gcc/testsuite/gcc.c-torture/compile/pr43845.c
===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr42248.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr42248.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,27 @@
-+typedef struct {
-+ _Complex double a;
-+ _Complex double b;
-+} Scf10;
+--- gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,12 @@
++typedef int __attribute__ ((const)) (*x264_pixel_cmp_t)(void);
+
-+Scf10 g1s;
++typedef struct {
++ x264_pixel_cmp_t ssd;
++} x264_pixel_function_t;
+
-+void
-+check (Scf10 x, _Complex double y)
-+{
-+ if (x.a != y) __builtin_abort ();
++int x264_pixel_ssd_wxh (x264_pixel_function_t *pf, int i_width) {
++ int i_ssd = 0, x;
++ for (x = 0; x < i_width; x++)
++ i_ssd += pf->ssd();
++ return i_ssd;
+}
+Index: gcc/testsuite/gcc.target/i386/20060512-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/20060512-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/20060512-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-std=gnu99 -msse2 -mstackrealign -mpreferred-stack-boundary=4" } */
+
+ #include "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/crc32-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/crc32-4.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/crc32-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,9 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -mno-sse4.2" } */
++/* { dg-final { scan-assembler "__builtin_ia32_crc32di" } } */
+
-+void
-+init (Scf10 *p, _Complex double y)
++unsigned long long
++crc32d (unsigned long long x, unsigned long long y)
+{
-+ p->a = y;
++ return __builtin_ia32_crc32di (x, y);
++}
+Index: gcc/testsuite/gcc.target/i386/sse2-pminub-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pminub-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pminub-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/i386.exp
+===================================================================
+--- gcc/testsuite/gcc.target/i386/i386.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/i386.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -24,6 +24,29 @@
+ # Load support procs.
+ load_lib gcc-dg.exp
+
++# Return 1 if 3dnow instructions can be compiled.
++proc check_effective_target_3dnow { } {
++ return [check_no_compiler_messages 3dnow object {
++ void _m_pfadd (void)
++ {
++ __builtin_ia32_pfadd();
++ }
++ } "-O2 -m3dnow" ]
+}
+
-+int
-+main ()
-+{
-+ init (&g1s, (_Complex double)1);
-+ check (g1s, (_Complex double)1);
++# Return 1 if sse3 instructions can be compiled.
++proc check_effective_target_sse3 { } {
++ return [check_no_compiler_messages sse3 object {
++ typedef double __m128d __attribute__ ((__vector_size__ (16)));
++ typedef double __v2df __attribute__ ((__vector_size__ (16)));
+
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.c-torture/execute/20100209-1.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/20100209-1.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/20100209-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,12 @@
-+int bar(int foo)
-+{
-+ return (int)(((unsigned long long)(long long)foo) / 8);
-+}
-+extern void abort (void);
-+int main()
-+{
-+ if (sizeof (long long) > sizeof (int)
-+ && bar(-1) != -1)
-+ abort ();
-+ return 0;
++ __m128d _mm_addsub_pd (__m128d __X, __m128d __Y)
++ {
++ return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y);
++ }
++ } "-O2 -msse3" ]
+}
-Index: gcc/testsuite/gcc.c-torture/execute/pr42512.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/execute/pr42512.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr42512.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,13 @@
-+extern void abort (void);
+
-+short g_3;
-+
-+int main (void)
-+{
-+ int l_2;
-+ for (l_2 = -1; l_2 != 0; l_2 = (unsigned char)(l_2 - 1))
-+ g_3 |= l_2;
-+ if (g_3 != -1)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/20000804-1.c
+ # Return 1 if ssse3 instructions can be compiled.
+ proc check_effective_target_ssse3 { } {
+ return [check_no_compiler_messages ssse3 object {
+Index: gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/20000804-1.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.c-torture/compile/20000804-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,8 +1,7 @@
- /* This does not work on m68hc11 or h8300 due to the use of an asm
- statement to force a 'long long' (64-bits) to go in a register. */
- /* { dg-do assemble } */
--/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */
--/* { dg-skip-if "PIC default" { { i?86-*-darwin* x86_64-*-darwin* } && ilp32 } { "*" } { "" } } */
-+/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && { ilp32 && { ! nonpic } } } { "*" } { "" } } */
- /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */
- /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */
+--- gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pslldq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/testsuite/gcc.c-torture/compile/pr42703.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42703.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42703.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,12 @@
-+__extension__ typedef unsigned long long int uint64_t;
-+typedef uint64_t ScmUInt64;
-+void swapb64(ScmUInt64 *loc)
-+{
-+ union {
-+ ScmUInt64 l;
-+ unsigned char c[4];
-+ } dd;
-+ unsigned char t;
-+ dd.l = *loc;
-+ (t = dd.c[3], dd.c[3] = dd.c[4], dd.c[4] = t);
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42730.c
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-minsd-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42730.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42730.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+union bzz
-+{
-+ unsigned *pa;
-+ void *pv;
-+};
-+
-+void foo (void)
-+{
-+ union bzz u;
-+ void **x;
-+ void *y = 0;
-+ x = &u.pv;
-+ *x = y;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42705.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42705.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42705.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,58 @@
-+typedef int GLint;
-+typedef unsigned char GLubyte;
-+typedef unsigned int uint32_t;
-+struct radeon_bo {
-+ void *ptr;
-+ uint32_t flags;
-+};
-+struct radeon_renderbuffer {
-+ struct radeon_bo *bo;
-+ unsigned int cpp;
-+ int has_surface;
-+};
-+static inline
-+GLint r600_1d_tile_helper(const struct radeon_renderbuffer * rrb,
-+ GLint x, GLint y, GLint is_depth, GLint is_stencil)
-+{
-+ GLint element_bytes = rrb->cpp;
-+ GLint num_samples = 1;
-+ GLint tile_width = 8;
-+ GLint tile_height = 8;
-+ GLint tile_thickness = 1;
-+ GLint tile_bytes;
-+ GLint tiles_per_row;
-+ GLint slice_offset;
-+ GLint tile_row_index;
-+ GLint tile_column_index;
-+ GLint tile_offset;
-+ GLint pixel_number = 0;
-+ GLint element_offset;
-+ GLint offset = 0;
-+ tile_bytes = tile_width * tile_height * tile_thickness
-+ * element_bytes * num_samples;
-+ tile_column_index = x / tile_width;
-+ tile_offset = ((tile_row_index * tiles_per_row)
-+ + tile_column_index) * tile_bytes;
-+ if (is_depth) {
-+ }
-+ else {
-+ GLint sample_offset;
-+ switch (element_bytes) {
-+ case 1: pixel_number |= ((x >> 0) & 1) << 0;
-+ }
-+ element_offset = sample_offset + (pixel_number * element_bytes);
-+ }
-+ offset = slice_offset + tile_offset + element_offset;
-+ return offset;
-+}
-+GLubyte *r600_ptr_color(const struct radeon_renderbuffer * rrb,
-+ GLint x, GLint y)
-+{
-+ GLubyte *ptr = rrb->bo->ptr;
-+ uint32_t mask = 1 | 2;
-+ GLint offset;
-+ if (rrb->has_surface || !(rrb->bo->flags & mask)) {
-+ offset = r600_1d_tile_helper(rrb, x, y, 0, 0);
-+ }
-+ return &ptr[offset];
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42708-1.c
+--- gcc/testsuite/gcc.target/i386/sse2-minsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-minsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr40906-3.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42708-1.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42708-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,10 @@
-+typedef __SIZE_TYPE__ size_t;
-+void *malloc(size_t);
-+typedef union YYSTYPE {
-+ char *id;
-+} YYSTYPE;
-+extern YYSTYPE yylval;
-+void yylex (int b)
-+{
-+ yylval = (YYSTYPE) (b ? 0 : (char *) malloc (4));
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42716.c
+--- gcc/testsuite/gcc.target/i386/pr40906-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr40906-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target *-*-linux* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */
+
+ #include "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-15.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42716.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42716.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,18 @@
-+static short foo (long long si1, short si2)
-+{
-+ return si1 > 0 && si2 > 0 || si1 < 0
-+ && si2 < 0 && si1 < 1 - si2 ? : si1 + si2;
-+}
-+
-+int g_13;
-+unsigned g_17;
-+
-+int safe (int, int);
-+
-+void bar (short p_51, short * p_52)
-+{
-+ int *const l_55 = &g_13;
-+ if (safe (*p_52, g_13 != foo (*p_52 & *l_55 == g_13 && g_17 >= 1, 0)))
-+ {
-+ }
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43367.c
+--- gcc/testsuite/gcc.target/i386/sse-15.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-15.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Test that the intrinsics compile with optimization. These were not
+ tested in i386-sse-[12].c because these builtins require immediate
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43367.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43367.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,30 @@
-+unsigned char g_17;
-+
-+const unsigned char func_39 (unsigned char p_40, unsigned char * p_41)
-+{
-+ return 0;
-+}
-+
-+void int327 (const unsigned char p_48, unsigned char p_49)
-+{
-+ unsigned l_52;
-+ unsigned char l_58[2];
-+ int i, j;
-+ if (func_39 (l_52, &p_49), p_48) {
-+ unsigned char *l_60;
-+ unsigned char *l = &l_58[1];
-+ for (j; j; j++) {
-+lbl_59:
-+ break;
-+ }
-+ for (l = 0; 1; l += 1) {
-+ for (p_49 = 1; p_49; p_49 += 0) {
-+ unsigned char **l_61[1][6];
-+ for (j = 0; j < 1; j++)
-+ l_61[i][j] = &l_60;
-+ goto lbl_59;
-+ }
-+ }
-+ }
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr42927.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42927.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42927.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,32 @@
-+typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
-+typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
-+typedef enum { READ_SHARED = 0, WRITE_EXCLUSIVE = 1,
-+ READ_EXCLUSIVE = 2, EXCLUSIVE_ACCESS = 3 } scsires_access_mode;
-+struct scsires_extent_elem {
-+ scsires_access_mode mode;
-+ unsigned relative_address;
-+ u_int32_t first_block;
-+ u_int32_t length;
-+};
-+typedef struct scsires_extent_elem scsires_extent_elem_t;
-+struct scsires_extent {
-+ u_int8_t num_elements;
-+ scsires_extent_elem_t *elements;
-+};
-+typedef struct scsires_extent scsires_extent_t;
-+unsigned char buf[512];
-+void scsires_issue_reservation(scsires_extent_t * new_extent)
-+{
-+ int i;
-+ for (i = 0; i < new_extent->num_elements; i++)
-+ {
-+ buf[(i * 8)] = new_extent->elements[i].mode;
-+ buf[(i * 8) + 1] = ((new_extent->elements[i].length >> 16) & 0xff);
-+ buf[(i * 8) + 2] = ((new_extent->elements[i].length >> 8) & 0xff);
-+ buf[(i * 8) + 3] = (new_extent->elements[i].length & 0xff);
-+ buf[(i * 8) + 4] = ((new_extent->elements[i].first_block >> 24) & 0xff);
-+ buf[(i * 8) + 5] = ((new_extent->elements[i].first_block >> 16) & 0xff);
-+ buf[(i * 8) + 6] = ((new_extent->elements[i].first_block >> 8) & 0xff);
-+ buf[(i * 8) + 7] = (new_extent->elements[i].first_block & 0xff);
-+ }
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42749.c
+--- gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42749.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42749.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,5 @@
-+struct pdf_object { int val; };
-+int pdf_count_size_object (struct pdf_object * p_obj)
-+{
-+ return pdf_count_size_object(p_obj) + 2 * sizeof(struct pdf_object);
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43415.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43415.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43415.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,36 @@
-+int main()
-+{
-+ unsigned long long table[256];
-+ unsigned int i;
-+ for (i=0; i<256; ++i) {
-+ unsigned long long j;
-+ unsigned char x=i;
-+ for (j=0; j<5; ++j) {
-+ x += x<<1;
-+ x ^= x>>1;
-+ }
-+ for (j=0; j<5; ++j) {
-+ x += x<<1;
-+ x ^= x>>1;
-+ }
-+ for (j=0; j<5; ++j) {
-+ x += x<<1;
-+ x ^= x>>1;
-+ }
-+ for (j=0; j<5; ++j) {
-+ x += x<<1;
-+ x ^= x>>1;
-+ }
-+ for (j=0; j<5; ++j) {
-+ x += x<<1;
-+ x ^= x>>1;
-+ }
-+ table[i] ^= (((unsigned long long)x)<<16);
-+ }
-+ for (i=0; i<256; ++i) {
-+ if ((table[i]&0xff)==i)
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr43164.c
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43164.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43164.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+struct S0
-+{
-+ unsigned char f0;
-+ int:0;
-+};
-+
-+struct S1
-+{
-+ struct S0 f0;
-+};
-+
-+struct S1 func_34 (void)
-+{
-+ struct S1 l_221 = { { 1 } };
-+ return l_221;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43066.c
+--- gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v2di-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43066.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43066.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+struct S {
-+ struct { } empty[1];
-+ int i;
-+};
-+
-+int foo(int i, ...)
-+{
-+ struct S s;
-+ __builtin_va_list va;
-+ __builtin_va_start(va, i);
-+ s = __builtin_va_arg(va, struct S);
-+ __builtin_va_end(va);
-+ return s.i;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43191.c
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklbw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43191.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43191.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,46 @@
-+struct S0
-+{
-+};
-+
-+struct S1
-+{
-+ unsigned f0:27;
-+ const unsigned:0;
-+};
-+
-+struct S2
-+{
-+ unsigned f2:1;
-+};
-+
-+unsigned char g_4[1][8][3][1][1][1];
-+unsigned char *g_17;
-+unsigned char **g_16[1][10][7];
-+
-+struct S2 g_35 = {
-+ 0
-+};
-+
-+struct S2 *g_34 = &g_35;
-+
-+struct S1 func_86 (unsigned char p_87, struct S2 **p_89)
-+{
-+ struct S1 l_92[6][8][1][1] = {
-+ 16143586
-+ }
-+ ;
-+ return l_92[0][0][0][0];
-+}
-+
-+void func_28 (struct S1 p_30, const struct S1 p_32)
-+{
-+}
-+
-+void func_70 (unsigned char p_72)
-+{
-+ unsigned char *const *l_93 = &g_17;
-+ struct S2 **l_94;
-+ unsigned char *const *l_97 = &g_17;
-+ func_28 (func_86 (p_72, 0),
-+ func_86 (p_72, &g_34));
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43255.c
+--- gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlw-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-shufps-1.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43255.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43255.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,33 @@
-+int safe (int);
-+
-+static unsigned foo (unsigned ui1, unsigned ui2)
-+{
-+ return ui1 + ui2;
-+}
-+
-+int g_22;
-+int *volatile g_23 = &g_22;
-+int **g_282[8][10][1];
-+int *g_330 = &g_22;
-+volatile unsigned g_348;
-+int g_397;
-+
-+void int32func (const unsigned char p_10)
-+{
-+ if (foo
-+ (~
-+ (p_10 |
-+ (*g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10][g_348 % 1]) ==
-+ (*g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10][g_348 % 1])),
-+ 1))
-+ {
-+ }
-+ else if (*g_330 >=
-+ safe (*g_23 ^
-+ (**g_282[(unsigned long) g_397 % 8][(unsigned) g_22 % 10]
-+ [g_348 % 1])) & **g_282[8][10][1], 1)
-+ {
-+ }
-+}
-+
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr42717.c
+--- gcc/testsuite/gcc.target/i386/sse2-shufps-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-shufps-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr23570.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42717.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42717.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,30 @@
-+static signed char
-+foo (signed char si1, unsigned char si2)
-+{
-+ return (si1 ^ si2) & (-si2 ^ si2) ? : si1 - si2;
-+}
-+
-+struct S0
-+{
-+};
-+
-+unsigned char g_21;
-+
-+struct S0 g_34;
-+
-+void
-+bar (unsigned char p_20)
-+{
-+ unsigned char *l_22 = &g_21;
-+ unsigned char l_23 = 0;
-+ struct S0 *l = &g_34;
-+ goto lbl_42;
-+ for (; l_23; l_23 = foo (l_23, 1))
-+ {
-+ for (p_20 = 0; 0; p_20 = foo (p_20, 1))
-+ lbl_42:;
-+ (l == &g_34) ? 0 : "";
-+lbl_85:*l_22 = p_20;
-+ }
-+ goto lbl_85;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr42998.c
-===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr42998.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr42998.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,15 @@
-+void foo(void *);
-+void bar(void *);
-+void ndisc_fill_addr_option(unsigned char *opt, int data_len,
-+ unsigned short addr_type)
-+{
-+ int pad;
-+ if (addr_type == 32)
-+ pad = 2;
-+ else
-+ pad = 0;
-+ __builtin_memset(opt + 2, 0, pad);
-+ opt += pad;
-+ __builtin_constant_p(data_len) ? foo (opt+2) : bar (opt+2);
-+}
-+
-Index: gcc/testsuite/gcc.c-torture/compile/pr43188.c
+--- gcc/testsuite/gcc.target/i386/pr23570.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr23570.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ typedef float __m128 __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/fpcvt-3.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43188.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43188.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,6 @@
-+int *__attribute__((__aligned__(16))) *p;
-+
-+int main (void)
-+{
-+ return **p;
-+}
-Index: gcc/testsuite/gcc.c-torture/compile/pr43288.c
+--- gcc/testsuite/gcc.target/i386/fpcvt-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/fpcvt-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ extern double fabs (double);
+ float a,b;
+Index: gcc/testsuite/gcc.target/i386/pr42542-3a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42542-3a.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "pr42542-3.c"
+
+Index: gcc/testsuite/gcc.target/i386/pr39445.c
===================================================================
---- gcc/testsuite/gcc.c-torture/compile/pr43288.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr43288.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1 @@
-+static int a __attribute__ ((common));
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c
+--- gcc/testsuite/gcc.target/i386/pr39445.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr39445.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/opt-2.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/opt-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/opt-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+ whether we vectorize a simple loop. */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "prefetcht0" } } */
+ /* { dg-final { scan-assembler "addps" } } */
+ /* { dg-final { scan-assembler "subss" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaxub-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lowp8 (void)
- {
-- poly8x8_t out_poly8x8_t;
-+ register poly8x8_t out_poly8x8_t asm ("d18");
- poly8x16_t arg0_poly8x16_t;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-maxsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_poly8x8_t = vget_low_p8 (arg0_poly8x16_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lows64.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lows64.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lows64.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -15,5 +15,4 @@
- out_int64x1_t = vget_low_s64 (arg0_int64x2_t);
- }
+--- gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaddwd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
--/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
- /* { dg-final { cleanup-saved-temps } } */
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -15,5 +15,4 @@
- out_uint64x1_t = vget_low_u64 (arg0_uint64x2_t);
- }
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklqdq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
--/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \]+@\[a-zA-Z0-9 \]+\)?\n" } } */
- /* { dg-final { cleanup-saved-temps } } */
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movntpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lowp16 (void)
- {
-- poly16x4_t out_poly16x4_t;
-+ register poly16x4_t out_poly16x4_t asm ("d18");
- poly16x8_t arg0_poly16x8_t;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_poly16x4_t = vget_low_p16 (arg0_poly16x8_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lows8.c
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse-17.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lows8.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lows8.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/sse-17.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-17.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #include "sse2-check.h"
+ #include <xmmintrin.h>
+ extern void abort();
+Index: gcc/testsuite/gcc.target/i386/vararg-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-7.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-7.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lows8 (void)
- {
-- int8x8_t out_int8x8_t;
-+ register int8x8_t out_int8x8_t asm ("d18");
- int8x16_t arg0_int8x16_t;
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-shufpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_int8x8_t = vget_low_s8 (arg0_int8x16_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psllq-2.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/sse2-psllq-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psllq-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lowu8 (void)
- {
-- uint8x8_t out_uint8x8_t;
-+ register uint8x8_t out_uint8x8_t asm ("d18");
- uint8x16_t arg0_uint8x16_t;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtss2sd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_uint8x8_t = vget_low_u8 (arg0_uint8x16_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lows32.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-2.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lows32.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lows32.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/sse2-vec-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lows32 (void)
- {
-- int32x2_t out_int32x2_t;
-+ register int32x2_t out_int32x2_t asm ("d18");
- int32x4_t arg0_int32x4_t;
+ #include "sse2-check.h"
- out_int32x2_t = vget_low_s32 (arg0_int32x4_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lows16.c
+Index: gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lows16.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lows16.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubsw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lows16 (void)
- {
-- int16x4_t out_int16x4_t;
-+ register int16x4_t out_int16x4_t asm ("d18");
- int16x8_t arg0_int16x8_t;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhwd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_int16x4_t = vget_low_s16 (arg0_int16x8_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefp-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/ssefp-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssefp-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "maxsd" } } */
+ /* { dg-final { scan-assembler "minsd" } } */
+ double x;
+Index: gcc/testsuite/gcc.target/i386/sse3-addsubps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-addsubps.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-addsubps.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
- void test_vget_lowu32 (void)
- {
-- uint32x2_t out_uint32x2_t;
-+ register uint32x2_t out_uint32x2_t asm ("d18");
- uint32x4_t arg0_uint32x4_t;
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse3-lddqu.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-lddqu.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-lddqu.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
- out_uint32x2_t = vget_low_u32 (arg0_uint32x4_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/float128-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/float128-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/float128-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target *-*-linux* } } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void test_vget_lowu16 (void)
- {
-- uint16x4_t out_uint16x4_t;
-+ register uint16x4_t out_uint16x4_t asm ("d18");
- uint16x8_t arg0_uint16x8_t;
+ #include "sse2-check.h"
- out_uint16x4_t = vget_low_u16 (arg0_uint16x8_t);
-Index: gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c
+Index: gcc/testsuite/gcc.target/i386/vecinit-2.c
===================================================================
---- gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -9,7 +9,7 @@
+--- gcc/testsuite/gcc.target/i386/vecinit-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
- void test_vget_lowf32 (void)
- {
-- float32x2_t out_float32x2_t;
-+ register float32x2_t out_float32x2_t asm ("d18");
- float32x4_t arg0_float32x4_t;
+ int a;
+Index: gcc/testsuite/gcc.target/i386/pr35767-2d.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-2d.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-2d.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- out_float32x2_t = vget_low_f32 (arg0_float32x4_t);
-Index: gcc/testsuite/gcc.target/arm/sibcall-1.c
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psubq-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/sibcall-1.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/arm/sibcall-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -30,5 +30,6 @@
- return result;
- }
+--- gcc/testsuite/gcc.target/i386/sse2-psubq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
--/* { dg-final { scan-assembler "\tb\tfunc2\n" } } */
-+/* The PLT marker may appear if the test is run with -fpic/-fPIC. */
-+/* { dg-final { scan-assembler "\tb\tfunc2(\\(PLT\\))?\n" } } */
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/testsuite/gcc.target/arm/thumb2-cbnz.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpprec-1.c
===================================================================
---- gcc/testsuite/gcc.target/arm/thumb2-cbnz.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/arm/thumb2-cbnz.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,110 @@
-+/* { dg-do assemble } */
-+/* { dg-options "-O1 -mthumb -march=armv7-a" } */
-+
-+typedef short int int16_t;
-+typedef unsigned char uint8_t;
-+struct component
-+{
-+ float *Q_table;
-+};
-+static inline unsigned char descale_and_clamp(int x, int shift)
-+{
-+ x += (1UL<<(shift-1));
-+ if (x<0)
-+ x = (x >> shift) | ((~(0UL)) << (32-(shift)));
-+ x >>= shift;
-+ x += 128;
-+ if (x>255)
-+ return 255;
-+ else if (x<0)
-+ return 0;
-+ return x;
-+}
-+void
-+tinyjpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride)
-+{
-+ float tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
-+ float tmp10, tmp11, tmp12, tmp13;
-+ float z5, z10, z11, z12, z13;
-+ int16_t *inptr;
-+ float *quantptr;
-+ float *wsptr;
-+ uint8_t *outptr;
-+ int ctr;
-+ float workspace[(8*8)];
-+ quantptr = compptr->Q_table;
-+ wsptr = workspace;
-+ for (ctr = 8; ctr > 0; ctr--) {
-+ if (inptr[8*1] == 0 && inptr[8*2] == 0 &&
-+ inptr[8*3] == 0 && inptr[8*4] == 0 &&
-+ inptr[8*5] == 0 && inptr[8*6] == 0 &&
-+ inptr[8*7] == 0) {
-+ float dcval = (((float) (inptr[8*0])) * (quantptr[8*0]));
-+ wsptr[8*0] = dcval;
-+ wsptr[8*1] = dcval;
-+ wsptr[8*2] = dcval;
-+ wsptr[8*3] = dcval;
-+ wsptr[8*4] = dcval;
-+ wsptr[8*5] = dcval;
-+ wsptr[8*6] = dcval;
-+ wsptr[8*7] = dcval;
-+ inptr++;
-+ quantptr++;
-+ wsptr++;
-+ continue;
-+ }
-+ tmp0 = (((float) (inptr[8*0])) * (quantptr[8*0]));
-+ tmp1 = (((float) (inptr[8*2])) * (quantptr[8*2]));
-+ tmp2 = (((float) (inptr[8*4])) * (quantptr[8*4]));
-+ tmp3 = (((float) (inptr[8*6])) * (quantptr[8*6]));
-+ tmp10 = tmp0 + tmp2;
-+ tmp11 = tmp0 - tmp2;
-+ tmp13 = tmp1 + tmp3;
-+ tmp12 = (tmp1 - tmp3) * ((float) 1.414213562) - tmp13;
-+ tmp0 = tmp10 + tmp13;
-+ tmp3 = tmp10 - tmp13;
-+ tmp1 = tmp11 + tmp12;
-+ tmp2 = tmp11 - tmp12;
-+ tmp4 = (((float) (inptr[8*1])) * (quantptr[8*1]));
-+ tmp5 = (((float) (inptr[8*3])) * (quantptr[8*3]));
-+ tmp6 = (((float) (inptr[8*5])) * (quantptr[8*5]));
-+ tmp7 = (((float) (inptr[8*7])) * (quantptr[8*7]));
-+ z13 = tmp6 + tmp5;
-+ z10 = tmp6 - tmp5;
-+ z11 = tmp4 + tmp7;
-+ z12 = tmp4 - tmp7;
-+ tmp7 = z11 + z13;
-+ tmp11 = (z11 - z13) * ((float) 1.414213562);
-+ z5 = (z10 + z12) * ((float) 1.847759065);
-+ tmp10 = ((float) 1.082392200) * z12 - z5;
-+ tmp12 = ((float) -2.613125930) * z10 + z5;
-+ tmp6 = tmp12 - tmp7;
-+ tmp5 = tmp11 - tmp6;
-+ tmp4 = tmp10 + tmp5;
-+ wsptr[8*0] = tmp0 + tmp7;
-+ wsptr[8*7] = tmp0 - tmp7;
-+ wsptr[8*1] = tmp1 + tmp6;
-+ wsptr[8*2] = tmp2 + tmp5;
-+ wsptr[8*5] = tmp2 - tmp5;
-+ wsptr[8*4] = tmp3 + tmp4;
-+ wsptr[8*3] = tmp3 - tmp4;
-+ inptr++;
-+ quantptr++;
-+ wsptr++;
-+ }
-+ for (ctr = 0; ctr < 8; ctr++) {
-+ tmp11 = wsptr[0] - wsptr[4];
-+ tmp12 = (wsptr[2] - wsptr[6]) * ((float) 1.414213562) - tmp13;
-+ tmp0 = tmp10 + tmp13;
-+ tmp1 = tmp11 + tmp12;
-+ z10 = wsptr[5] - wsptr[3];
-+ tmp12 = ((float) -2.613125930) * z10 + z5;
-+ tmp6 = tmp12 - tmp7;
-+ outptr[0] = descale_and_clamp((int)(tmp0 + tmp7), 3);
-+ outptr[7] = descale_and_clamp((int)(tmp0 - tmp7), 3);
-+ outptr[1] = descale_and_clamp((int)(tmp1 + tmp6), 3);
-+ outptr[6] = descale_and_clamp((int)(tmp1 - tmp6), 3);
-+ outptr[2] = descale_and_clamp((int)(tmp2 + tmp5), 3);
-+ outptr += stride;
-+ }
-+}
-Index: gcc/testsuite/gcc.target/arm/pr40887.c
-===================================================================
---- gcc/testsuite/gcc.target/arm/pr40887.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/arm/pr40887.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+/* { dg-options "-O2 -march=armv5te" } */
-+/* { dg-final { scan-assembler "blx" } } */
-+
-+int (*indirect_func)();
-+
-+int indirect_call()
-+{
-+ return indirect_func();
-+}
-Index: gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,6 @@
- /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */
- /* { dg-options "-O2 -fno-common -G 8 -msdata=sysv" } */
-+/* { dg-require-effective-target nonpic } */
- /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */
- /* { dg-final { scan-assembler-not "\\.section\[ \t\]\\.sdata2," } } */
- /* { dg-final { scan-assembler "sdat@sdarel\\(13\\)" } } */
-Index: gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c
-===================================================================
---- gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,6 @@
- /* { dg-do compile { target { { powerpc*-*-linux* && ilp32 } || { powerpc-*-eabi* } } } } */
- /* { dg-options "-O2 -fno-common -G 8 -meabi -msdata=eabi" } */
-+/* { dg-require-effective-target nonpic } */
- /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata," } } */
- /* { dg-final { scan-assembler "\\.section\[ \t\]\\.sdata2," } } */
- /* { dg-final { scan-assembler "sdat@sda21\\((13|0)\\)" } } */
-Index: gcc/testsuite/gcc.target/i386/pr42881.c
+--- gcc/testsuite/gcc.target/i386/fpprec-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/fpprec-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -fno-math-errno -fno-trapping-math -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr40809.c
===================================================================
---- gcc/testsuite/gcc.target/i386/pr42881.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr42881.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,13 @@
-+/* PR target/42881 */
-+/* { dg-do run } */
-+/* { dg-options "-O0 -msse2" } */
-+#include "sse2-check.h"
-+static void
-+sse2_test (void)
-+{
-+ double a[2];
-+ __m128d x = _mm_set1_pd(3);
-+ _mm_storeu_pd(a,x);
-+ if (a[0] != 3.0 || a[1] != 3.0)
-+ __builtin_abort ();
-+}
-Index: gcc/testsuite/gcc.target/i386/clobbers.c
-===================================================================
---- gcc/testsuite/gcc.target/i386/clobbers.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.target/i386/clobbers.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,7 +1,6 @@
- /* Test asm clobbers on x86. */
-
- /* { dg-do run } */
--/* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
-
- extern void abort (void);
-
-@@ -13,11 +12,15 @@
- abort ();
- /* On darwin you can't call external functions from non-pic code,
- however, clobbering ebx isn't valid in pic code. Instead of
-- disabling the whole test, just disable the ebx clobbering part. */
-+ disabling the whole test, just disable the ebx clobbering part.
-+ Ditto for any x86 system that is ilp32 && pic.
-+ */
- #if !(defined (__MACH__))
-+#if ! defined (__PIC__) || defined (__LP64__)
- __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx");
- if (i != 1)
- abort ();
-+#endif /* ! pic || lp64 */
- #endif
- __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx");
- if (i != 1)
-Index: gcc/testsuite/gcc.target/i386/pr43107.c
-===================================================================
---- gcc/testsuite/gcc.target/i386/pr43107.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr43107.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,20 @@
-+/* PR target/43107 */
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -mavx" } */
-+
-+extern void bar (float b[4][4]);
-+
-+void
-+foo ()
-+{
-+ float a[4][4], b[4][4];
-+ int i, j;
-+ for (i = 0; i < 4; i++)
-+ {
-+ for (j = 0; j < 4; j++)
-+ a[i][j] = 0;
-+ for (j = 0; j < 4; j++)
-+ b[i][j] = a[i][j];
-+ }
-+ bar (b);
-+}
-Index: gcc/testsuite/gcc.target/i386/pr42891.c
+--- gcc/testsuite/gcc.target/i386/pr40809.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr40809.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c
===================================================================
---- gcc/testsuite/gcc.target/i386/pr42891.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/pr42891.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,13 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+union B { int i; float f; };
-+
-+extern void bar (void);
-+
-+void
-+foo (union B x, union B y)
-+{
-+ if (!(y.f > x.i))
-+ bar ();
-+}
-Index: gcc/testsuite/gnat.dg/thin_pointer.adb
+--- gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-mulsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-addsubpd.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer.adb (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gnat.dg/thin_pointer.adb (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,11 +0,0 @@
---- { dg-do compile }
---- { dg-options "-O" }
--
--package body Thin_Pointer is
--
-- procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr) is
-- begin
-- AD.B.A := Buffer (Buffer'First)'Address;
-- end Set_Buffer;
--
--end Thin_Pointer;
-Index: gcc/testsuite/gnat.dg/thin_pointer.ads
+--- gcc/testsuite/gcc.target/i386/sse3-addsubpd.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-addsubpd.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse-19.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer.ads (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gnat.dg/thin_pointer.ads (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,22 +0,0 @@
--with System;
--
--package Thin_Pointer is
--
-- type Stream is array (Integer range <>) of Character;
--
-- type Stream_Ptr is access Stream;
-- for Stream_Ptr'Size use Standard'Address_Size;
--
-- type Buf is record
-- A : System.Address;
-- end record;
--
-- type Buf_Wrapper is record
-- B : Buf;
-- end record;
--
-- type Buf_Ptr is access Buf_Wrapper;
--
-- procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr);
--
--end Thin_Pointer;
-Index: gcc/testsuite/gnat.dg/thin_pointer1.adb
+--- gcc/testsuite/gcc.target/i386/sse-19.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-19.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "punpcklbw" } } */
+ extern void abort();
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pminsw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-4.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer1.adb (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/thin_pointer1.adb (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,11 @@
-+-- { dg-do compile }
-+-- { dg-options "-O" }
-+
-+package body Thin_Pointer1 is
-+
-+ procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr) is
-+ begin
-+ AD.B.A := Buffer (Buffer'First)'Address;
-+ end Set_Buffer;
-+
-+end Thin_Pointer1;
-Index: gcc/testsuite/gnat.dg/thin_pointer1.ads
+--- gcc/testsuite/gcc.target/i386/sse2-vec-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psraw-2.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer1.ads (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/thin_pointer1.ads (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,22 @@
-+with System;
-+
-+package Thin_Pointer1 is
-+
-+ type Stream is array (Integer range <>) of Character;
-+
-+ type Stream_Ptr is access Stream;
-+ for Stream_Ptr'Size use Standard'Address_Size;
-+
-+ type Buf is record
-+ A : System.Address;
-+ end record;
-+
-+ type Buf_Wrapper is record
-+ B : Buf;
-+ end record;
-+
-+ type Buf_Ptr is access Buf_Wrapper;
-+
-+ procedure Set_Buffer (AD : Buf_Ptr; Buffer : Stream_ptr);
-+
-+end Thin_Pointer1;
-Index: gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb
+--- gcc/testsuite/gcc.target/i386/sse2-psraw-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psraw-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movupd-2.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/thin_pointer2_pkg.adb (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,18 @@
-+package body Thin_Pointer2_Pkg is
-+
-+ type SB is access constant String;
-+
-+ function Inner (S : SB) return Character is
-+ begin
-+ if S /= null and then S'Length > 0 then
-+ return S (S'First);
-+ end if;
-+ return '*';
-+ end;
-+
-+ function F return Character is
-+ begin
-+ return Inner (SB (S));
-+ end;
-+
-+end Thin_Pointer2_Pkg;
-Index: gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads
+--- gcc/testsuite/gcc.target/i386/sse2-movupd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movupd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psubb-1.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/thin_pointer2_pkg.ads (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+package Thin_Pointer2_Pkg is
-+
-+ type SA is access String;
-+ for SA'Size use Standard'Address_Size;
-+ S : SA;
-+
-+ function F return Character;
-+
-+end Thin_Pointer2_Pkg;
-Index: gcc/testsuite/gnat.dg/thin_pointer2.adb
+--- gcc/testsuite/gcc.target/i386/sse2-psubb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-4.c
===================================================================
---- gcc/testsuite/gnat.dg/thin_pointer2.adb (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gnat.dg/thin_pointer2.adb (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,13 @@
-+-- PR ada/42253
-+-- Testcase by Duncan Sands <baldrick@gcc.gnu.org>
-+
-+-- { dg-do run }
-+
-+with Thin_Pointer2_Pkg; use Thin_Pointer2_Pkg;
-+
-+procedure Thin_Pointer2 is
-+begin
-+ if F /= '*' then
-+ raise Program_Error;
-+ end if;
-+end;
-Index: gcc/testsuite/ada/acats/run_all.sh
-===================================================================
---- gcc/testsuite/ada/acats/run_all.sh (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/ada/acats/run_all.sh (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -129,6 +129,7 @@
-
- cp $testdir/tests/cd/*.c $dir/support
- cp $testdir/tests/cxb/*.c $dir/support
-+grep -v '^#' $testdir/norun.lst | sort > $dir/support/norun.lst
-
- rm -rf $dir/run
- mv $dir/tests $dir/tests.$$ 2> /dev/null
-@@ -206,7 +207,7 @@
-
- cd $dir/tests/$chapter
- ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \
-- cut -c1-7 | sort | uniq | comm -23 - $testdir/norun.lst \
-+ cut -c1-7 | sort | uniq | comm -23 - $dir/support/norun.lst \
- > $dir/tests/$chapter/${chapter}.lst
- countn=`wc -l < $dir/tests/$chapter/${chapter}.lst`
- glob_countn=`expr $glob_countn + $countn`
-Index: gcc/testsuite/gcc.dg/Wunreachable-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/Wunreachable-2.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/Wunreachable-2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,19 +0,0 @@
--/* { dg-do compile } */
--/* { dg-options "-O2 -Wunreachable-code" } */
--
--extern int foo (const char *);
--extern void baz (void);
--const char *a[] = { "one", "two" };
--
--void bar (void)
--{
-- int i;
--
-- for (i = 0; i < 2; i++)
-- if (! foo (a[i]))
-- return;
--
-- baz (); /* { dg-bogus "will never be executed" } */
-- baz ();
-- baz ();
--}
-Index: gcc/testsuite/gcc.dg/inline-33.c
-===================================================================
---- gcc/testsuite/gcc.dg/inline-33.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/inline-33.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
+--- gcc/testsuite/gcc.target/i386/vecinit-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
/* { dg-do compile } */
- /* { dg-options "-O3 -fdump-tree-optimized" } */
--/* { dg-options "-O3 -fdump-tree-optimized -fpie" { target { ! nonpic } } } */
-+/* { dg-add-options bind_pic_locally } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
- int i;
+ short a;
+Index: gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-xorpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/testsuite/gcc.dg/parm-impl-decl-3.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c
===================================================================
---- gcc/testsuite/gcc.dg/parm-impl-decl-3.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/parm-impl-decl-3.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,28 @@
-+/* Like parm-impl-decl-1.c, but with -g. PR 43381. */
-+/* Origin: Joseph Myers <joseph@codesourcery.com> */
-+/* { dg-do compile } */
-+/* { dg-options "-g" } */
-+
-+int
-+foo (int __attribute__ ((__mode__ (vector_size(8)))) i) /* { dg-warning "'__mode__' attribute ignored" } */
-+{
-+ return (long long) i;
-+}
-+
-+int f (int [sizeof(g())]);
-+int f1 (int [sizeof(g1())]);
-+
-+int g () { return 1; }
-+
-+int
-+h (int (*p)[sizeof(i())])
-+{
-+ int g2 (), g3 ();
-+ return (*p)[0] + g3() + g2();
-+}
-+
-+int i () { return 2; }
-+
-+int f2 (int [sizeof(g2())]);
-+int f3 (int [sizeof(g3())]);
-+int g3 () { return 4; }
-Index: gcc/testsuite/gcc.dg/errno-1.c
+--- gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pavgb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-1.c
===================================================================
---- gcc/testsuite/gcc.dg/errno-1.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/errno-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,17 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+#include <errno.h>
-+#include <stdlib.h>
-+
-+int main()
-+{
-+ void *p;
-+ errno = 0;
-+ p = malloc (-1);
-+ if (errno != 0)
-+ do_not_optimize_away ();
-+ return 0;
-+}
-+
-+/* { dg-final { scan-assembler "do_not_optimize_away" } } */
-Index: gcc/testsuite/gcc.dg/pr42427.c
+--- gcc/testsuite/gcc.target/i386/incoming-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/incoming-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddq-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr42427.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr42427.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,21 @@
-+/* { dg-do assemble } */
-+/* { dg-options "-O2 -fexceptions -fnon-call-exceptions -fpeel-loops" } */
-+/* { dg-require-effective-target ilp32 } */
-+
-+#include <complex.h>
-+
-+extern double myabs (complex double);
-+
-+void
-+test (double *help, complex double *wm, long nz)
-+{
-+ long k;
-+ double znew;
-+ double zold;
-+ for (k = 0; k < nz; k++)
-+ {
-+ znew = myabs (wm[k]);
-+ zold = help[k];
-+ help[k] = znew;
-+ }
-+}
-Index: gcc/testsuite/gcc.dg/pr43300.c
+--- gcc/testsuite/gcc.target/i386/sse2-paddq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr35767-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43300.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43300.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,17 @@
-+/* { dg-do compile } */
-+/* { dg-options "-Os -w" } */
-+typedef float V2SF __attribute__ ((vector_size (128)));
-+
-+V2SF
-+foo (int x, V2SF a)
-+{
-+ V2SF b;
-+ if (x & 42)
-+ b = a;
-+ else
-+ b = a + (V2SF) {1.0f/0.0f - 1.0f/0.0f, 1.0f/0.0f - 1.0f/0.0f};
-+ while (x--)
-+ a += b;
-+
-+ return a;
-+}
-Index: gcc/testsuite/gcc.dg/pr43211.c
+--- gcc/testsuite/gcc.target/i386/pr35767-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vectorize2.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43211.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43211.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,15 @@
-+/* { dg-do compile } */
-+
-+struct T;
-+
-+struct S {
-+ void (*bar)(struct S);
-+};
-+
-+void bar(struct T t) {} /* { dg-error "" } */
-+
-+void foo(struct S *s)
-+{
-+ s->bar = bar;
-+}
-+
-Index: gcc/testsuite/gcc.dg/vla-22.c
+--- gcc/testsuite/gcc.target/i386/vectorize2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vectorize2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */
+
+ double a[256];
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c
===================================================================
---- gcc/testsuite/gcc.dg/vla-22.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vla-22.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,22 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+extern void bar (int *);
-+
-+static inline __attribute__((always_inline))
-+int
-+foo (int i)
-+{
-+ struct S {
-+ int ar[1][i];
-+ } s;
-+
-+ s.ar[0][0] = 0;
-+ bar (&s.ar[0][0]);
-+}
-+
-+void
-+baz (int i)
-+{
-+ foo (i + 2);
-+}
-Index: gcc/testsuite/gcc.dg/fold-div-3.c
+--- gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtpd2dq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr28839.c
===================================================================
---- gcc/testsuite/gcc.dg/fold-div-3.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/fold-div-3.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,15 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O -fdump-tree-original" } */
-+
-+unsigned int
-+apply_frontend_param (unsigned int spi_bias)
-+{
-+ static const int ppm = 8000;
-+ spi_bias /= 1000ULL + ppm/1000;
-+ return spi_bias;
-+}
-+
-+/* Make sure we perform the division in the narrower type. */
-+
-+/* { dg-final { scan-tree-dump "spi_bias = spi_bias / 1008;" "original" } } */
-+/* { dg-final { cleanup-tree-dump "original" } } */
-Index: gcc/testsuite/gcc.dg/pr43402.c
+--- gcc/testsuite/gcc.target/i386/pr28839.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr28839.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -funswitch-loops" } */
++/* { dg-require-effective-target sse2 } */
+
+ static int ready[10];
+ void abort (void);
+Index: gcc/testsuite/gcc.target/i386/pr36222-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43402.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43402.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,58 @@
-+/* { dg-do run } */
-+/* { dg-options "-O1 -fno-inline" } */
-+extern void abort (void);
-+
-+static int something;
-+
-+static int * converterData[2]={
-+ &something, &something,
-+};
-+
-+static struct {
-+ const char *name;
-+ int type;
-+} const cnvNameType[] = {
-+ { "bocu1", 1 },
-+ { "utf7", 1 },
-+ { "utf8", 1 }
-+};
-+
-+
-+const int * getAlgorithmicTypeFromName(const char *realName);
-+const int *
-+getAlgorithmicTypeFromName(const char *realName)
-+{
-+ unsigned mid, start, limit;
-+ unsigned lastMid;
-+ int result;
-+ start = 0;
-+ limit = sizeof(cnvNameType)/sizeof(cnvNameType[0]);
-+ mid = limit;
-+ lastMid = 0xffffffff;
-+
-+ for (;;) {
-+ mid = (start + limit) / 2;
-+ if (lastMid == mid) { /* Have we moved? */
-+ break; /* We haven't moved, and it wasn't found. */
-+ }
-+ lastMid = mid;
-+ result = __builtin_strcmp(realName, cnvNameType[mid].name);
-+
-+ if (result < 0) {
-+ limit = mid;
-+ } else if (result > 0) {
-+ start = mid;
-+ } else {
-+ return converterData[cnvNameType[mid].type];
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+int main (void)
-+{
-+ if (!getAlgorithmicTypeFromName ("utf8"))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr42952.c
+--- gcc/testsuite/gcc.target/i386/pr36222-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr36222-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr42952.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr42952.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,19 @@
-+/* { dg-do run } */
-+/* { dg-options "-fno-tree-ccp -fno-tree-fre" } */
-+
-+extern void abort (void);
-+
-+static int g[1];
-+
-+static int * const p = &g[0];
-+static int * const q = &g[0];
-+
-+int main(void)
-+{
-+ g[0] = 1;
-+ *p = 0;
-+ *p = *q;
-+ if (g[0] != 0)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr43002.c
+--- gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqu-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37434-1.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr43002.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr43002.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+/* { dg-do compile } */
-+/* { dg-options "-Wall -fwrapv" } */
-+
-+long A[4], B[100];
-+
-+void foo(void)
-+{
-+ int i, j, k = 3;
-+ while (A[k] && k > 0) k--; /* k = {0, 1, 2, 3} */
-+ for (i = 3 - k; i >= 0; i--) /* i = {0..3-k} */
-+ for (j = 0; j <= k; j++) { /* line 8; j = {0..k} */
-+ B[i + j] = 0; /* line 9; i + j = {0..3-k+k} = {0..3} */
-+ for (j = 0; j <= k; j++); /* only one iteration is done, with j == 0 */
-+ }
-+}
-+
-Index: gcc/testsuite/gcc.dg/torture/pr43360.c
+--- gcc/testsuite/gcc.target/i386/pr37434-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr37434-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr43360.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr43360.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,20 @@
-+/* { dg-do run } */
-+
-+int l_5_5_2 = 4;
-+int g_3[1][1];
-+
-+void func_1 (void)
-+{
-+ for (g_3[0][0] = 1; g_3[0][0] < 8; g_3[0][0] += 7) {
-+ int *l_6 = &g_3[0][0];
-+ *l_6 = l_5_5_2;
-+ }
-+}
-+
-+int main (void)
-+{
-+ func_1 ();
-+ if (g_3[0][0] != 11)
-+ __builtin_abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr42898-2.c
+--- gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmaxsw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,25 @@
-+/* { dg-do compile } */
-+/* { dg-options "-fdump-tree-optimized" } */
-+
-+struct hardware {
-+ int parm1:8;
-+ int :4;
-+ int parm2:4;
-+ int parm3:15;
-+ int parm4:1;
-+};
-+
-+const struct hardware h = {
-+ .parm1=42,
-+ .parm2=13,
-+ .parm3=11850,
-+ .parm4=1,
-+};
-+
-+void f1(volatile struct hardware *ptr)
-+{
-+ *ptr = h;
-+}
-+
-+/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */
-+/* { dg-final { cleanup-tree-dump "optimized" } } */
-Index: gcc/testsuite/gcc.dg/torture/pr42898.c
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/3dnowA-2.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr42898.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr42898.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,23 @@
-+/* { dg-do compile } */
-+/* { dg-options "-fdump-tree-optimized" } */
-+
-+struct hardware {
-+ int parm1:8;
-+ int :4;
-+ int parm2:4;
-+ int parm3:15;
-+ int parm4:1;
-+};
-+
-+void f1(volatile struct hardware *ptr)
-+{
-+ *ptr=(struct hardware) {
-+ .parm1=42,
-+ .parm2=13,
-+ .parm3=11850,
-+ .parm4=1,
-+ };
-+}
-+
-+/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */
-+/* { dg-final { cleanup-tree-dump "optimized" } } */
-Index: gcc/testsuite/gcc.dg/torture/pr42363.c
+--- gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile without optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-6.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr42363.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr42363.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,84 @@
-+/* PR middle-end/pr42363, extended from the test for PR middle-end/37913. */
-+/* { dg-do compile } */
-+/* { dg-options "-g" } */
-+
-+void foo (void) __attribute__ ((noreturn));
-+
-+static int __attribute__ ((noreturn))
-+bar (void)
-+{
-+ foo ();
-+}
-+
-+int
-+baz (void)
-+{
-+ int i = bar ();
-+ return i + 1;
-+}
-+
-+int fooz (void) __attribute__ ((noreturn));
-+
-+static int __attribute__ ((noreturn))
-+bart (void)
-+{
-+ return fooz (); /* { dg-warning "noreturn" } */
-+}
-+
-+int bazr (void)
-+{
-+ int i = bart ();
-+ return i + 1;
-+}
-+
-+static inline int
-+bard (void)
-+{
-+ return fooz ();
-+}
-+
-+int bizr (void)
-+{
-+ int i, j;
-+
-+ i = j = bard ();
-+
-+ return i + 1;
-+}
-+
-+/* This might be regarded as pure and folded, rather than inlined.
-+ It's pure evil. */
-+static int __attribute__ ((pure, const, noreturn))
-+barf (void)
-+{
-+} /* { dg-warning "does return" } */
-+
-+static int __attribute__ ((pure, const))
-+bark (void)
-+{
-+ barf ();
-+}
-+
-+int buzr (void)
-+{
-+ int i, j;
-+
-+ i = j = bark () + bark ();
-+
-+ return i + 1;
-+}
-+
-+int buzt (void)
-+{
-+ int i, j;
-+
-+ i = j = barf () + barf ();
-+
-+ return i + 1;
-+}
-+
-+void bust (void)
-+{
-+ while (barf ())
-+ ;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr43000.c
+--- gcc/testsuite/gcc.target/i386/sse2-vec-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/ssetype-2.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr43000.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr43000.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,24 @@
-+/* { dg-do run } */
-+/* { dg-options "-fwrapv" } */
-+
-+int __attribute__((noinline))
-+foo (long i, long j)
-+{
-+ if (i >= 1)
-+ if (j > -(long)(((unsigned long)(long)-1)>>1))
-+ {
-+ long x;
-+ j--;
-+ x = i + j;
-+ if (x >= 0)
-+ return 1;
-+ }
-+ return 0;
-+}
-+extern void abort (void);
-+int main()
-+{
-+ if (foo (1, 1) != 1)
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/torture/pr43165.c
+--- gcc/testsuite/gcc.target/i386/ssetype-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssetype-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "andpd" } } */
+ /* { dg-final { scan-assembler "andnpd" } } */
+ /* { dg-final { scan-assembler "xorpd" } } */
+Index: gcc/testsuite/gcc.target/i386/pr35767-1i.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-1i.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-1i.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c
===================================================================
---- gcc/testsuite/gcc.dg/torture/pr43165.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr43165.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,17 @@
-+/* PR debug/43165 */
-+/* { dg-options "-g" } */
-+
-+struct __attribute__((packed)) S
-+{
-+ unsigned char a;
-+ unsigned short b;
-+ unsigned short c;
-+ unsigned d : 24;
-+};
-+
-+void
-+foo (struct S p)
-+{
-+ for (; p.c; p.c++)
-+ ;
-+}
-Index: gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c
+--- gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pshufd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-6.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/ivopts-4.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,8 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O1" } */
-+void foo(int *p, long i, int j)
-+{
-+ do {
-+ p[i]++;
-+ } while (i += j);
-+}
-Index: gcc/testsuite/gcc.dg/tree-ssa/pr42585.c
+--- gcc/testsuite/gcc.target/i386/vecinit-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ int a, b;
+Index: gcc/testsuite/gcc.target/i386/pr41019.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/pr42585.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr42585.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,37 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O1 -fdump-tree-optimized" } */
-+
-+struct _fat_ptr
-+{
-+ unsigned char *curr;
-+ unsigned char *base;
-+ unsigned char *last_plus_one;
-+};
-+int Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr);
-+int
-+Cyc_string_ungetc (int ignore, struct _fat_ptr *sptr)
-+{
-+ struct _fat_ptr *_T0;
-+ struct _fat_ptr *_T1;
-+ struct _fat_ptr _T2;
-+ int _T3;
-+ struct _fat_ptr _ans;
-+ int _change;
-+
-+ {
-+ _T0 = sptr;
-+ _T1 = sptr;
-+ _T2 = *sptr;
-+ _T3 = -1;
-+ _ans = _T2;
-+ _change = -1;
-+ _ans.curr += 4294967295U;
-+ *sptr = _ans;
-+ return (0);
-+ }
-+}
-+
-+/* The local aggregates . */
-+/* { dg-final { scan-tree-dump-times "struct _fat_ptr _ans" 0 "optimized"} } */
-+/* { dg-final { scan-tree-dump-times "struct _fat_ptr _T2" 0 "optimized"} } */
-+/* { dg-final { cleanup-tree-dump "optimized" } } */
-Index: gcc/testsuite/gcc.dg/tree-ssa/inline-4.c
+--- gcc/testsuite/gcc.target/i386/pr41019.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr41019.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddb-1.c
===================================================================
---- gcc/testsuite/gcc.dg/tree-ssa/inline-4.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/inline-4.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,27 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fdump-tree-einline2" } */
-+/* { dg-add-options bind_pic_locally } */
-+
-+extern int rand(void);
-+
-+int get_data_for (int id)
-+{
-+ return rand();
-+}
-+
-+int my_id;
-+
-+int main()
-+{
-+ int res = get_data_for (my_id);
-+ switch (res)
-+ {
-+ case 0:
-+ return 666;
-+ default:
-+ return -1;
-+ }
-+}
-+
-+/* { dg-final { scan-tree-dump "Inlining get_data_for into main" "einline2" } } */
-+/* { dg-final { cleanup-tree-dump "einline2" } } */
-Index: gcc/testsuite/gcc.dg/compound-literal-1.c
+--- gcc/testsuite/gcc.target/i386/sse2-paddb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-1.c
===================================================================
---- gcc/testsuite/gcc.dg/compound-literal-1.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/compound-literal-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+/* { dg-do compile } */
-+
-+/* PR c/43248 */
-+
-+int foo(__SIZE_TYPE__ i)
-+{
-+ i ? : (void *){}; /* { dg-error "" } */
-+}
-+
-Index: gcc/testsuite/gcc.dg/pr43280.c
+--- gcc/testsuite/gcc.target/i386/sse2-movq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-3.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43280.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43280.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,30 @@
-+/* { dg-do run } */
-+/* { dg-require-effective-target stdint_types } */
-+/* { dg-options "-O2" } */
-+
-+#include <stdint.h>
-+
-+extern void abort (void);
-+
-+uint64_t __attribute__((noinline))
-+byteswap64(uint64_t x)
-+{
-+ uint32_t a = x >> 32;
-+ uint32_t b = (uint32_t) x;
-+ return ((uint64_t) ((((((b)) >> (8)) | (((b)) << (32 - (8)))) & 0xff00ff00L)
-+ | (((((b)) << (8)) | (((b)) >> (32 - (8)))) & 0x00ff00ffL)) << 32)
-+ | (uint64_t) ((((((a)) >> (8)) | (((a)) << (32 - (8)))) & 0xff00ff00L)
-+ | (((((a)) << (8)) | (((a)) >> (32 - (8)))) & 0x00ff00ffL));
-+}
-+
-+int
-+main ()
-+{
-+ uint64_t in = (uint64_t)0x01020304 << 32 | 0x05060708;
-+ uint64_t cmp = (uint64_t)0x08070605 << 32 | 0x04030201;
-+
-+ if (cmp != byteswap64 (in))
-+ abort ();
-+
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c
+--- gcc/testsuite/gcc.target/i386/incoming-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/incoming-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c
===================================================================
---- gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/debug/dwarf2/pr43237.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,31 @@
-+/* PR debug/43237 */
-+/* { dg-do compile } */
-+/* { dg-options "-g -O2 -dA -fno-merge-debug-strings" } */
-+
-+struct S
-+{
-+ int *a;
-+ int b;
-+ int **c;
-+ int d;
-+};
-+
-+void foo (struct S *);
-+void bar (struct S *);
-+
-+int
-+baz (void)
-+{
-+ struct S s;
-+ foo (&s);
-+ {
-+ int a[s.b];
-+ int *c[s.d];
-+ s.a = a;
-+ s.c = c;
-+ bar (&s);
-+ }
-+ return 0;
-+}
-+
-+/* { dg-final { scan-assembler-not "LLST\[^\\r\\n\]*DW_AT_upper_bound" } } */
-Index: gcc/testsuite/gcc.dg/pr42715.c
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp
+===================================================================
+--- gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,7 @@
+ # This harness is for tests that should be run at all optimisation levels.
+
++load_lib target-supports.exp
++
+ # Exit immediately if this isn't a x86 target.
+ if { ![istarget i?86*-*-*] && ![istarget x86_64-*-*] } then {
+ return
+@@ -9,27 +11,31 @@
+ { -O0 } \
+ { -O0 -mfpmath=387 } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse } \
+- { -O0 -msse -msse2 -mfpmath=sse } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse,387 } \
+- { -O0 -msse -msse2 -mfpmath=sse,387 } \
+ { -O0 -mfpmath=387 -ffast-math } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse -ffast-math } \
+- { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \
+ { -O0 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \
+- { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
+ { -O2 } \
+ { -O2 -mfpmath=387 } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse } \
+- { -O2 -msse -msse2 -mfpmath=sse } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse,387 } \
+- { -O2 -msse -msse2 -mfpmath=sse,387 } \
+ { -O2 -mfpmath=387 -ffast-math } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse -ffast-math } \
+- { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \
+ { -O2 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \
+- { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
+ ]
+
++if { [check_effective_target_sse2] } {
++ lappend MATH_TORTURE_OPTIONS \
++ { -O0 -msse -msse2 -mfpmath=sse } \
++ { -O0 -msse -msse2 -mfpmath=sse,387 } \
++ { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \
++ { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
++ { -O2 -msse -msse2 -mfpmath=sse } \
++ { -O2 -msse -msse2 -mfpmath=sse,387 } \
++ { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \
++ { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \
++}
++
+ load_lib gcc-dg.exp
+ load_lib torture-options.exp
+
+Index: gcc/testsuite/gcc.target/i386/sse2-addpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-addpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-addpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pslld-2.c
===================================================================
---- gcc/testsuite/gcc.dg/pr42715.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr42715.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,59 @@
-+/* { dg-do compile { target fpic } } */
-+/* { dg-options "-fPIC -g -O2 -w" } */
-+/* var-tracking failed to clobber the reg holding v at the asm insn,
-+ so v ended up bound to an intermediate PIC expression. */
-+
-+struct A { unsigned a1; char a2[15]; };
-+struct B { long b1; unsigned char b2; long b3; };
-+struct C { void *c1; unsigned c2; unsigned c3; };
-+
-+static struct A v1;
-+struct A *const v2 = &v1;
-+
-+static inline
-+int foo (void)
-+{
-+ int *v;
-+ __asm__ __volatile__ ("" : "=r" (v));
-+ return v[1];
-+}
-+
-+static void
-+bar (struct C *x)
-+{
-+ if (x->c2 == x->c3 && x->c1)
-+ f1 (foo (), x->c1, x->c3 * sizeof (x->c1[0]));
-+}
-+
-+void
-+baz (struct B *y)
-+{
-+ int i;
-+ const char *j;
-+ char *k;
-+ char x[64];
-+ for (i = 0; i < sizeof (struct B); i++, y)
-+ {
-+ switch (y->b2)
-+ {
-+ case 0x20:
-+ if (__builtin_strchr (j, '='))
-+ continue;
-+ }
-+ switch (y->b2)
-+ {
-+ case 0x80:
-+ bar (&x);
-+ f2 (y->b3);
-+ case 0x2e:
-+ case 0x4e:
-+ break;
-+ default:
-+ if (v2->a1)
-+ f2 (y->b2);
-+ }
-+ k[0] = '\0';
-+ if (v2->a1)
-+ f2 (y->b1);
-+ }
-+}
-Index: gcc/testsuite/gcc.dg/pr43419.c
+--- gcc/testsuite/gcc.target/i386/sse2-pslld-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pslld-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr35767-3.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43419.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43419.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,19 @@
-+/* { dg-do run } */
-+/* { dg-options "-O1" } */
-+/* { dg-options "-mieee -O1" { target alpha*-*-* sh*-*-* } } */
-+#include <math.h>
-+
-+extern void abort (void);
-+void __attribute__((noinline)) f (double x)
-+{
-+ double pluszero = pow (x, 0.5);
-+ double minuszero = sqrt (x);
-+ if (signbit (pluszero) == signbit (minuszero))
-+ abort ();
-+}
-+
-+int main(void)
-+{
-+ f (-0.0);
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/ipa/ipacost-2.c
+--- gcc/testsuite/gcc.target/i386/pr35767-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target dfp } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O -msse2 -std=gnu99" } */
+
+ #include "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vectorize4.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipacost-2.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipacost-2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
+--- gcc/testsuite/gcc.target/i386/vectorize4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vectorize4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
/* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */
--/* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized -fpie" { target { ! nonpic } } } */
-+/* { dg-add-options bind_pic_locally } */
-
- int array[100];
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 --param ggc-min-expand=0 --param ggc-min-heapsize=0" } */
+ /* This test, tests two thing, we vectorize square root and also we don't crash due to a GC issue. */
-Index: gcc/testsuite/gcc.dg/ipa/ipa-1.c
+Index: gcc/testsuite/gcc.target/i386/sseregparm-3.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-1.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-1.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
+--- gcc/testsuite/gcc.target/i386/sseregparm-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sseregparm-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
/* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
- #include <stdio.h>
- int g (int b, int c)
-Index: gcc/testsuite/gcc.dg/ipa/ipa-2.c
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-2.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+--- gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtpd2ps-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- #include <stdio.h>
- int g (int b, int c)
-Index: gcc/testsuite/gcc.dg/ipa/ipa-3.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-3.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-3.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-packssdw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* Double constants. */
-Index: gcc/testsuite/gcc.dg/ipa/ipa-4.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr42549.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-4.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-4.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+--- gcc/testsuite/gcc.target/i386/pr42549.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42549.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -m3dnow" } */
- #include <stdio.h>
- int g (int b, int c)
-Index: gcc/testsuite/gcc.dg/ipa/ipa-5.c
+ #include "mmx-3dnow-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssetype-4.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-5.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-5.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
+--- gcc/testsuite/gcc.target/i386/ssetype-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssetype-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
/* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "andps" } } */
+ /* { dg-final { scan-assembler "andnps" } } */
+ /* { dg-final { scan-assembler "xorps" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movapd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movapd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movapd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* Float & short constants. */
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movlpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/testsuite/gcc.dg/ipa/ipa-7.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psubd-1.c
===================================================================
---- gcc/testsuite/gcc.dg/ipa/ipa-7.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gcc.dg/ipa/ipa-7.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining" } */
--/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
+--- gcc/testsuite/gcc.target/i386/sse2-psubd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- #include <stdio.h>
- void send_addr (int *);
-Index: gcc/testsuite/gcc.dg/pr42388.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrld-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr42388.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr42388.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,67 @@
-+/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */
-+/* { dg-options "-O2 -fselective-scheduling -fmodulo-sched" } */
-+
-+enum rtx_code
-+{
-+ INSN, ADDR_VEC, ADDR_DIFF_VEC, CALL_INSN, CODE_LABEL, BARRIER, NOTE
-+};
-+typedef union rtunion_def
-+{
-+ int rtint;
-+ char *rtstr;
-+ struct rtx_def *rtx;
-+ struct rtvec_def *rtvec;
-+}
-+rtunion;
-+typedef struct rtx_def
-+{
-+ unsigned short code;
-+ rtunion fld[1];
-+}
-+ *rtx;
-+typedef struct rtvec_def
-+{
-+ unsigned num_elem;
-+ rtunion elem[1];
-+}
-+ *rtvec;
-+extern rtx emit_barrier (void);
-+extern rtx emit_note (char *);
-+
-+static void
-+copy_loop_body (rtx *map)
-+{
-+ int i;
-+ rtx insn, copy;
-+ rtx pat = copy->fld[3].rtx;
-+
-+ switch (insn->code)
-+ {
-+ case INSN:
-+ if (insn->fld[7].rtx)
-+ {
-+ }
-+ else if (pat->code == ADDR_VEC || pat->code == ADDR_DIFF_VEC)
-+ {
-+ int diff_vec_p = pat->code == ADDR_DIFF_VEC;
-+ int len = pat->fld[diff_vec_p].rtvec->num_elem;
-+ for (i = 0; i < len; i++)
-+ pat->fld[diff_vec_p].rtvec->elem[i].rtx->fld[5].rtint++;
-+ }
-+ case CALL_INSN:
-+ for (i = 0; i < 64; i++)
-+ map[i] = 0;
-+ case CODE_LABEL:
-+ case BARRIER:
-+ copy = emit_barrier ();
-+ case NOTE:
-+ copy = emit_note ("x");
-+ }
-+}
-+void
-+unroll_loop (int insn_count, rtx *map)
-+{
-+ if (insn_count > 50)
-+ copy_loop_body (map);
-+}
-+
-Index: gcc/testsuite/gcc.dg/pr42250.c
+--- gcc/testsuite/gcc.target/i386/sse2-psrld-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrld-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr36578-2.c
===================================================================
---- gcc/testsuite/gcc.dg/pr42250.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr42250.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,68 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fipa-type-escape" } */
-+
-+extern double log10 (double __x);
-+extern double ceil (double __x);
-+extern double floor (double __x);
-+extern void free (void *__ptr);
-+extern void *my_malloc (unsigned int);
-+extern int num_rr_nodes;
-+static float get_cblock_trans (int *num_inputs_to_cblock,
-+ int max_inputs_to_cblock,
-+ float trans_cblock_to_lblock_buf,
-+ float trans_sram_bit);
-+static float trans_per_mux (int num_inputs, float trans_sram_bit);
-+void
-+count_routing_transistors (int num_switch, float R_minW_nmos,
-+ float R_minW_pmos)
-+{
-+ int *num_inputs_to_cblock;
-+ int iswitch, i, j, iseg, max_inputs_to_cblock;
-+ float input_cblock_trans;
-+ const float trans_sram_bit = 6.;
-+ float trans_cblock_to_lblock_buf;
-+ input_cblock_trans =
-+ get_cblock_trans (num_inputs_to_cblock, max_inputs_to_cblock,
-+ trans_cblock_to_lblock_buf, trans_sram_bit);
-+}
-+
-+static float
-+get_cblock_trans (int *num_inputs_to_cblock, int max_inputs_to_cblock,
-+ float trans_cblock_to_lblock_buf, float trans_sram_bit)
-+{
-+ float *trans_per_cblock;
-+ float trans_count;
-+ int i, num_inputs;
-+
-+ trans_per_cblock =
-+ (float *) my_malloc ((max_inputs_to_cblock + 1) * sizeof (float));
-+ for (i = 1; i <= max_inputs_to_cblock; i++)
-+ trans_per_cblock[i] =
-+ trans_per_mux (i, trans_sram_bit) + trans_cblock_to_lblock_buf;
-+ for (i = 0; i < num_rr_nodes; i++)
-+ {
-+ num_inputs = num_inputs_to_cblock[i];
-+ trans_count += trans_per_cblock[num_inputs];
-+ }
-+ free (trans_per_cblock);
-+ return (trans_count);
-+}
-+
-+static float
-+trans_per_mux (int num_inputs, float trans_sram_bit)
-+{
-+ int nlevels, ilevel, current_inps;
-+ float ntrans = 0;
-+
-+ if (num_inputs <= 1)
-+ return (0);
-+ nlevels = ceil (log10 (num_inputs) / log10 (2.) - 0.00001);
-+ current_inps = num_inputs;
-+ for (ilevel = 1; ilevel <= nlevels; ilevel++)
-+ {
-+ ntrans += 2 * floor (current_inps / 2.);
-+ current_inps = ceil (current_inps / 2.);
-+ }
-+ ntrans += trans_sram_bit * nlevels;
-+ return (ntrans);
-+}
-Index: gcc/testsuite/gcc.dg/pr43379.c
+--- gcc/testsuite/gcc.target/i386/pr36578-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr36578-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test for unsafe floating-point conversions. */
+ /* { dg-do run } */
+ /* { dg-options "-msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr32000-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43379.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43379.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,11 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -ftracer -w" } */
-+
-+void *foo(int i, int *p)
-+{
-+lab:
-+ if (p) *p = i;
-+ goto *p;
-+ return &&lab;
-+}
-+
-Index: gcc/testsuite/gcc.dg/pr43299.c
+--- gcc/testsuite/gcc.target/i386/pr32000-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32000-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target dfp } */
+ /* { dg-options "-O -msse2 -std=gnu99" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43299.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43299.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,28 @@
-+/* PR debug/43299 */
-+/* { dg-do assemble } */
-+/* { dg-options "-g -O2" } */
-+
-+extern void *emit_insn (void *);
-+
-+__attribute__((noinline))
-+void *gen_load_locked_si (void *x, void *y)
-+{
-+ return x;
-+}
-+
-+__attribute__((noinline))
-+void *gen_load_locked_di (void *x, void *y)
-+{
-+ return x;
-+}
-+
-+void
-+emit_load_locked (int mode, void *reg, void *mem)
-+{
-+ void * (*fn) (void *, void *) = ((void *)0);
-+ if (mode == 9)
-+ fn = gen_load_locked_si;
-+ else if (mode == 10)
-+ fn = gen_load_locked_di;
-+ emit_insn (fn (reg, mem));
-+}
-Index: gcc/testsuite/gcc.dg/pr43305.c
+--- gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-lrint-vec.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pand-1.c
===================================================================
---- gcc/testsuite/gcc.dg/pr43305.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr43305.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+/* { dg-do compile } */
-+/* { dg-options "-Os -ffast-math" } */
-+extern int ilogbl(long double);
-+extern int printf(const char *format, ...);
-+
-+__attribute__((noinline))
-+int foo(long double x)
-+{
-+ return ilogbl(x);
-+}
-+
-+int main()
-+{
-+ printf("%d\n", foo(100));
-+ return 0;
-+}
-Index: gcc/testsuite/gcc.dg/vect/pr42604.c
+--- gcc/testsuite/gcc.target/i386/sse2-pand-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pand-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-3.c
===================================================================
---- gcc/testsuite/gcc.dg/vect/pr42604.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr42604.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,35 @@
-+/* PR debug/42604 */
-+/* { dg-do compile } */
-+/* { dg-options "-O3 -ftree-vectorize -g -ffast-math" } */
-+
-+unsigned *d;
-+unsigned short e;
-+int f;
-+float h[3][4];
-+
-+void
-+test (unsigned short *b)
-+{
-+ int a, c, i;
-+ float g[3];
-+ unsigned j[32] = { 10, 0x63707274 };
-+ for (i = 0; i < (int) j[0]; i++)
-+ {
-+ j[i * 3 + 2] = d[0];
-+ d[0] += (j[i * 3 + 3] + 3) & -4;
-+ }
-+ for (a = 0; a < e; a++)
-+ {
-+ g[0] = g[1] = g[2] = 0;
-+ for (c = 0; c < f; c++)
-+ {
-+ g[0] += h[0][c] * b[c];
-+ g[1] += h[1][c] * b[c];
-+ }
-+ for (c = 0; c < 3; c++)
-+ b[c] = 0 > ((int) g[c] < 65535 ? ((int) g[c]) : 65535)
-+ ? 0 : ((int) g[c]) < 65535 ? (int) g[c] : 65535;
-+ }
-+}
+--- gcc/testsuite/gcc.target/i386/sse2-movq-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/pr39496.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39496.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr39496.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR target/39496 */
+ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } } */
+ /* { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* Verify that {foo,bar}{,2}param are all passed on the stack, using
+ normal calling conventions, when not optimizing. */
+ /* { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } } */
+Index: gcc/testsuite/gcc.target/i386/pr35767-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test that we generate aligned load when memory is aligned. */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mtune=generic" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "movups" } } */
+ /* { dg-final { scan-assembler "movaps" } } */
+
+Index: gcc/testsuite/gcc.target/i386/vectorize6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vectorize6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -mveclibabi=svml -ffast-math" } */
++/* { dg-require-effective-target sse2 } */
+
+ double x[256];
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddsb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sseregparm-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-unpckhpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-10.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-10.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-10.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -mno-accumulate-outgoing-args -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -fno-omit-frame-pointer" { target *-*-mingw* *-*-cygwin* } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtps2dq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr39162.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr39162.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr39162.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -mno-avx" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pshufhw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-andpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-andpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-andpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-2a.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr42542-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42542-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-paddd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movmskpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37101.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37101.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr37101.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -ftree-vectorize -march=nocona" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef __SIZE_TYPE__ size_t;
+ extern void *malloc (size_t);
+Index: gcc/testsuite/gcc.target/i386/sse2-divpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-divpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-divpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-epi64x-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v4si-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sseregparm-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-7.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sseregparm-7.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Make sure we know that mysinfp returns in %xmm0. */
+
+Index: gcc/testsuite/gcc.target/i386/sse3-movshdup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movshdup.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-movshdup.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/quad-sse.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/quad-sse.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/quad-sse.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ __float128 x, y;
+
+Index: gcc/testsuite/gcc.target/i386/pr42881.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42881.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42881.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,8 @@
+ /* PR target/42881 */
+ /* { dg-do run } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-Index: gcc/testsuite/gcc.dg/vect/pr42395.c
+ #include "sse2-check.h"
+ static void
+ sse2_test (void)
+Index: gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddusb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vararg-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-w" { target { lp64 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+ #include <stdarg.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmulhw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/3dnow-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/3dnow-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -Werror-implicit-function-declaration -m3dnow" } */
+
+ /* Test that the intrinsics compile with optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqa-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhdq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/xorps.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/xorps.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/xorps.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __m128 __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/sse2-movd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrad-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrad-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrad-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttpd2dq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movhpd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/crc32-3.c
===================================================================
---- gcc/testsuite/gcc.dg/vect/pr42395.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr42395.c (.../branches/gcc-4_4-branch) (wersja 157785)
+--- gcc/testsuite/gcc.target/i386/crc32-3.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/crc32-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -0,0 +1,10 @@
-+/* PR debug/42395 */
+/* { dg-do compile } */
-+/* { dg-options "-O3 -ftree-vectorize -g" } */
++/* { dg-require-effective-target ilp32 } */
++/* { dg-options "-O2 -msse4.2" } */
++/* { dg-final { scan-assembler "__builtin_ia32_crc32di" } } */
+
-+void foo(int j, int *A)
++unsigned long long
++crc32d (unsigned long long x, unsigned long long y)
+{
-+ int i;
-+ for (i = 0; i < j; i ++) A[i] = i;
-+ for (; i < 4096; i ++) A[i] = 0;
++ return __builtin_ia32_crc32di (x, y);
+}
-Index: gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c
+Index: gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c
===================================================================
---- gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/fast-math-pr43074.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+/* { dg-do compile } */
-+
-+float
-+pvslockprocess(float *fout, float *fin, int framesize)
-+{
-+ int i;
-+ float mag=0.0f, diff;
-+ for (i = 0; i < framesize; i += 2) {
-+ mag += fin[i];
-+ fout[i] = fin[i];
-+ fout[i+1] = fin[i+1];
-+ }
-+ return mag;
-+}
-+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-Index: gcc/testsuite/gcc.dg/vect/pr42709.c
+--- gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-packsswb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psllw-2.c
===================================================================
---- gcc/testsuite/gcc.dg/vect/pr42709.c (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gcc.dg/vect/pr42709.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,28 @@
-+/* { dg-do compile } */
-+/* { dg-require-effective-target vect_int } */
-+
-+#include <stdarg.h>
-+#include "tree-vect.h"
-+
-+#define N 128
-+
-+int *res[N];
-+
-+int
-+main1 (int *a, int *b, int *c, int *d, int dummy)
-+{
-+ int i;
-+
-+ for (i = 0; i < N/2; i+=4)
-+ {
-+ res[i] = a + 16;
-+ res[i+1] = b + 16;
-+ res[i+2] = c + 16;
-+ res[i+3] = d + 16;
-+ if (dummy == 32)
-+ abort ();
-+ }
-+}
-+
-+/* { dg-final { cleanup-tree-dump "vect" } } */
-+
-Index: gcc/testsuite/ChangeLog
+--- gcc/testsuite/gcc.target/i386/sse2-psllw-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psllw-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-hsubps.c
===================================================================
---- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,733 @@
-+2010-03-27 Joseph Myers <joseph@codesourcery.com>
-+
-+ PR c/43381
-+ * gcc.dg/parm-impl-decl-3.c: New test.
-+
-+2010-03-26 Volker Reichelt <reichelt@gcc.gnu.org>
-+
-+ PR c++/43024
-+ * g++.dg/opt/ice1.C: New.
-+
-+2010-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43517
-+ * gfortran.dg/read_eof_7.f90: New test.
-+
-+2010-03-25 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2010-03-22 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/43333
-+ * g++.dg/ext/is_pod_98.C: New.
-+
-+ 2010-03-22 Michael Matz <matz@suse.de>
-+
-+ PR middle-end/43475
-+ * gfortran.dg/pr43475.f90: New testcase.
-+
-+ 2010-03-22 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43390
-+ * gfortran.fortran-torture/execute/pr43390.f90: New testcase.
-+
-+ 2010-03-20 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/43375
-+ * g++.dg/abi/mangle42.C: New test.
-+
-+ 2010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
-+
-+ PR C/43211
-+ * gcc.dg/pr43211.c: New test.
-+
-+ 2010-03-18 Martin Jambor <mjambor@suse.cz>
-+
-+ PR middle-end/42450
-+ * g++.dg/torture/pr42450.C: New test.
-+
-+ 2010-03-18 Michael Matz <matz@suse.de>
-+
-+ PR tree-optimization/43402
-+ * gcc.dg/pr43402.c: New testcase.
-+
-+ 2010-03-17 Peter Bergner <bergner@vnet.ibm.com>
-+
-+ PR target/42427
-+ * gcc.dg/pr42427.c: New test.
-+
-+ 2010-03-16 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/43379
-+ * gcc.dg/pr43379.c: New testcase.
-+
-+ 2010-03-15 Michael Matz <matz@suse.de>
-+
-+ PR middle-end/43300
-+ * gcc.dg/pr43300.c: New testcase.
-+
-+ 2010-03-15 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43367
-+ * gcc.c-torture/compile/pr43367.c: New testcase.
-+
-+2010-03-25 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c/43385
-+ * gcc.c-torture/execute/pr43385.c: New test.
-+
-+2010-03-22 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2010-03-19 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43415
-+ * gcc.c-torture/compile/pr43415.c: New testcase.
-+
-+2010-03-22 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-03-20 Richard Guenther <rguenther@suse.de>
-+
-+ PR rtl-optimization/43438
-+ * gcc.c-torture/execute/pr43438.c: New testcase.
-+
-+ 2010-03-19 Michael Matz <matz@suse.de>
-+
-+ PR c++/43116
-+ * g++.dg/other/pr43116.C: New testcase.
-+
-+ PR target/43305
-+ * gcc.dg/pr43305.c: New testcase.
-+
-+ 2010-03-18 Michael Matz <matz@suse.de>
-+
-+ PR middle-end/43419
-+ * gcc.dg/pr43419.c: New testcase.
-+
-+2010-03-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * gcc.target/powerpc/ppc-sdata-1.c: Require nonpic.
-+ * gcc.target/powerpc/ppc-sdata-2.c: Likewise.
-+
-+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ PR rtl-optimization/43360
-+ * gcc.dg/torture/pr43360.c: New.
-+
-+2010-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43265
-+ * gfortran.dg/read_empty_file.f: New test.
-+ * gfortran.dg/read_eof_all.f90: New test.
-+ * gfortran.dg/namelist_27.f90: Eliminate infinite loop posibility.
-+ * gfortran.dg/namelist_28.f90: Eliminate infinite loop posibility.
-+
-+2010-03-13 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2010-03-11 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/43257
-+ * g++.dg/torture/pr43257.C: New test.
-+
-+ 2010-03-11 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43255
-+ * gcc.c-torture/compile/pr43255.c: New testcase.
-+
-+ 2010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-+
-+ * gcc.dg/pr43280.c: New testcase.
-+
-+ 2010-03-10 Jan Hubicka <jh@suse.cz>
-+
-+ * gcc.c-torture/compile/pr43288.c: New test.
-+
-+ 2010-03-10 Andrey Belevantsev <abel@ispras.ru>
-+
-+ PR middle-end/42859
-+ * g++.dg/eh/pr42859.C: New test.
-+
-+ 2010-03-09 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR debug/43299
-+ * gcc.dg/pr43299.c: New test.
-+
-+ 2010-03-08 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43269
-+ * gcc.c-torture/execute/pr43269.c: New testcase.
-+
-+ 2010-03-04 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/43164
-+ PR tree-optimization/43191
-+ * gcc.c-torture/compile/pr43164.c: New test.
-+ * gcc.c-torture/compile/pr43191.c: Likewise.
-+
-+ 2010-03-04 Changpeng Fang <changpeng.fang@amd.com>
-+
-+ PR middle-end/43209
-+ * gcc.dg/tree-ssa/ivopts-4.c: New.
-+
-+ 2010-03-03 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR debug/43229
-+ * gfortran.dg/pr43229.f90: New test.
-+
-+ PR debug/43237
-+ * gcc.dg/debug/dwarf2/pr43237.c: New test.
-+
-+ 2010-03-02 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/43180
-+ * gfortran.dg/internal_pack_10.f90: New test.
-+
-+ 2010-02-26 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43188
-+ * gcc.c-torture/compile/pr43188.c: New testcase.
-+
-+ 2010-02-25 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR debug/43166
-+ * gfortran.dg/debug/pr43166.f: New test.
-+
-+ PR debug/43165
-+ * gcc.dg/torture/pr43165.c: New test.
-+
-+ 2010-02-23 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR target/43107
-+ * gcc.target/i386/pr43107.c: New test.
-+
-+2010-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * gcc.target/arm/sibcall-1.c: Allow PLT to appear with pic code.
-+
-+2010-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43320
-+ PR libfortran/43265
-+ * gfortran.dg/read_eof_6.f: New test
-+ * gfortran.dg/read_x_eof.f90: New test.
-+ * gfortran.dg/read_x_past.f: Update test.
-+
-+2010-03-11 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/43228
-+ * gfortran.dg/namelist_61.f90: New test.
-+
-+2010-03-11 Janis Johnson <janis187@us.ibm.com>
-+
-+ * lib/target-supports-dg.exp (check-flags): Provide defaults for
-+ include-opts and exclude-opts; skip checking the flags if arguments
-+ are the same as the defaults.
-+ (dg-xfail-if): Verify the number of arguments, supply defaults
-+ for unspecified optional arguments.
-+ (dg-skip-if, dg-xfail-run-if): Verify the number of arguments.
-+
-+2010-03-11 Tobias Burnus <burnus@net-b.de
-+
-+ PR fortran/43303
-+ * gfortran.dg/c_assoc_3.f90: New test.
-+
-+2010-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * g++.old-deja/g++.pt/asm1.C: Don't detect pic via looking for the
-+ -fpic/-fPIC flags.
-+ * g++.old-deja/g++.pt/asm2.C: Likewise.
-+ * gcc.c-torture/compile/20000804-1.c: Likewise.
-+ * gcc.target/i386/clobbers.c: Likewise.
-+
-+2010-03-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
-+
-+ PR c/43248
-+ * gcc.dg/compound-literal-1.c: New testcase.
-+
-+2010-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ Backport:
-+ 2009-10-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+ * lib/target-supports.exp (add_options_for_bind_pic_locally): New.
-+
-+ 2009-10-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+ * g++.dg/ipa/iinline-1.C: Use dg-add-options bind_pic_locally.
-+ * g++.dg/other/first-global.C: Likewise.
-+ * g++.dg/parse/attr-externally-visible-1.C: Likewise.
-+ * g++.dg/tree-ssa/nothrow-1.C: Likewise.
-+ * gcc.dg/inline-33.c: Likewise.
-+ * gcc.dg/ipa/ipa-1.c: Likewise.
-+ * gcc.dg/ipa/ipa-2.c: Likewise.
-+ * gcc.dg/ipa/ipa-3.c: Likewise.
-+ * gcc.dg/ipa/ipa-4.c: Likewise.
-+ * gcc.dg/ipa/ipa-5.c: Likewise.
-+ * gcc.dg/ipa/ipa-7.c: Likewise.
-+ * gcc.dg/ipa/ipacost-2.c: Likewise.
-+
-+ 2010-02-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+ * gcc.dg/tree-ssa/inline-4.c: Bind pic locally.
-+
-+2010-03-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-+
-+ * lib/gnat.exp (gnat_init): Remove GNAT_UNDER_TEST_ORIG.
-+ (gnat_target_compile): Likewise.
-+ Reinitialize GNAT_UNDER_TEST if target changes.
-+ Set ADA_INCLUDE_PATH, ADA_OBJECTS_PATH in environment.
-+ (local_find_gnatmake): Pass full --GCC to gnatlink.
-+ Remove --LINK.
-+
-+2010-03-02 Jakub Jelinek <jakub@redhat.com>
-+
-+ Backport from mainline:
-+ 2010-03-01 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43220
-+ * gcc.c-torture/execute/pr43220.c: New testcase.
-+
-+2010-02-27 Eric Botcazou <ebotcazou@adacore.com>
-+
-+ * gnat.dg/thin_pointer.ad[sb]: Rename into...
-+ * gnat.dg/thin_pointer1.ad[sb]: ...this.
-+ * gnat.dg/thin_pointer2.adb: New test.
-+ * gnat.dg/thin_pointer2_pkg.ad[sb]: New helper.
-+
-+2010-02-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ * gcc.target/arm/thumb2-cbnz.c: New test.
-+
-+2010-02-23 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2010-02-22 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42749
-+ * gcc.c-torture/compile/pr42749.c: New testcase.
-+
-+ 2010-02-21 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/42824
-+ * g++.dg/template/memclass4.C: New test.
-+
-+ 2010-02-20 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/43111
-+ * gfortran.dg/internal_pack_8.f90: New test.
-+
-+ 2010-02-18 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/43109
-+ * g++.dg/parse/namespace12.C: New.
-+
-+ 2010-02-18 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/43066
-+ * gcc.c-torture/compile/pr43066.c: New test.
-+
-+ 2010-02-17 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/43069
-+ * g++.dg/parse/namespace11.C: New.
-+
-+ PR c++/43093
-+ * g++.dg/ext/attrib37.C: New.
-+
-+ PR c++/43079
-+ * g++.dg/template/ptrmem20.C: New.
-+
-+ 2010-02-16 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/43031
-+ * g++.dg/ext/attrib36.C: New.
-+
-+ 2010-02-15 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/43068
-+ * g++.dg/torture/pr43068.C: New testcase.
-+
-+ 2010-02-11 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42998
-+ * gcc.c-torture/compile/pr42998.c: New testcase.
-+
-+ 2010-02-10 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43017
-+ * gcc.dg/torture/pr43017.c: New testcase.
-+
-+ 2010-02-10 Richard Guenther <rguenther@suse.de>
-+
-+ PR c/43007
-+ * gcc.c-torture/execute/20100209-1.c: New testcase.
-+ * gcc.dg/fold-div-3.c: Likewise.
-+
-+ 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR fortran/42999
-+ * gfortran.dg/array_constructor_35.f90: New test.
-+
-+ 2010-02-09 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43008
-+ * gcc.c-torture/execute/pr43008.c: New testcase.
-+
-+ 2010-02-09 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/43000
-+ * gcc.dg/torture/pr43000.c: New testcase.
-+ * gcc.dg/torture/pr43002.c: Likewise.
-+
-+ 2010-02-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/42742
-+ * gfortran.dg/fmt_cache_2.f: New test.
-+
-+ 2010-02-03 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/42870
-+ * g++.dg/ext/dllexport3.C: New.
-+
-+2010-02-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ PR target/40887
-+ Backport from trunk.
-+ 2009-12-24 Julian Brown <julian@codesourcery.com>
-+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ * gcc.target/arm/pr40887.c: New test.
-+
-+2010-02-16 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/43074
-+ * gcc.dg/vect/fast-math-pr43074.c: New test.
-+
-+2010-02-16 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/41869
-+ * gfortran.dg/module_write_1.f90: New test.
-+
-+2010-02-13 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42871
-+ * g++.dg/torture/pr42871.C: New testcase.
-+
-+2010-02-12 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/43033
-+ * g++.dg/other/default3.C: Xfail g4 test.
-+
-+2010-02-10 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR debug/43010
-+ * g++.dg/debug/pr43010.C: New test.
-+
-+2010-02-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ * gcc.dg/tree-ssa/inline-4.c: Bind pic locally.
-+
-+2010-02-08 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR tree-optimization/42890
-+ * g++.dg/torture/pr42890.C: New test.
-+
-+2010-02-08 Richard Guenther <rguenther@suse.de>
-+
-+ Backport from mainline:
-+ 2010-01-05 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42462
-+ * gcc.dg/tree-ssa/inline-4.c: New testcase.
-+ * gcc.dg/Wunreachable-2.c: Remove.
-+
-+2010-02-08 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * gcc.dg/ipa/pr42706.c: Removed.
-+
-+2010-02-06 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ Backport from mainline:
-+ 2010-02-05 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/42915
-+ * g++.dg/other/crash-9.C: New test.
-+
-+ 2010-02-03 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/40138
-+ * g++.dg/ext/builtin11.C: New.
-+
-+ 2010-02-03 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42944
-+ * gcc.dg/errno-1.c: New testcase.
-+
-+ 2010-02-03 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42927
-+ * gcc.c-torture/compile/pr42927.c: New testcase.
-+
-+ 2010-01-29 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/42758
-+ PR c++/42634
-+ PR c++/42336
-+ PR c++/42797
-+ PR c++/42880
-+ * g++.dg/other/crash-5.C: New test.
-+ * g++.dg/other/crash-7.C: New test.
-+ * g++.dg/other/crash-8.C: New test.
-+
-+ 2010-01-28 Uros Bizjak <ubizjak@gmail.com>
-+
-+ PR target/42891
-+ * gcc.target/i386/pr42891.c: New test.
-+
-+ 2010-01-28 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42883
-+ * g++.dg/torture/pr42883.C: New testcase.
-+
-+ 2010-01-28 Michael Matz <matz@suse.de>
-+
-+ * gcc.target/i386/pr42881.c: New test.
-+
-+ 2010-01-28 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/42713
-+ PR c++/42820
-+ * g++.dg/template/typedef27.C: New test case.
-+ * g++.dg/template/typedef28.C: New test case.
-+
-+ 2010-01-27 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR middle-end/42874
-+ * gcc.dg/vla-22.c: New test.
-+
-+ 2010-01-26 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42250
-+ * gcc.dg/pr42250.c: New testcase.
-+
-+ 2010-01-25 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/42858
-+ * gfortran.dg/generic_21.f90: New test.
-+
-+ 2010-01-21 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42585
-+ * gcc.dg/tree-ssa/pr42585.c: New test.
-+
-+ 2010-01-20 Alexandre Oliva <aoliva@redhat.com>
-+
-+ PR debug/42715
-+ * gcc.dg/pr42715.c: New.
-+
-+ 2010-01-20 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42717
-+ * gcc.c-torture/compile/pr42717.c: New testcase.
-+
-+ 2010-01-19 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/42783
-+ * gfortran.dg/bounds_check_15.f90 : New test.
-+
-+ 2010-01-18 Dodji Seketeli <dodji@redhat.com>
-+
-+ PR c++/42766
-+ * g++.dg/conversion/op6.C: New test.
-+
-+ 2010-01-18 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42781
-+ * gfortran.fortran-torture/compile/pr42781.f90: New testcase.
-+
-+ 2010-01-17 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42248
-+ * gcc.c-torture/execute/pr42248.c: New testcase.
-+
-+ 2010-01-17 Janus Weil <janus@gcc.gnu.org>
-+
-+ PR fortran/42677
-+ * gfortran.dg/interface_assignment_5.f90: New test.
-+
-+ 2010-01-15 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42739
-+ * g++.dg/torture/pr42739.C: New testcase.
-+
-+ 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR fortran/42684
-+ * gfortran.dg/interface_31.f90: New test.
-+
-+ 2010-01-14 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42706
-+ * gcc.dg/ipa/pr42706.c: New testcase.
-+
-+ 2010-01-14 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42714
-+ * g++.dg/torture/pr42714.C: New test.
-+
-+ 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
-+
-+ PR rtl-optimization/42388
-+ * gcc.dg/pr42388.c: New.
-+
-+ 2010-01-14 Alexander Monakov <amonakov@ispras.ru>
-+
-+ PR rtl-optimization/42294
-+ * gfortran.dg/pr42294.f: New.
-+
-+ 2010-01-14 Ira Rosen <irar@il.ibm.com>
-+
-+ PR tree-optimization/42709
-+ * gcc.dg/vect/pr42709.c: New test.
-+
-+ 2010-01-13 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42730
-+ * gcc.c-torture/compile/pr42730.c: New testcase.
-+
-+ 2010-01-13 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42704
-+ * g++.dg/torture/pr42704.C: New test.
-+
-+ 2010-01-13 Martin Jambor <mjambor@suse.cz>
-+
-+ PR tree-optimization/42703
-+ * gcc.c-torture/compile/pr42703.c: New test.
-+
-+ 2010-01-13 Richard Guenther <rguenther@suse.de>
-+
-+ PR tree-optimization/42705
-+ * gcc.c-torture/compile/pr42705.c: New testcase.
-+
-+ 2010-01-13 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42716
-+ * gcc.c-torture/compile/pr42716.c: New testcase.
-+
-+ 2010-01-12 Joseph Myers <joseph@codesourcery.com>
-+
-+ PR c/42708
-+ * gcc.c-torture/compile/pr42708-1.c: New test.
-+
-+ 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
-+
-+ PR middle-end/42363
-+ * gcc.dg/torture/pr42363.c: New.
-+
-+ 2010-01-09 Alexandre Oliva <aoliva@redhat.com>
-+
-+ PR debug/42604
-+ PR debug/42395
-+ * gcc.dg/vect/pr42604.c: New.
-+ * gcc.dg/vect/pr42395.c: New.
-+
-+ 2010-01-09 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42512
-+ * gcc.c-torture/execute/pr42512.c: New testcase.
-+
-+2010-02-06 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/42309
-+ * gfortran.dg/subref_array_pointer_4.f90 : New test.
-+
-+2010-02-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/42901
-+ * gfortran.dg/namelist_60.f90: New test.
-+ * gfortran.dg/namelist_59.f90: New test.
-+
-+2010-02-04 Richard Guenther <rguenther@suse.de>
-+
-+ PR rtl-optimization/42952
-+ * gcc.dg/torture/pr42952.c: New testcase.
-+
-+2010-02-02 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/42650
-+ * gfortran.dg/func_result_5.f90: New test.
-+
-+2010-02-01 Uros Bizjak <ubizjak@gmail.com>
-+
-+ Backport from mainline:
-+ 2009-12-17 Uros Bizjak <ubizjak@gmail.com>
-+
-+ * objc/execute/forward-1.x: XFAIL for -fgnu-runtime on
-+ x86_64-*-darwin*, powerpc*-*-darwin* and alpha*-*-linux* targets.
-+
-+2010-01-31 Eric Botcazou <ebotcazou@adacore.com>
-+
-+ PR middle-end/42898
-+ * gcc.dg/torture/pr42898-2.c: New test.
-+
-+2010-01-31 Richard Guenther <rguenther@suse.de>
-+
-+ PR middle-end/42898
-+ * gcc.dg/torture/pr42898.c: New testcase.
-+
-+2010-01-31 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/38324
-+ * gfortran.dg/alloc_comp_basics_1.f90: Remove option -O2.
-+ * gfortran.dg/alloc_comp_bounds_1.f90: New test.
-+
-+2010-01-30 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/41044
-+ * gfortran.dg/parameter_array_ref_2.f90 : New test.
-+
-+ PR fortran/41167
-+ * gfortran.dg/char_array_arg_1.f90 : New test.
-+
-+2010-01-27 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/42736
-+ * gfortran.dg/dependency_25.f90 : New test.
-+
-+2010-01-26 Jakub Jelinek <jakub@redhat.com>
-+
-+ * ada/acats/run_all.sh: Make sure norun.lst is sorted using the
-+ current collation.
-+
-+ Backport from mainline:
-+ 2009-12-17 Arnaud Charlet <charlet@adacore.com>
-+
-+ * ada/acats/run_all.sh: Strip comments from norun.lst.
-+
-+2010-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ Backport from mainline.
-+ 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-+
-+ PR target/38697.
-+ * gcc.target/arm/neon/vget_lowf32.c: Regenerate.
-+ * gcc.target/arm/neon/vget_lowp16.c: Likewise.
-+ * gcc.target/arm/neon/vget_lowp8.c: Likewise.
-+ * gcc.target/arm/neon/vget_lows16.c: Likewise.
-+ * gcc.target/arm/neon/vget_lows32.c: Likewise.
-+ * gcc.target/arm/neon/vget_lows64.c: Likewise.
-+ * gcc.target/arm/neon/vget_lows8.c: Likewise.
-+ * gcc.target/arm/neon/vget_lowu16.c: Likewise.
-+ * gcc.target/arm/neon/vget_lowu32.c: Likewise.
-+ * gcc.target/arm/neon/vget_lowu64.c: Likewise.
-+ * gcc.target/arm/neon/vget_lowu8.c: Likewise.
-+
- 2010-01-21 Release Manager
+--- gcc/testsuite/gcc.target/i386/sse3-hsubps.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-hsubps.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtps2pd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpcklwd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vararg-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttsd2si-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-hsubpd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-hsubpd.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-hsubpd.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-psubw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psubw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr26600.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr26600.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr26600.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ void foo(int *p, int N)
+ {
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpcvt-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpcvt-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/fpcvt-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ float a,b;
+ main()
+Index: gcc/testsuite/gcc.target/i386/sse2-addsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-addsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-addsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pavgw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefn-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefn-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssefn-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -3,6 +3,7 @@
+
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "movss" } } */
+ /* { dg-final { scan-assembler "mulss" } } */
+ /* { dg-final { scan-assembler "movsd" } } */
+Index: gcc/testsuite/gcc.target/i386/xorps-sse2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/xorps-sse2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/xorps-sse2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test that we generate xorps when the result is used in FP math. */
+ /* { dg-do compile } */
+ /* { dg-options "-O -msse2 -mno-sse3" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "xorps\[ \t\]" { xfail *-*-* } } } */
+ /* { dg-final { scan-assembler-not "pxor" { xfail *-*-* } } } */
+
+Index: gcc/testsuite/gcc.target/i386/sse2-unpack-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpack-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-unpack-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/opt-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/opt-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/opt-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+ whether we vectorize a simple loop. */
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msse2 -mfpmath=sse -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "prefetcht0" } } */
+ /* { dg-final { scan-assembler "addps" } } */
+ /* { dg-final { scan-assembler "subss" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsi2sd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
- * GCC 4.4.3 released.
-Index: gcc/testsuite/g++.old-deja/g++.pt/asm1.C
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c
===================================================================
---- gcc/testsuite/g++.old-deja/g++.pt/asm1.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.old-deja/g++.pt/asm1.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
--// We'd use ebx with -fpic/-fPIC, so skip.
--// { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } }
-+// We'd use ebx with 32-bit pic code, so skip.
-+// { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } }
- // Origin: "Weidmann, Nicholas" <nicholas.weidmann@swx.ch>
-
- template<int i> int foo(int v)
-Index: gcc/testsuite/g++.old-deja/g++.pt/asm2.C
-===================================================================
---- gcc/testsuite/g++.old-deja/g++.pt/asm2.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.old-deja/g++.pt/asm2.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,7 +1,7 @@
- // { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
- // { dg-require-effective-target ilp32 }
--// We'd use ebx with -fpic/-fPIC, so skip.
--// { dg-skip-if "" { *-*-* } { "-fpic" "-fPIC" } { "" } }
-+// We'd use ebx with 32-bit pic code, so require nonpic.
-+// { dg-require-effective-target nonpic }
- // Origin: "Weidmann, Nicholas" <nicholas.weidmann@swx.ch>
-
- typedef void (function_ptr)(int);
-Index: gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90
-===================================================================
---- gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+ logical :: l1(4)
-+ logical :: l2(4)
-+ l1 = (/.TRUE.,.FALSE.,.TRUE.,.FALSE./)
-+ l2 = (/.FALSE.,.TRUE.,.FALSE.,.TRUE./)
-+ if (dot_product (l1, l2)) call abort ()
-+ l2 = .TRUE.
-+ if (.not.dot_product (l1, l2)) call abort ()
-+end
-+
-Index: gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90
-===================================================================
---- gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.fortran-torture/compile/pr42781.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,59 @@
-+! ICE with gfortran 4.5 at -O1:
-+!gfcbug98.f90: In function ‘convert_cof’:
-+!gfcbug98.f90:36:0: internal compiler error: in pt_solutions_same_restrict_base,
-+!at tree-ssa-structalias.c:5072
-+module foo
-+ implicit none
-+ type t_time
-+ integer :: secs = 0
-+ end type t_time
-+contains
-+ elemental function time_cyyyymmddhh (cyyyymmddhh) result (time)
-+ type (t_time) :: time
-+ character(len=10),intent(in) :: cyyyymmddhh
-+ end function time_cyyyymmddhh
-+
-+ function nf90_open(path, mode, ncid)
-+ character(len = *), intent(in) :: path
-+ integer, intent(in) :: mode
-+ integer, intent(out) :: ncid
-+ integer :: nf90_open
-+ end function nf90_open
-+end module foo
-+!==============================================================================
-+module gfcbug98
-+ use foo
-+ implicit none
-+
-+ type t_fileinfo
-+ character(len=10) :: atime = ' '
-+ end type t_fileinfo
-+
-+ type t_body
-+ real :: bg(10)
-+ end type t_body
-+contains
-+ subroutine convert_cof (ifile)
-+ character(len=*) ,intent(in) :: ifile
-+
-+ character(len=5) :: version
-+ type(t_fileinfo) :: gattr
-+ type(t_time) :: atime
-+ type(t_body),allocatable :: tmp_dat(:)
-+ real ,allocatable :: BDA(:, :, :)
-+
-+ call open_input
-+ call convert_data
-+ contains
-+ subroutine open_input
-+ integer :: i,j
-+ version = ''
-+ j = nf90_open(ifile, 1, i)
-+ end subroutine open_input
-+ !--------------------------------------------------------------------------
-+ subroutine convert_data
-+ BDA(1,:,1) = tmp_dat(1)% bg(:)
-+ atime = time_cyyyymmddhh (gattr% atime)
-+ end subroutine convert_data
-+ end subroutine convert_cof
-+end module gfcbug98
-Index: gcc/testsuite/g++.dg/other/pr43116.C
-===================================================================
---- gcc/testsuite/g++.dg/other/pr43116.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/pr43116.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+/* { dg-do compile } */
-+extern "C" int rpl_open (const char *filename, int flags, ...) __attribute__
-+((__nonnull__ (1)));
-+
-+namespace gnulib
-+{
-+ int (*const open) (const char *filename, int flags, ...) __attribute__
-+ ((__nonnull__ (1))) = rpl_open;
-+}
-Index: gcc/testsuite/g++.dg/other/first-global.C
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr33329.c
===================================================================
---- gcc/testsuite/g++.dg/other/first-global.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.dg/other/first-global.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
+--- gcc/testsuite/gcc.target/i386/pr33329.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr33329.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
/* { dg-do compile } */
--/* { dg-options "-fpie" { target { ! nonpic } } } */
-+/* { dg-add-options bind_pic_locally } */
- /* { dg-final { scan-assembler "_GLOBAL__I(_|_65535_0_)foobar" } } */
+ /* { dg-options "-O2 -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
- struct foo { foo (); };
-Index: gcc/testsuite/g++.dg/other/crash-5.C
+ extern void g (int *);
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psllq-1.c
===================================================================
---- gcc/testsuite/g++.dg/other/crash-5.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/crash-5.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+// Origin: PR c++/42758
-+// { dg-do compile }
-+
-+template<class T> struct less {};
-+
-+template<class T, typename U = less<T> > struct set {};
-+
-+struct int_less_than {};
-+
-+void assert_fail (const char*);
-+
-+int f(const set<int, int_less_than>&)
-+{
-+ assert_fail (__PRETTY_FUNCTION__);
-+
-+}
-Index: gcc/testsuite/g++.dg/other/crash-9.C
+--- gcc/testsuite/gcc.target/i386/sse2-psllq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psllq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-haddps.c
===================================================================
---- gcc/testsuite/g++.dg/other/crash-9.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/crash-9.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,15 @@
-+// Origin: PR c++/42915
-+// { dg-do compile }
-+
-+template <typename T>
-+class A
-+{
-+ template <typename U>
-+ class B
-+ {
-+ B foo();
-+ };
-+};
-+template <typename T> template <typename U>
-+A<T>::B<U> A<T>::B<U>::foo() {}
-+
-Index: gcc/testsuite/g++.dg/other/default3.C
+--- gcc/testsuite/gcc.target/i386/sse3-haddps.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-haddps.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-1.c
===================================================================
---- gcc/testsuite/g++.dg/other/default3.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.dg/other/default3.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -25,7 +25,7 @@
- template<typename> void g3(int = 0, int); // { dg-error "default" }
+--- gcc/testsuite/gcc.target/i386/sse2-vec-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- template<typename> void g4(int, int);
--template<typename> void g4(int = 0, int) {} // { dg-error "default" }
-+template<typename> void g4(int = 0, int) {} // { dg-error "default" "" { xfail *-*-* } }
+ #include "sse2-check.h"
- template<typename> void g5();
- template<typename> void g5(int = 0, int); // { dg-error "default" }
-Index: gcc/testsuite/g++.dg/other/crash-7.C
+Index: gcc/testsuite/gcc.target/i386/pr27790.c
===================================================================
---- gcc/testsuite/g++.dg/other/crash-7.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/crash-7.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,19 @@
-+// Origin: PR c++/42336
-+// { dg-options "-std=c++0x -O2 -g" }
-+// { dg-do compile }
-+
-+struct X {
-+ void func() {}
-+};
-+
-+template<typename T, void (X::*P)() = &T::func>
-+void b(T) {}
-+
-+int main() {
-+ b(X()); /* line 9 */
-+ X().func();
-+
-+ return 0;
-+}
-+
-+
-Index: gcc/testsuite/g++.dg/other/crash-8.C
+--- gcc/testsuite/gcc.target/i386/pr27790.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr27790.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ void binarize (int npixels, unsigned char *b)
+ {
+Index: gcc/testsuite/gcc.target/i386/pr35767-1d.c
===================================================================
---- gcc/testsuite/g++.dg/other/crash-8.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/other/crash-8.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,109 @@
-+// Origin: PR c++/42797
-+// { dg-options "-g -O2 -std=c++0x" }
-+
-+template<typename _Tp, _Tp __v> struct integral_constant {
-+ static const _Tp value = __v;
-+};
-+
-+template<typename _Tp> _Tp declval();
-+
-+template<typename _Tp, typename... _Args>
-+class __is_constructible_helper {
-+};
-+
-+template<typename _Tp, typename _Arg>
-+class __is_constructible_helper<_Tp, _Arg> {
-+
-+ template<typename _Tp1, typename _Arg1>
-+ static decltype(static_cast<_Tp1>(declval<_Arg1>()), char()) __test(int);
-+public:
-+ static const bool __value = sizeof(__test<_Tp, _Arg>(0)) == 1;
-+};
-+
-+template<typename _Tp, typename... _Args>
-+struct is_constructible : public integral_constant<bool,__is_constructible_helper<_Tp, _Args...>::__value> { };
-+
-+template<bool, typename _Tp = void>
-+struct enable_if { };
-+
-+template<typename _Tp>
-+struct enable_if<true, _Tp> {
-+ typedef _Tp type;
-+};
-+
-+template<class _T1, class _T2> struct pair {
-+ _T1 first;
-+ _T2 second;
-+
-+ template<class _U2, class = typename enable_if<is_constructible<_T2, _U2&&>::value>::type>
-+ pair(const _T1& __x, _U2&& __y) : first(__x),
-+ second(__y) { }
-+};
-+
-+namespace __gnu_cxx {
-+template<typename _Tp>
-+class new_allocator {
-+public:
-+ new_allocator() throw() { }
-+ new_allocator(const new_allocator&) throw() { }
-+};
-+}
-+
-+template<typename _Tp>
-+class allocator: public __gnu_cxx::new_allocator<_Tp> {
-+public:
-+
-+ template<typename _Tp1>
-+ struct rebind {
-+ typedef allocator<_Tp1> other;
-+ };
-+};
-+
-+
-+template<typename _Tp, typename _Alloc> struct _Vector_base {
-+ typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
-+
-+ struct _Vector_impl : public _Tp_alloc_type {
-+ _Vector_impl()
-+ { }
-+ };
-+public:
-+
-+ _Vector_impl _M_impl;
-+};
-+
-+template<typename _Tp, typename _Alloc = allocator<_Tp> >
-+class vector : protected _Vector_base<_Tp, _Alloc> {
-+ typedef _Alloc allocator_type;
-+public:
-+ vector() { }
-+ explicit vector(int, const allocator_type& __a = allocator_type())
-+ {
-+ }
-+};
-+
-+
-+template <typename _Key, typename _Tp>
-+class map {
-+ typedef _Key key_type;
-+ typedef _Tp mapped_type;
-+ typedef pair<const _Key, _Tp> value_type;
-+public:
-+
-+ void insert(const value_type& __x)
-+ {
-+ }
-+
-+ mapped_type& operator[](const key_type& __k) {
-+ insert(value_type(__k, mapped_type()));
-+ }
-+
-+};
-+
-+struct Foo {
-+ Foo() {} template<typename Tp> Foo(Tp *p) {} };
-+void foo() {
-+ map <int, vector<Foo>> the_map;
-+ the_map[1] = vector<Foo>();
-+}
-+
-Index: gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C
+--- gcc/testsuite/gcc.target/i386/pr35767-1d.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-1d.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-paddw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefn-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssefn-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssefn-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -3,6 +3,7 @@
+
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse-vect-types.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-vect-types.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-vect-types.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/vecinit-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ float a;
+Index: gcc/testsuite/gcc.target/i386/sse3-haddpd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-haddpd.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-haddpd.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvttps2dq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32661.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32661.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32661.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v16qi-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse2-mmx.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-mmx.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-mmx.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse-18.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-18.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-18.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O3 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr18614-1.c
===================================================================
---- gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C (.../branches/gcc-4_4-branch) (wersja 157785)
+--- gcc/testsuite/gcc.target/i386/pr18614-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr18614-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/18614 */
/* { dg-do compile } */
- /* { dg-options "-O1 -fdump-tree-cfg" } */
--/* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
-+/* { dg-add-options bind_pic_locally } */
-+
- double a;
- void t()
- {
-Index: gcc/testsuite/g++.dg/conversion/op6.C
-===================================================================
---- gcc/testsuite/g++.dg/conversion/op6.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/conversion/op6.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,18 @@
-+// Origin: PR c++/42766
-+// { dg-do compile }
-+
-+template<class T> class smart_pointer {
-+public:
-+ operator T* () const { }
-+ operator bool () const { }
-+ operator bool () { }
-+};
-+class Context { };
-+typedef smart_pointer<Context> ContextP;
-+class SvnClient {
-+ ~SvnClient();
-+ ContextP svnContext;
-+};
-+SvnClient::~SvnClient() {
-+ delete svnContext;
-+}
-Index: gcc/testsuite/g++.dg/debug/pr43010.C
-===================================================================
---- gcc/testsuite/g++.dg/debug/pr43010.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/debug/pr43010.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,8 @@
-+// PR debug/43010
-+// { dg-do compile }
-+// { dg-options "-g -femit-struct-debug-baseonly" }
-+# 1 "foo.C"
-+# 1 "bar.h" 1
-+typedef struct { int i; } S __attribute__((aligned));
-+typedef struct { struct { int i; } j; } T __attribute__((aligned));
-+# 1 "foo.C" 2
-Index: gcc/testsuite/g++.dg/ext/attrib36.C
-===================================================================
---- gcc/testsuite/g++.dg/ext/attrib36.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/attrib36.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,20 @@
-+// PR c++/43031
-+// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
-+
-+class T;
-+class L { };
-+class P : public L
-+{
-+ typedef void (__attribute__((__stdcall__)) T::*F) (L*);
-+ void f(bool aAdd);
-+};
-+class T
-+{
-+public:
-+ virtual void __attribute__((__stdcall__)) A(L *listener) = 0;
-+ virtual void __attribute__((__stdcall__)) R(L *listener) = 0;
-+};
-+void P::f(bool aAdd)
-+{
-+ F addRemoveEventListener = (aAdd ? &T::A : &T::R);
-+}
-Index: gcc/testsuite/g++.dg/ext/attrib37.C
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef double v2df __attribute__ ((vector_size (16)));
+
+Index: gcc/testsuite/gcc.target/i386/vararg-8.c
===================================================================
---- gcc/testsuite/g++.dg/ext/attrib37.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/attrib37.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+// PR c++/43093
-+// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
-+
-+struct S {
-+ int x;
-+ S(const S &s) {}
-+};
-+
-+S __attribute__((__stdcall__)) getS();
-+
-+void test()
-+{
-+ S s = getS();
-+}
-Index: gcc/testsuite/g++.dg/ext/dllexport3.C
-===================================================================
---- gcc/testsuite/g++.dg/ext/dllexport3.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/dllexport3.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,19 @@
-+// PR c++/42870
-+// { dg-do compile { target i?86-*-cygwin *-*-mingw* } }
-+// { dg-final { scan-assembler "-export:_ZN2SaD1Ev" } }
-+
-+#define ATTRIBUTE __attribute__ ((dllexport))
-+class ATTRIBUTE Sa {
-+ public:
-+ Sa()
-+ {}
-+ ~Sa();
-+};
-+ATTRIBUTE Sa::~Sa()
-+{return;}
-+
-+bool DllMain(void *a,void*b,int)
-+{
-+ Sa s;
-+ return true;
-+}
-Index: gcc/testsuite/g++.dg/ext/builtin11.C
+--- gcc/testsuite/gcc.target/i386/vararg-8.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-8.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-divsd-1.c
===================================================================
---- gcc/testsuite/g++.dg/ext/builtin11.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/builtin11.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+// PR c++/40138
-+// { dg-options "-Wall" }
-+
-+void foo(int i, ...)
-+{
-+ V v; // { dg-error "not declared|expected" }
-+ __builtin_va_start(v, i); // { dg-error "not declared" }
-+ i = __builtin_va_arg(v, int);
-+}
-Index: gcc/testsuite/g++.dg/ext/is_pod_98.C
+--- gcc/testsuite/gcc.target/i386/sse2-divsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-divsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c
===================================================================
---- gcc/testsuite/g++.dg/ext/is_pod_98.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/ext/is_pod_98.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+// PR c++/43333
-+// { dg-options "-std=c++98" }
-+// { dg-do run }
-+
-+struct strPOD
-+{
-+ const char *const foo;
-+ const char *const bar;
-+};
-+extern "C" void abort (void);
-+int main ()
-+{
-+ if (!__is_pod (strPOD))
-+ abort ();
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/opt/ice1.C
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhqdq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-3.c
===================================================================
---- gcc/testsuite/g++.dg/opt/ice1.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/opt/ice1.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,41 @@
-+// PR c++/43024
-+// { dg-options "-O2" }
-+
-+void foo();
-+
-+template<int> struct X
-+{
-+ enum { e };
-+ typedef int Y;
-+};
-+
-+template<int N = 0> struct A
-+{
-+ ~A() { foo(); }
-+ A() { a<0>(0); }
-+ template<int> void a(typename X<!X<N>::e>::Y);
-+ struct B b();
-+};
-+
-+struct B
-+{
-+ A<> b0, b1, b2, b3;
-+ B operator+ (const B&);
-+};
-+
-+struct C
-+{
-+ A<> c0, c1, c2, c3, c4, c5, c6, c7, c8;
-+};
-+
-+inline void bar(int i)
-+{
-+ A<> a0, a1;
-+ if (i) a0.b() + a0.b() + a0.b() + a0.b();
-+}
-+
-+void baz()
-+{
-+ C c;
-+ bar(0);
-+}
-Index: gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C
+--- gcc/testsuite/gcc.target/i386/sse2-vec-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psraw-1.c
===================================================================
---- gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- // { dg-do compile }
- // { dg-options "-O3 -fwhole-program" }
--// { dg-options "-O3 -fwhole-program -fpie" { target { ! nonpic } } }
-+// { dg-add-options bind_pic_locally }
- // { dg-final { scan-assembler "foo1" } }
- // { dg-final { scan-assembler "foo2" } }
- // { dg-final { scan-assembler "foo3" } }
-Index: gcc/testsuite/g++.dg/parse/namespace11.C
-===================================================================
---- gcc/testsuite/g++.dg/parse/namespace11.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/parse/namespace11.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,7 @@
-+// PR c++/43069
-+
-+namespace std {
-+ template < typename >
-+ void swap ();
-+}
-+template std::swap // { dg-error "" }
-Index: gcc/testsuite/g++.dg/parse/namespace12.C
-===================================================================
---- gcc/testsuite/g++.dg/parse/namespace12.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/parse/namespace12.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,7 @@
-+// PR c++/43109
-+
-+namespace std {
-+ namespace {
-+ struct S {};
-+ }
-+}
-Index: gcc/testsuite/g++.dg/abi/mangle42.C
+--- gcc/testsuite/gcc.target/i386/sse2-psraw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psraw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssefp-2.c
===================================================================
---- gcc/testsuite/g++.dg/abi/mangle42.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/abi/mangle42.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+// Origin: PR c++/43375
-+// { dg-do compile { target i?86-*-* x86_64-*-* } }
-+// { dg-options "-msse2 -std=gnu++0x" }
-+
-+typedef float __v4sf __attribute__ ((__vector_size__ (16)));
-+typedef int __v4si __attribute__ ((__vector_size__ (16)));
-+__v4sf my_asin(__v4sf x)
-+{
-+ static const __v4si g_Mask{0x7fffffff,
-+ 0x00000000,
-+ 0x7fffffff,
-+ 0x7fffffff };
-+ return __builtin_ia32_andnps ((__v4sf) g_Mask, x);
-+}
-Index: gcc/testsuite/g++.dg/eh/pr42859.C
+--- gcc/testsuite/gcc.target/i386/ssefp-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssefp-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "maxsd" } } */
+ /* { dg-final { scan-assembler "minsd" } } */
+ double x;
+Index: gcc/testsuite/gcc.target/i386/sse2-movupd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movupd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movupd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr30970.c
===================================================================
---- gcc/testsuite/g++.dg/eh/pr42859.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/eh/pr42859.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,23 @@
-+// { dg-do compile }
-+
-+void start (void);
-+void
-+ptw32_terminate (void)
-+{
-+ try
-+ {
-+ try
-+ {
-+ start ();
-+ }
-+ catch (int)
-+ {
-+ }
-+ catch (int)
-+ {
-+ }
-+ }
-+ catch (int)
-+ {
-+ }
-+}
-Index: gcc/testsuite/g++.dg/torture/pr42704.C
+--- gcc/testsuite/gcc.target/i386/pr30970.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr30970.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile }
+ /* { dg-options "-msse2 -O2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
+
+ #define N 256
+ int b[N];
+Index: gcc/testsuite/gcc.target/i386/float128-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/float128-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/float128-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+
+ /* { dg-do run { target *-*-linux* *-*-darwin* } } */
+ /* { dg-options "-Os -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/vecinit-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
+
+ char a;
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckhbw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42704.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42704.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,44 @@
-+/* { dg-do compile } */
-+
-+typedef int PRInt32;
-+class nsTreeRows {
-+ class Subtree { };
-+ enum { kMaxDepth = 32 };
-+ struct Link {
-+ Subtree* mParent;
-+ PRInt32 mChildIndex;
-+ Link& operator=(const Link& aLink) {
-+ mParent = aLink.mParent;
-+ mChildIndex = aLink.mChildIndex;
-+ }
-+ };
-+ class iterator {
-+ PRInt32 mTop;
-+ PRInt32 mRowIndex;
-+ Link mLink[kMaxDepth];
-+ public:
-+ iterator() : mTop(-1), mRowIndex(-1) { }
-+ iterator& operator=(const iterator& aIterator);
-+ };
-+ Subtree* EnsureSubtreeFor(Subtree* aParent, PRInt32 aChildIndex);
-+ Subtree* GetSubtreeFor(const Subtree* aParent,
-+PRInt32 aChildIndex, PRInt32* aSubtreeSize = 0);
-+ void InvalidateCachedRow() {
-+ mLastRow = iterator();
-+ }
-+ iterator mLastRow;
-+};
-+nsTreeRows::Subtree* nsTreeRows::EnsureSubtreeFor(Subtree* aParent,
-+ PRInt32 aChildIndex) {
-+ Subtree* subtree = GetSubtreeFor(aParent, aChildIndex);
-+ if (! subtree) {
-+ InvalidateCachedRow();
-+ }
-+}
-+nsTreeRows::iterator& nsTreeRows::iterator::operator=(const iterator&
-+aIterator) {
-+ mTop = aIterator.mTop;
-+ for (PRInt32 i = mTop;
-+ i >= 0;
-+ --i) mLink[i] = aIterator.mLink[i];
-+}
-Index: gcc/testsuite/g++.dg/torture/pr43257.C
+--- gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrlq-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr43257.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr43257.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,30 @@
-+/* { dg-do assemble } */
-+
-+class A {};
-+class B {};
-+
-+static void *func (int n)
-+{
-+ void *p;
-+ if (p == 0) throw ::A ();
-+}
-+
-+static void *func (int n, B const &)
-+{
-+ try {
-+ return func (n);
-+ }
-+ catch (::A const &) {
-+ }
-+ return func (n);
-+}
-+
-+void *f1 (int n)
-+{
-+ return func (n, B());
-+}
-+
-+void *f2 (int n)
-+{
-+ return func (n, B());
-+}
-Index: gcc/testsuite/g++.dg/torture/pr42883.C
-===================================================================
---- gcc/testsuite/g++.dg/torture/pr42883.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42883.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,63 @@
-+// { dg-do compile }
-+
-+typedef __SIZE_TYPE__ size_t;
-+namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) {
-+ template<typename _Tp> class new_allocator {
-+ public:
-+ typedef size_t size_type;
-+ typedef _Tp* pointer;
-+ typedef _Tp& reference;
-+ void deallocate(pointer __p, size_type) {
-+ ::operator delete(__p);
-+ }
-+ };
-+}
-+namespace std __attribute__ ((__visibility__ ("default"))) {
-+ template<typename _Tp> class allocator: public __gnu_cxx::new_allocator<_Tp> {
-+ public:
-+ template<typename _Tp1> struct rebind {
-+ typedef allocator<_Tp1> other;
-+ };
-+ };
-+ template<typename _Tp, typename _Alloc> struct _Vector_base {
-+ typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
-+ struct _Vector_impl : public _Tp_alloc_type {
-+ typename _Tp_alloc_type::pointer _M_start;
-+ typename _Tp_alloc_type::pointer _M_end_of_storage;
-+ };
-+ ~_Vector_base() {
-+ _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage - this->_M_impl._M_start);
-+ }
-+ _Vector_impl _M_impl;
-+ void _M_deallocate(typename _Tp_alloc_type::pointer __p, size_t __n) {
-+ if (__p) _M_impl.deallocate(__p, __n);
-+ }
-+ };
-+ template<typename _Tp, typename _Alloc = std::allocator<_Tp> > class vector : protected _Vector_base<_Tp, _Alloc> {
-+ typedef _Vector_base<_Tp, _Alloc> _Base;
-+ typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
-+ public:
-+ typedef typename _Tp_alloc_type::reference reference;
-+ typedef size_t size_type;
-+ size_type size() const {
-+ }
-+ reference operator[](size_type __n) {
-+ }
-+ };
-+};
-+class vtkConvexPointSet {
-+public:
-+ static vtkConvexPointSet *New();
-+};
-+void MakeInternalMesh() {
-+ std::vector< int > tempFaces[2];
-+ std::vector< int > firstFace;
-+ int i, j, k;
-+ for(i = 0; i < 1000; i++) {
-+ for(int pointCount = 0; pointCount < 1000; pointCount++) {
-+ for(j = 0; j < (int)tempFaces[0].size(); k++)
-+ if(tempFaces[0][j] == tempFaces[1][k]) break;
-+ }
-+ vtkConvexPointSet::New();
-+ }
-+}
-Index: gcc/testsuite/g++.dg/torture/pr42450.C
+--- gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrldq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42450.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42450.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,112 @@
-+/* { dg-do compile } */
-+
-+template < typename > class basic_stringstream;
-+
-+struct basic_string {
-+ basic_string();
-+};
-+
-+struct ios_base {
-+ virtual ~ios_base();
-+};
-+
-+class ostream:ios_base {};
-+class istream:virtual ios_base {};
-+
-+template < typename > struct basic_iostream:public istream, ostream {
-+ ~basic_iostream () {}
-+};
-+extern template class basic_iostream < char >;
-+
-+template < typename > struct basic_stringstream:public basic_iostream < char > {
-+ basic_string _M_stringbuf;
-+ ~basic_stringstream () {}
-+};
-+extern template class basic_stringstream < char >;
-+
-+template < typename > struct AnyMatrixBase;
-+template < typename, int _Rows, int _Cols, int = _Rows, int = _Cols > class Matrix;
-+template < typename > class CwiseNullaryOp;
-+
-+template < typename Derived > struct MatrixBase:public AnyMatrixBase < Derived > {
-+ typedef CwiseNullaryOp < Derived > ConstantReturnType;
-+ ConstantReturnType Constant ();
-+ template < typename > Derived cast ();
-+ static CwiseNullaryOp < Derived > Random (int);
-+};
-+
-+template < typename Derived > struct AnyMatrixBase {
-+ Derived derived () {}
-+ Derived & derived () const {}
-+};
-+
-+template < typename, int > struct ei_matrix_storage {};
-+
-+template < typename _Scalar, int, int, int _MaxRows, int _MaxCols > struct Matrix:MatrixBase < Matrix < _Scalar, _MaxRows, _MaxCols > > {
-+ typedef MatrixBase < Matrix > Base;
-+ ei_matrix_storage < int, _MaxCols > m_storage;
-+ Matrix operator= (const Matrix other) {
-+ _resize_to_match (other);
-+ lazyAssign (other.derived ());
-+ }
-+ template < typename OtherDerived > Matrix lazyAssign (MatrixBase < OtherDerived > other) {
-+ _resize_to_match (other);
-+ return Base (other.derived ());
-+ }
-+ Matrix ();
-+ template < typename OtherDerived > Matrix (const MatrixBase < OtherDerived > &other) {
-+ *this = other;
-+ }
-+ template < typename OtherDerived > void _resize_to_match (const MatrixBase < OtherDerived > &) {
-+ throw 1;
-+ }
-+};
-+
-+template < typename MatrixType > class CwiseNullaryOp:
-+public MatrixBase < CwiseNullaryOp < MatrixType > > {};
-+
-+int f()
-+{
-+ bool align_cols;
-+ if (align_cols) {
-+ basic_stringstream<char> sstr;
-+ f();
-+ }
-+}
-+
-+template < typename > struct AutoDiffScalar;
-+template < typename Functor > struct AutoDiffJacobian:Functor {
-+ AutoDiffJacobian (Functor);
-+ typedef typename Functor::InputType InputType;
-+ typedef typename Functor::ValueType ValueType;
-+ typedef Matrix < int, Functor::InputsAtCompileTime, 1 > DerivativeType;
-+ typedef AutoDiffScalar < DerivativeType > ActiveScalar;
-+ typedef Matrix < ActiveScalar, Functor::InputsAtCompileTime, 1 > ActiveInput;
-+ void operator () (InputType x, ValueType *) {
-+ ActiveInput ax = x.template cast < ActiveScalar > ();
-+ }
-+};
-+
-+template < int NX, int NY > struct TestFunc1 {
-+ enum {
-+ InputsAtCompileTime = NX
-+ };
-+ typedef Matrix < float, NX, 1 > InputType;
-+ typedef Matrix < float, NY, 1 > ValueType;
-+ typedef Matrix < float, NY, NX > JacobianType;
-+ int inputs ();
-+};
-+
-+template < typename Func > void forward_jacobian (Func f) {
-+ typename Func::InputType x = Func::InputType::Random (f.inputs ());
-+ typename Func::ValueType y;
-+ typename Func::JacobianType jref = jref.Constant ();
-+ AutoDiffJacobian < Func > autoj (f);
-+ autoj (x, &y);
-+}
-+
-+void test_autodiff_scalar ()
-+{
-+ forward_jacobian (TestFunc1 < 2, 2 > ());
-+ forward_jacobian (TestFunc1 < 3, 2 > ());
-+}
-Index: gcc/testsuite/g++.dg/torture/pr42714.C
+--- gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddsw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr22152.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42714.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42714.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,37 @@
-+struct QVectorData {
-+ static QVectorData shared_null;
-+};
-+template <typename T> class QVector {
-+ union {
-+ QVectorData *d;
-+ };
-+public:
-+ inline QVector() : d(&QVectorData::shared_null) { }
-+ inline QVector(const QVector<T> &v) : d(v.d) { }
-+};
-+class QXmlStreamAttribute { };
-+class QXmlStreamAttributes : public QVector<QXmlStreamAttribute> { };
-+class __attribute__ ((visibility("default"))) Smoke {
-+public:
-+ union StackItem;
-+ typedef StackItem* Stack;
-+ typedef short Index;
-+};
-+class SmokeBinding { };
-+namespace __smokeqt {
-+ class x_QXmlStreamAttributes : public QXmlStreamAttributes {
-+ SmokeBinding* _binding;
-+ public:
-+ static void x_11(Smoke::Stack x) {
-+ x_QXmlStreamAttributes* xret = new x_QXmlStreamAttributes();
-+ }
-+ explicit x_QXmlStreamAttributes() : QXmlStreamAttributes() { }
-+ };
-+ void xcall_QXmlStreamAttributes(Smoke::Index xi, void *obj,
-+ Smoke::Stack args)
-+ {
-+ switch(xi) {
-+ case 11: x_QXmlStreamAttributes::x_11(args);
-+ }
-+ }
-+}
-Index: gcc/testsuite/g++.dg/torture/pr43068.C
+--- gcc/testsuite/gcc.target/i386/pr22152.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr22152.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <mmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr43068.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr43068.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,10 @@
-+/* { dg-do compile } */
-+/* { dg-options "-freorder-blocks -ftracer} */
-+
-+struct A {
-+ virtual A *f();
-+};
-+struct B : virtual A {
-+ virtual B *f();
-+};
-+B *B::f() { return 0; }
-Index: gcc/testsuite/g++.dg/torture/pr42871.C
+--- gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-packuswb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr37843-3.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42871.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42871.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,40 @@
-+struct C
-+{
-+ ~C ();
-+ int c3;
-+};
-+
-+C *b2;
-+
-+static void
-+b1 (const C &x, unsigned b3, unsigned b4)
-+{
-+ unsigned i = 0;
-+ for (; i < b3; i++)
-+ if (i < b4)
-+ {
-+ b2[0].c3 = x.c3;
-+ return;
-+ }
-+}
-+
-+int a ();
-+
-+void
-+bar (unsigned b3, unsigned b4)
-+{
-+ C c[100];
-+ for (int i = 0; i < 100; i++)
-+ {
-+ c[i].c3 = i;
-+ for (int j = 0; j < b3; j++)
-+ if (j < b4)
-+ {
-+ b2[0].c3 = 0;
-+ break;
-+ }
-+ b1 (c[i], b3, b4);
-+ a ();
-+ }
-+}
-+
-Index: gcc/testsuite/g++.dg/torture/pr42890.C
+--- gcc/testsuite/gcc.target/i386/pr37843-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr37843-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test for stack alignment with sibcall optimization. */
+ /* { dg-do compile { target { ilp32 && nonpic } } } */
+ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */
+ /* { dg-final { scan-assembler-not "call\[\\t \]*foo" } } */
+ /* { dg-final { scan-assembler "jmp\[\\t \]*foo" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pshuflw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42890.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42890.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,25 @@
-+// PR tree-optimization/42890
-+// { dg-do compile }
-+
-+extern "C" int puts (const char *) throw ();
-+
-+struct S
-+{
-+ const char *a;
-+ const char **b;
-+ S (const char *s) { a = s; b = &a; }
-+ ~S () { puts (a); }
-+};
-+
-+void
-+foo (int (*fn) (const char *))
-+{
-+ S a ("foo");
-+ fn ("bar");
-+}
-+
-+int
-+main ()
-+{
-+ foo (puts);
-+}
-Index: gcc/testsuite/g++.dg/torture/pr42739.C
+--- gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-andnpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c
===================================================================
---- gcc/testsuite/g++.dg/torture/pr42739.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr42739.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+/* { dg-do compile } */
-+
-+struct s { ~s() { s(); } };
-+
-+int f()
-+{
-+ M:
-+ s o = s();
-+ f();
-+ f();
-+
-+ L:
-+ goto *(f() ? &&L : &&M);
-+
-+ return 0;
-+}
-Index: gcc/testsuite/g++.dg/ipa/iinline-1.C
+--- gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqu-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr23575.c
===================================================================
---- gcc/testsuite/g++.dg/ipa/iinline-1.C (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/g++.dg/ipa/iinline-1.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2,7 +2,7 @@
- inlining.. */
+--- gcc/testsuite/gcc.target/i386/pr23575.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr23575.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
/* { dg-do compile } */
- /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining" } */
--/* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining -fpie" { target { ! nonpic } } } */
-+/* { dg-add-options bind_pic_locally } */
+ /* { dg-options "-msse2 -O2" } */
++/* { dg-require-effective-target sse2 } */
- extern void non_existent (const char *, int);
+ /* We used to ICE because of a bogous pattern. */
-Index: gcc/testsuite/g++.dg/template/typedef27.C
+Index: gcc/testsuite/gcc.target/i386/sse2-vec-5.c
===================================================================
---- gcc/testsuite/g++.dg/template/typedef27.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef27.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,55 @@
-+// Origin: PR c++/42713
-+// { dg-do compile }
-+
-+template<class T>
-+struct S
-+{
-+};
-+
-+template<class T>
-+struct S0
-+{
-+ typedef T TT;
-+};
-+
-+template<class U, class V>
-+struct super_struct : S0<V>
-+{
-+ typedef S0<V> super;
-+};
-+
-+template<class U, class V, class W>
-+struct S1 : super_struct<U, V>
-+{
-+ typedef super_struct<U, V> super;
-+ typedef typename super::super Super2;
-+ typedef typename Super2::TT Super2TT;
-+ void
-+ foo()
-+ {
-+ S<Super2TT> s1;
-+ }
-+};
-+
-+template<class U, class V>
-+struct S2 : super_struct<U, V>
-+{
-+ typedef super_struct<U, V> super;
-+ typedef typename super::super Super2;
-+ typedef typename Super2::TT Super2TT;
-+ void
-+ foo()
-+ {
-+ S<Super2TT> s1;
-+ }
-+};
-+
-+int
-+main()
-+{
-+ S1<int, S<int>, int> s1;
-+ s1.foo();
-+ S2<int, S<int> > s2;
-+ s2.foo();
-+}
-+
-Index: gcc/testsuite/g++.dg/template/typedef28.C
+--- gcc/testsuite/gcc.target/i386/sse2-vec-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-vec-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/3dnowA-1.c
===================================================================
---- gcc/testsuite/g++.dg/template/typedef28.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/typedef28.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,28 @@
-+// Origin: PR c++/42820
-+// { dg-do compile }
-+
-+
-+template <class T> struct vector{};
-+struct Traits{struct Primitive{struct Id{};};};
-+
-+template <class Tree, class Polyhedron> struct Tree_vs_naive
-+{
-+ typedef typename Tree::Primitive Primitive;
-+
-+ void f() const
-+ {
-+ typedef vector<typename Primitive::Id> Id_vector;
-+ }
-+};
-+
-+template <class Tree> void test_hint_strategies()
-+{
-+ vector<typename Tree::Primitive::Id> v;
-+}
-+
-+int main(void)
-+{
-+ test_hint_strategies<Traits>();
-+}
-+
-+
-Index: gcc/testsuite/g++.dg/template/ptrmem20.C
+--- gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile with optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/ssetype-1.c
===================================================================
---- gcc/testsuite/g++.dg/template/ptrmem20.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/ptrmem20.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+// PR c++/43079
-+
-+struct A {};
-+
-+struct B
-+{
-+ void foo() const;
-+ void foo();
-+};
-+
-+template<void (A::*)()> void bar();
-+
-+void baz()
-+{
-+ bar<&B::foo>(); // { dg-error "not a valid template argument|no match" }
-+}
-Index: gcc/testsuite/g++.dg/template/memclass4.C
+--- gcc/testsuite/gcc.target/i386/ssetype-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssetype-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "andpd\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "andnpd\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtdq2ps-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-subpd-1.c
===================================================================
---- gcc/testsuite/g++.dg/template/memclass4.C (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/g++.dg/template/memclass4.C (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,70 @@
-+// Origin: PR c++/42824
-+// { dg-do compile }
-+
-+template<int T>
-+class int_ {
-+};
-+
-+template<int T, int T2>
-+class Unit {
-+public:
-+ Unit(const Unit<T, T2>& other) {}
-+};
-+
-+template<int T>
-+class Quan {
-+public:
-+ Quan(void) {}
-+
-+ template<int T2>
-+ Quan(double value, Unit<T, T2> unit) {}
-+};
-+typedef Quan<0> Scalar;
-+
-+template<int T>
-+class hlp {
-+public:
-+ typedef Quan<T> type;
-+};
-+
-+class Mtrl {
-+public:
-+ template<int T>
-+ struct AssoType {
-+ typedef typename hlp<T>::type type;
-+ };
-+};
-+
-+template<class T>
-+class Eval {
-+public:
-+ Eval(const T& object){}
-+
-+ template<int V>
-+ void eval() {
-+ eval<V> (int_<0>());
-+ }
-+private:
-+ template<typename U> struct Wrap {};
-+
-+ template<int V, int V2>
-+ void value(Wrap<Quan<V2> >) {}
-+
-+ template<int V>
-+ void value(Wrap<Scalar>) {}
-+
-+ template<int V>
-+ void eval(int_<0>) {
-+ typedef typename T::template AssoType<V>::type Type;
-+ value<V>(Wrap<Type>());
-+ }
-+};
-+
-+class Foo {
-+public:
-+ static void eval(const Mtrl& mtrl) {
-+ Eval<Mtrl> h(mtrl);
-+ h.eval<0> ();
-+ }
-+};
-+
-Index: gcc/testsuite/lib/gnat.exp
+--- gcc/testsuite/gcc.target/i386/sse2-subpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-subpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c
===================================================================
---- gcc/testsuite/lib/gnat.exp (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/lib/gnat.exp (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,4 +1,4 @@
--# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
-+# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+--- gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-sqrtpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -83,7 +83,6 @@
- global gluefile wrap_flags
- global gnat_initialized
- global GNAT_UNDER_TEST
-- global GNAT_UNDER_TEST_ORIG
- global TOOL_EXECUTABLE
- global gnat_libgcc_s_path
- global gnat_target_current
-@@ -98,7 +97,6 @@
- } else {
- set GNAT_UNDER_TEST "[local_find_gnatmake]"
- }
-- set GNAT_UNDER_TEST_ORIG "$GNAT_UNDER_TEST"
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vecinit-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vecinit-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vecinit-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #define vector __attribute__((vector_size(16)))
- if ![info exists tmpdir] then {
-@@ -129,22 +127,31 @@
- global gluefile wrap_flags
- global srcdir
- global GNAT_UNDER_TEST
-- global GNAT_UNDER_TEST_ORIG
- global TOOL_OPTIONS
- global ld_library_path
- global gnat_libgcc_s_path
- global gnat_target_current
-
-- # If we detect a change of target we need to recompute
-- # the appropriate RTS by calling get_multilibs.
-+ # If we detect a change of target, we need to recompute both
-+ # GNAT_UNDER_TEST and the appropriate RTS.
- if { $gnat_target_current!="[current_target_name]" } {
-- set gnat_target_current "[current_target_name]"
-- if [info exists TOOL_OPTIONS] {
-- set gnat_rts_opt "--RTS=[get_multilibs ${TOOL_OPTIONS}]/libada"
-- } else {
-- set gnat_rts_opt "--RTS=[get_multilibs]/libada"
-- }
-- set GNAT_UNDER_TEST "$GNAT_UNDER_TEST_ORIG $gnat_rts_opt"
-+ set gnat_target_current "[current_target_name]"
-+ if [info exists TOOL_OPTIONS] {
-+ set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada"
-+ } else {
-+ set rtsdir "[get_multilibs]/libada"
-+ }
-+ if [info exists TOOL_EXECUTABLE] {
-+ set GNAT_UNDER_TEST "$TOOL_EXECUTABLE"
-+ } else {
-+ set GNAT_UNDER_TEST "[local_find_gnatmake]"
-+ }
-+ set GNAT_UNDER_TEST "$GNAT_UNDER_TEST --RTS=$rtsdir"
-+
-+ # gnatlink looks for system.ads itself and has no --RTS option, so
-+ # specify via environment
-+ setenv ADA_INCLUDE_PATH "$rtsdir/adainclude"
-+ setenv ADA_OBJECTS_PATH "$rtsdir/adainclude"
- }
+ float a, b;
+Index: gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-lrintf-vec.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse3-movsldup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movsldup.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-movsldup.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
+
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-unpcklpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- set ld_library_path ".:${gnat_libgcc_s_path}"
-@@ -263,7 +270,13 @@
- }
- if { $file != "" } {
- set root [file dirname $file]
-- set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs --LINK=$root/xgcc -B$root -margs";
-+ # Need to pass full --GCC, including multilib flags, to gnatlink,
-+ # otherwise gcc from PATH is invoked.
-+ set dest [target_info name]
-+ set gnatlink_gcc "--GCC=$root/xgcc -B$root [board_info $dest multilib_flags]"
-+ # Escape blanks to get them through DejaGnu's exec machinery.
-+ regsub -all {\s} "$gnatlink_gcc" {\\&} gnatlink_gcc
-+ set CC "$file --GCC=$root/xgcc --GNATBIND=$root/gnatbind --GNATLINK=$root/gnatlink -cargs -B$root -largs $gnatlink_gcc -margs";
- } else {
- set CC [transform gnatmake]
- }
-Index: gcc/testsuite/lib/target-supports-dg.exp
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/incoming-2.c
===================================================================
---- gcc/testsuite/lib/target-supports-dg.exp (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/lib/target-supports-dg.exp (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -235,10 +235,27 @@
- append compiler_flags "[board_info $dest multilib_flags] "
- }
+--- gcc/testsuite/gcc.target/i386/incoming-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/incoming-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
-- # The target list might be an effective-target keyword, so replace
-- # the original list with "*-*-*", since we already know it matches.
-- set result [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]]
-+ # The next two arguments are optional. If they were not specified,
-+ # use the defaults.
-+ if { [llength $args] == 2 } {
-+ lappend $args [list "*"]
-+ }
-+ if { [llength $args] == 3 } {
-+ lappend $args [list ""]
-+ }
+ #include <emmintrin.h>
-+ # If the option strings are the defaults, or the same as the
-+ # defaults, there is no need to call check_conditional_xfail to
-+ # compare them to the actual options.
-+ if { [string compare [lindex $args 2] "*"] == 0
-+ && [string compare [lindex $args 3] "" ] == 0 } {
-+ set result 1
-+ } else {
-+ # The target list might be an effective-target keyword, so replace
-+ # the original list with "*-*-*", since we already know it matches.
-+ set result [check_conditional_xfail [lreplace $args 1 1 "*-*-*"]]
-+ }
-+
- # Any value in this variable was left over from an earlier test.
- set compiler_flags ""
+Index: gcc/testsuite/gcc.target/i386/sse2-por-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-por-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-por-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -256,14 +273,18 @@
- # group of tests or flags specified with a previous dg-options command.
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-paddusw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- proc dg-skip-if { args } {
-+ # Verify the number of arguments. The last two are optional.
-+ set args [lreplace $args 0 0]
-+ if { [llength $args] < 2 || [llength $args] > 4 } {
-+ error "dg-skip-if 2: need 2, 3, or 4 arguments"
-+ }
-+
- # Don't bother if we're already skipping the test.
- upvar dg-do-what dg-do-what
- if { [lindex ${dg-do-what} 1] == "N" } {
- return
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pslld-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pslld-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pslld-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-- set args [lreplace $args 0 0]
--
- set selector [list target [lindex $args 1]]
- if { [dg-process-target $selector] == "S" } {
- if [check-flags $args] {
-@@ -276,31 +297,53 @@
- # Like check_conditional_xfail, but callable from a dg test.
-
- proc dg-xfail-if { args } {
-+ # Verify the number of arguments. The last three are optional.
-+ set args [lreplace $args 0 0]
-+ if { [llength $args] < 2 || [llength $args] > 4 } {
-+ error "dg-xfail-if: need 2, 3, or 4 arguments"
-+ }
-+
- # Don't change anything if we're already skipping the test.
- upvar dg-do-what dg-do-what
- if { [lindex ${dg-do-what} 1] == "N" } {
- return
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmullw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-- set args [lreplace $args 0 0]
- set selector [list target [lindex $args 1]]
- if { [dg-process-target $selector] == "S" } {
- global compiler_conditional_xfail_data
-- set compiler_conditional_xfail_data [lreplace $args 1 1 "*-*-*"]
-+
-+ # The target list might be an effective-target keyword. Replace
-+ # the original list with "*-*-*", since we already know it matches.
-+ set args [lreplace $args 1 1 "*-*-*"]
-+
-+ # Supply default values for unspecified optional arguments.
-+ if { [llength $args] == 2 } {
-+ lappend $args [list "*"]
-+ }
-+ if { [llength $args] == 3 } {
-+ lappend $args [list ""]
-+ }
-+
-+ set compiler_conditional_xfail_data $args
- }
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr35767-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35767-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- # Like dg-xfail-if but for the execute step.
+ #include "sse2-check.h"
- proc dg-xfail-run-if { args } {
-+ # Verify the number of arguments. The last two are optional.
-+ set args [lreplace $args 0 0]
-+ if { [llength $args] < 2 || [llength $args] > 4 } {
-+ error "dg-xfail-run-if: need 2, 3, or 4 arguments"
-+ }
-+
- # Don't bother if we're already skipping the test.
- upvar dg-do-what dg-do-what
- if { [lindex ${dg-do-what} 1] == "N" } {
- return
- }
+Index: gcc/testsuite/gcc.target/i386/vectorize3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vectorize3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vectorize3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */
-- set args [lreplace $args 0 0]
--
- set selector [list target [lindex $args 1]]
- if { [dg-process-target $selector] == "S" } {
- if [check-flags $args] {
-Index: gcc/testsuite/lib/target-supports.exp
+ float a[256];
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c
===================================================================
---- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2787,6 +2787,28 @@
- return $flags
- }
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+# Add to FLAGS the flags needed to enable functions to bind locally
-+# when using pic/PIC passes in the testsuite.
-+
-+proc add_options_for_bind_pic_locally { flags } {
-+ if {[check_no_compiler_messages using_pic2 assembly {
-+ #if __PIC__ != 2
-+ #error FOO
-+ #endif
-+ }]} {
-+ return "$flags -fPIE"
-+ }
-+ if {[check_no_compiler_messages using_pic1 assembly {
-+ #if __PIC__ != 1
-+ #error FOO
-+ #endif
-+ }]} {
-+ return "$flags -fpie"
-+ }
-+
-+ return $flags
-+}
-+
- # Return 1 if the target provides a full C99 runtime.
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/pr37434-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr37434-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr37434-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- proc check_effective_target_c99_runtime { } {
-Index: gcc/testsuite/gfortran.dg/interface_assignment_5.f90
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/pr35714.c
===================================================================
---- gcc/testsuite/gfortran.dg/interface_assignment_5.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/interface_assignment_5.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,49 @@
-+! { dg-do compile }
-+!
-+! PR 42677: [4.5 Regression] Bogus Error: Ambiguous interfaces '...' in intrinsic assignment operator
-+!
-+! Contributed by Harald Anlauf <anlauf@gmx.de>
-+
-+module mod1
-+ implicit none
-+ type t_m
-+ integer :: i = 0
-+ end type t_m
-+!------------------------------------------------------------------------------
-+ interface assignment (=)
-+ module procedure assign_m
-+ end interface
-+!------------------------------------------------------------------------------
-+contains
-+ subroutine assign_m (y, x)
-+ type(t_m) ,intent(inout) :: y
-+ type(t_m) ,intent(in) :: x
-+ end subroutine assign_m
-+end module mod1
-+!==============================================================================
-+module mod2
-+ use mod1, only: t_m, assignment(=)
-+ implicit none
-+ type t_atm
-+ integer :: k
-+ end type t_atm
-+!------------------------------------------------------------------------------
-+ interface assignment(=)
-+ module procedure assign_to_atm
-+ end interface
-+!------------------------------------------------------------------------------
-+ interface
-+ pure subroutine delete_m (x)
-+ use mod1
-+ type(t_m) ,intent(in) :: x
-+ end subroutine delete_m
-+ end interface
-+!------------------------------------------------------------------------------
-+contains
-+ subroutine assign_to_atm (atm, r)
-+ type(t_atm) ,intent(inout) :: atm
-+ integer ,intent(in) :: r
-+ end subroutine assign_to_atm
-+end module mod2
-+
-+! { dg-final { cleanup-modules "mod1 mod2" } }
-Index: gcc/testsuite/gfortran.dg/read_empty_file.f
-===================================================================
---- gcc/testsuite/gfortran.dg/read_empty_file.f (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_empty_file.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,7 @@
-+! { dg-do run }
-+! PR43320 Missing EOF on read from empty file.
-+ open(8,status='scratch',form='formatted') ! Create empty file
-+ read(8,'(a80)', end=123) ! Reading from an empty file should be an EOF
-+ call abort
-+123 continue
-+ end
-Index: gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,50 @@
-+! { dg-do run }
-+! Test the fix for PR38324, in which the bounds were not set correctly for
-+! constructor assignments with allocatable components.
-+!
-+! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr>
-+!
-+ integer, parameter :: ik4 = 4
-+ integer, parameter :: ik8 = 8
-+ integer, parameter :: from = -1, to = 2
-+ call foo
-+ call bar
-+contains
-+ subroutine foo
-+ type :: struct
-+ integer(4), allocatable :: ib(:)
-+ end type struct
-+ integer(ik4), allocatable :: ia(:)
-+ type(struct) :: x
-+ allocate(ia(from:to))
-+ if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort
-+ if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort
-+ if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort
-+ x=struct(ia)
-+ if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort
-+ x=struct(ia(:))
-+ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort
-+ x=struct(ia(from:to))
-+ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort
-+ deallocate(ia)
-+ end subroutine
-+ subroutine bar
-+ type :: struct
-+ integer(4), allocatable :: ib(:)
-+ end type struct
-+ integer(ik8), allocatable :: ia(:)
-+ type(struct) :: x
-+ allocate(ia(from:to))
-+ if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort
-+ if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort
-+ if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort
-+ x=struct(ia)
-+ if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort
-+ x=struct(ia(:))
-+ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort
-+ x=struct(ia(from:to))
-+ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort
-+ deallocate(ia)
-+ end subroutine
-+end
-+
-Index: gcc/testsuite/gfortran.dg/interface_31.f90
+--- gcc/testsuite/gcc.target/i386/pr35714.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35714.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c
===================================================================
---- gcc/testsuite/gfortran.dg/interface_31.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/interface_31.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,41 @@
-+! { dg-do compile }
-+! PR42684 (42680) Ice with Interface.
-+MODULE mod1
-+ IMPLICIT NONE
-+ TYPE ta
-+ INTEGER i
-+ END TYPE ta
-+ INTERFACE OPERATOR(+)
-+ MODULE PROCEDURE add_a
-+ END INTERFACE OPERATOR(+)
-+CONTAINS
-+ FUNCTION add_a(lhs, rhs) RESULT(r)
-+ TYPE(ta), INTENT(IN) :: lhs
-+ TYPE(ta), INTENT(IN) :: rhs
-+ TYPE(ta) :: r
-+ !****
-+ r%i = lhs%i + rhs%i
-+ END FUNCTION add_a
-+END MODULE mod1
-+
-+MODULE mod2
-+ IMPLICIT NONE
-+ TYPE tb
-+ INTEGER j
-+ END TYPE tb
-+ INTERFACE OPERATOR(+)
-+ MODULE PROCEDURE add_b
-+ END INTERFACE OPERATOR(+)
-+CONTAINS
-+ SUBROUTINE other_proc()
-+ USE mod1 ! Causes ICE
-+ END SUBROUTINE other_proc
-+ FUNCTION add_b(lhs, rhs) RESULT(r)
-+ TYPE(tb), INTENT(IN) :: lhs
-+ TYPE(tb), INTENT(IN) :: rhs
-+ TYPE(tb) :: r
-+ !****
-+ r%j = lhs%j + rhs%j
-+ END FUNCTION add_b
-+END MODULE mod2
-+! { dg-final { cleanup-modules "mod1 mod2" } }
-Index: gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,39 @@
-+! { dg-do compile }
-+! Test the fix for the problems in PR41044
-+!
-+! Contributed by <ros@rzg.mpg.de>
-+! Reduced by Joos VandeVondele <jv244@cam.ac.uk>
-+!
-+ Subroutine PS_INIT (bkgd, punit, pform, psize, rot90, bbox, clip, eps, &
-+ caller)
-+ type psfd ! paper size and frame defaults
-+ character(3) :: n
-+ real :: p(2)
-+ real :: f(4)
-+ end type psfd
-+ character(4) :: fn, orich, pfmt
-+ type(psfd), parameter :: pfd(0:11)=(/ &
-+ psfd(' ',(/ 0.0, 0.0/),(/200.,120.,800.,560./)), & ! A0_L
-+ psfd('A0 ',(/ 840.9,1189.2/),(/140., 84.,560.,400./)), & ! A0_P
-+ psfd('A1 ',(/ 594.6, 840.9/),(/100., 60.,400.,280./)), & ! A1_P
-+ psfd('A2 ',(/ 420.4, 594.6/),(/ 70., 42.,280.,200./)), & ! A2_P
-+ psfd('A3 ',(/ 297.3, 420.4/),(/ 50., 30.,200.,140./)), & ! A3_P
-+ psfd('A4 ',(/ 210.2, 297.3/),(/ 35., 21.,140.,100./)), & ! A4_P
-+ psfd('A5 ',(/ 148.7, 210.2/),(/ 25., 15.,100., 70./)), & ! A5_P
-+ psfd('A6 ',(/ 105.1, 148.7/),(/ 18., 11., 70., 50./)), & ! A6_P
-+ psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Letter_L
-+ psfd('LET',(/ 215.9, 279.4/),(/ 35., 21.,140.,100./)), & ! Letter_P
-+ psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Legal_L
-+ psfd('LEG',(/ 215.9, 355.6/),(/ 35., 21.,140.,100./))/) ! Legal_P
-+ if (len_trim(pfmt) > 0) then ! set paper format
-+ idx=sum(maxloc(index(pfd%n,pfmt(1:3))))-1
-+ end if
-+ end subroutine PS_INIT
-+
-+! This, additional problem, was posted as comment #8 by Tobias Burnus <burnus@gcc.gnu.org>
-+ type t
-+ integer :: i
-+ end type t
-+ type(t), parameter :: a(1) = t(4) ! [t(4)] worked OK
-+ real(a(1)%i) :: b
-+end
-Index: gcc/testsuite/gfortran.dg/pr43475.f90
+--- gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psadbw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/ssetype-3.c
===================================================================
---- gcc/testsuite/gfortran.dg/pr43475.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr43475.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+! PR middle-end/43475
-+! { dg-do compile }
-+! { dg-options "-O2" }
-+subroutine ss(w)
-+ implicit none
-+ integer :: w(:)
-+ integer :: b,c,d
-+ b = w(8)
-+ c = 5
-+ d = 3
-+ call s1(c)
-+ call s2(b+c)
-+ call s3(w(b))
-+end subroutine ss
-Index: gcc/testsuite/gfortran.dg/pr42294.f
-===================================================================
---- gcc/testsuite/gfortran.dg/pr42294.f (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr42294.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,41 @@
-+C PR rtl-optimization/42294
-+C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } }
-+C { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" }
-+
-+ SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T)
-+ IMPLICIT DOUBLE PRECISION(A-H,O-Z)
-+ DIMENSION NATORB(NATOT),P(NTOTORB*(NTOTORB+1)/2)
-+ DIMENSION T(NTOTORB,NTOTORB)
-+ DO 9000 IATOM=1,NATOT
-+ ILAST = NTOTORB
-+ IF (IATOM.NE.NATOT) ILAST=NATORB(IATOM+1)-1
-+ DO 8000 IAOI=NATORB(IATOM),ILAST
-+ DO 7000 IAOJ = IAOI+1,ILAST
-+ R2 = 0.0D+00
-+ R3 = 0.0D+00
-+ DO 6000 INOTA=1,NATOT
-+ DO 5000 IK=NATORB(INOTA),NTOTORB
-+ IMAI=MAX(IK,IAOI)
-+ IMII=MIN(IK,IAOI)
-+ IMAJ=MAX(IK,IAOJ)
-+ IMIJ=MIN(IK,IAOJ)
-+ IKI=(IMAI*(IMAI-1))/2 + IMII
-+ IKJ=(IMAJ*(IMAJ-1))/2 + IMIJ
-+ PIKI=P(IKI)
-+ PIKJ=P(IKJ)
-+ R2 = R2 + (PIKI**4)-6*(PIKI*PIKI*PIKJ*PIKJ)+(PIKJ)
-+ 5000 CONTINUE
-+ 6000 CONTINUE
-+ R2 = (R2/4.0D+00)
-+ Q = SQRT(R2*R2 + R3*R3)
-+ IF (Q.LT.1.0D-08) GO TO 7000
-+ A = COS(THETA)
-+ B = -SIN(THETA)
-+ CALL ROT1INT(NTOTORB,IAOI,IAOJ,A,B,P)
-+ 7000 CONTINUE
-+ 8000 CONTINUE
-+ 9000 CONTINUE
-+ RETURN
-+ END
-+
-+
-Index: gcc/testsuite/gfortran.dg/namelist_60.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/namelist_60.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/namelist_60.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,27 @@
-+! { dg-do run }
-+! PR42901 Reading array of structures from namelist
-+! Test case derived from the reporters test case.
-+program test_nml
-+type field_descr
-+ integer number
-+end type
-+type fsetup
-+ type (field_descr), dimension(3) :: vel ! 3 velocity components
-+end type
-+type (fsetup) field_setup
-+namelist /nl_setup/ field_setup
-+field_setup%vel%number = 0
-+! write(*,nml=nl_setup)
-+open(10, status="scratch")
-+write(10,'(a)') "&nl_setup"
-+write(10,'(a)') " field_setup%vel(1)%number= 3,"
-+write(10,'(a)') " field_setup%vel(2)%number= 9,"
-+write(10,'(a)') " field_setup%vel(3)%number= 27,"
-+write(10,'(a)') "/"
-+rewind(10)
-+read(10,nml=nl_setup)
-+if (field_setup%vel(1)%number .ne. 3) call abort
-+if (field_setup%vel(2)%number .ne. 9) call abort
-+if (field_setup%vel(3)%number .ne. 27) call abort
-+! write(*,nml=nl_setup)
-+end program test_nml
-Index: gcc/testsuite/gfortran.dg/bounds_check_15.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/bounds_check_15.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/bounds_check_15.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,33 @@
-+! { dg-do run }
-+! { dg-options "-fbounds-check" }
-+! Test the fix for PR42783, in which a bogus array bounds violation
-+! with missing optional array argument.
-+!
-+! Contributed by Harald Anlauf <anlauf@gmx.de>
-+!
-+program gfcbug99
-+ implicit none
-+ character(len=8), parameter :: mnem_list(2) = "A"
-+
-+ call foo (mnem_list) ! This call succeeds
-+ call foo () ! This call fails
-+contains
-+ subroutine foo (mnem_list)
-+ character(len=8) ,intent(in) ,optional :: mnem_list(:)
-+
-+ integer :: i,j
-+ character(len=256) :: ml
-+ ml = ''
-+ j = 0
-+ if (present (mnem_list)) then
-+ do i = 1, size (mnem_list)
-+ if (mnem_list(i) /= "") then
-+ j = j + 1
-+ if (j > len (ml)/8) call abort ()
-+ ml((j-1)*8+1:(j-1)*8+8) = mnem_list(i)
-+ end if
-+ end do
-+ end if
-+ if (j > 0) print *, trim (ml(1:8))
-+ end subroutine foo
-+end program gfcbug99
-Index: gcc/testsuite/gfortran.dg/internal_pack_10.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/internal_pack_10.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/internal_pack_10.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,41 @@
-+! { dg-do run }
-+! Test the fix for PR43180, in which patch which reduced the use of
-+! internal_pack/unpack messed up the passing of ru(1)%c as the actual
-+! argument at line 23 in this testcase.
-+!
-+! Contributed by Harald Anlauf <anlauf@gmx.de>
-+! further reduced by Tobias Burnus <burnus@gcc.gnu.org>
-+!
-+module mo_obs_rules
-+ type t_set
-+ integer :: use = 42
-+ end type t_set
-+ type t_rules
-+ character(len=40) :: comment
-+ type(t_set) :: c (1)
-+ end type t_rules
-+ type (t_rules), save :: ru (1)
-+contains
-+ subroutine get_rule (c)
-+ type(t_set) :: c (:)
-+ ru(1)%c(:)%use = 99
-+ if (any (c(:)%use .ne. 42)) call abort
-+ call set_set_v (ru(1)%c, c)
-+ if (any (c(:)%use .ne. 99)) call abort
-+ contains
-+ subroutine set_set_v (src, dst)
-+ type(t_set), intent(in) :: src(1)
-+ type(t_set), intent(inout) :: dst(1)
-+ if (any (src%use .ne. 99)) call abort
-+ if (any (dst%use .ne. 42)) call abort
-+ dst = src
-+ end subroutine set_set_v
-+ end subroutine get_rule
-+end module mo_obs_rules
-+
-+program test
-+ use mo_obs_rules
-+ type(t_set) :: c (1)
-+ call get_rule (c)
-+end program test
-+! { dg-final { cleanup-modules "mo_obs_rules" } }
-Index: gcc/testsuite/gfortran.dg/fmt_cache_2.f
-===================================================================
---- gcc/testsuite/gfortran.dg/fmt_cache_2.f (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/fmt_cache_2.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,36 @@
-+! { dg-do run }
-+! PR42742 Handle very large format strings correctly
-+! Test derived from example developed by Manfred Schwarb.
-+ character(12) bufarr(74)
-+ character(74*13+30) fmtstr,fmtstr2
-+ character(1) delim
-+ integer i,j,dat(5),pindx, loopcounter
-+ character(983) big_string ! any less and this test fails.
-+
-+ do i=1,74
-+ write(bufarr(i),'(i12)') i
-+ enddo
-+
-+ delim=" "
-+ dat(1)=2009
-+ dat(2)=10
-+ dat(3)=31
-+ dat(4)=3
-+ dat(5)=0
-+ fmtstr="(i2,i6,4(a1,i2.2)"
-+ open(10, status="scratch")
-+ do j=1,74
-+ fmtstr=fmtstr(1:len_trim(fmtstr))//",a1,a12"
-+ fmtstr2=fmtstr(1:len_trim(fmtstr))//")"
-+c write(0,*) "interation ",j,": ",len_trim(fmtstr2)
-+ do i=1,10
-+ write(10,fmtstr2)
-+ & i,dat(1),"-",dat(2),"-",dat(3),
-+ & delim,dat(4),":",dat(5),
-+ & (delim,bufarr(pindx),pindx=1,j)
-+ enddo
-+ loopcounter = j
-+ enddo
-+ close(10)
-+ if (loopcounter /= 74) call abort
-+ end
-Index: gcc/testsuite/gfortran.dg/module_write_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/module_write_1.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/module_write_1.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,59 @@
-+! { dg-do compile }
-+!
-+! PR fortran/41869
-+!
-+! Was ICEing while module write of symbol 'vs_str' in m_dom_dom
-+! because of "len" being private in fox_m_fsys_format.
-+!
-+module fox_m_fsys_array_str
-+contains
-+ pure function str_vs(vs) result(s)
-+ character, dimension(:), intent(in) :: vs
-+ character(len=size(vs)) :: s
-+ s = transfer(vs, s)
-+ end function str_vs
-+ pure function vs_str(s) result(vs)
-+ character(len=*), intent(in) :: s
-+ character, dimension(len(s)) :: vs
-+ vs = transfer(s, vs)
-+ end function vs_str
-+end module fox_m_fsys_array_str
-+
-+module fox_m_fsys_format
-+ private
-+ interface str
-+ module procedure str_logical_array
-+ end interface str
-+ interface len
-+ module procedure str_logical_array_len
-+ end interface
-+ public :: str
-+contains
-+ pure function str_logical_array_len(la) result(n)
-+ logical, dimension(:), intent(in) :: la
-+ end function str_logical_array_len
-+ pure function str_logical_array(la) result(s)
-+ logical, dimension(:), intent(in) :: la
-+ character(len=len(la)) :: s
-+ end function str_logical_array
-+ pure function checkFmt(fmt) result(good)
-+ character(len=*), intent(in) :: fmt
-+ logical :: good
-+ good = len(fmt) > 0
-+ end function checkFmt
-+end module fox_m_fsys_format
-+
-+module m_dom_dom
-+ use fox_m_fsys_array_str, only: str_vs, vs_str
-+end module m_dom_dom
-+
-+module FoX_dom
-+ use fox_m_fsys_format
-+ use m_dom_dom
-+end module FoX_dom
-+
-+use FoX_dom
-+implicit none
-+print *, vs_str("ABC")
-+end
-+! { dg-final { cleanup-modules "fox_m_fsys_array_str fox_m_fsys_format m_dom_dom fox_dom" } }
-Index: gcc/testsuite/gfortran.dg/namelist_28.f90
+--- gcc/testsuite/gcc.target/i386/ssetype-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssetype-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "andps\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "andnps\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movapd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movapd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movapd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c
===================================================================
---- gcc/testsuite/gfortran.dg/namelist_28.f90 (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gfortran.dg/namelist_28.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,4 +1,4 @@
--! { dg-do run { target fd_truncate } }
-+! { dg-do run }
- ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
- ! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
- program gfcbug61
-@@ -27,12 +27,12 @@
- character(len=*), intent(in) :: name
-
- character(len=255) :: line
-- integer :: ios, idx
-+ integer :: ios, idx, k
- logical :: first
-
- first = .true.
- status = 0
-- do
-+ do k=1,25
- line = ""
- read (unit,'(a)',iostat=ios) line
- if (ios < 0) then
-@@ -51,12 +51,13 @@
- return
- end if
- end do
-+ if (k.gt.10) call abort
- end subroutine position_nml
-
- subroutine read_report (unit, status)
- integer :: unit, status
-
-- integer :: iuse, ios
-+ integer :: iuse, ios, k
- !------------------
- ! Namelist 'REPORT'
- !------------------
-@@ -66,7 +67,7 @@
- ! Loop to read namelist multiple times
- !-------------------------------------
- iuse = 0
-- do
-+ do k=1,25
- !----------------------------------------
- ! Preset namelist variables with defaults
- !----------------------------------------
-@@ -84,6 +85,7 @@
- if (ios /= 0) exit
- iuse = iuse + 1
- end do
-+ if (k.gt.10) call abort
- status = ios
- end subroutine read_report
-
-Index: gcc/testsuite/gfortran.dg/func_result_5.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/func_result_5.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/func_result_5.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+! { dg-do compile }
-+!
-+! PR fortran/42650
-+!
-+! Result type was not working
-+!
-+
-+type(t) function func2() result(res)
-+ type t
-+ sequence
-+ integer :: i = 5
-+ end type t
-+ res%i = 2
-+end function func2
-Index: gcc/testsuite/gfortran.dg/internal_pack_8.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/internal_pack_8.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/internal_pack_8.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,33 @@
-+! { dg-do run }
-+!
-+! Test the fix for PR43111, in which necessary calls to
-+! internal PACK/UNPACK were not being generated because
-+! of an over agressive fix to PR41113/7.
-+!
-+! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
-+!
-+SUBROUTINE S2(I)
-+ INTEGER :: I(4)
-+ !write(6,*) I
-+ IF (ANY(I.NE.(/3,5,7,9/))) CALL ABORT()
-+END SUBROUTINE S2
-+
-+MODULE M1
-+ TYPE T1
-+ INTEGER, POINTER, DIMENSION(:) :: data
-+ END TYPE T1
-+CONTAINS
-+ SUBROUTINE S1()
-+ TYPE(T1) :: d
-+ INTEGER, TARGET, DIMENSION(10) :: scratch=(/(i,i=1,10)/)
-+ INTEGER :: i=2
-+ d%data=>scratch(1:9:2)
-+! write(6,*) d%data(i:)
-+ CALL S2(d%data(i:))
-+ END SUBROUTINE S1
-+END MODULE M1
-+
-+USE M1
-+CALL S1
-+END
-+! { dg-final { cleanup-modules "M1" } }
-Index: gcc/testsuite/gfortran.dg/debug/pr43166.f
-===================================================================
---- gcc/testsuite/gfortran.dg/debug/pr43166.f (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/debug/pr43166.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,14 @@
-+C PR debug/43166
-+C { dg-do compile }
-+C { dg-options "-O" }
-+ SUBROUTINE FOO ()
-+ INTEGER V1
-+ COMMON // V1
-+ END
-+ SUBROUTINE BAR ()
-+ INTEGER V0,V1,V2,V3
-+ COMMON // V1(4),V2(85,4),V3
-+ DO V3=1,V1(1)
-+ V0=V2(V3,1)
-+ END DO
-+ END
-Index: gcc/testsuite/gfortran.dg/char_array_arg_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/char_array_arg_1.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/char_array_arg_1.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,17 @@
-+! { dg-do compile }
-+! Test the fix for pr41167, in which the first argument of 'pack', below,
-+! was simplified incorrectly, with the results indicated.
-+!
-+! Contributed by Harald Anlauf <anlauf@gmx.de>
-+!
-+program gfcbug88
-+ implicit none
-+ type t
-+ character(len=8) :: name
-+ end type t
-+ type(t) ,parameter :: obstyp(2)= (/ t ('A'), t ('B') /)
-+ character(9) :: chr(1)
-+
-+ print *, pack (" "//obstyp(:)% name, (/ .true., .false. /)) ! Used to ICE on compilation
-+ chr = pack (" "//obstyp(:)% name, (/ .true., .false. /)) ! Used to give conversion error
-+end program gfcbug88
-Index: gcc/testsuite/gfortran.dg/namelist_59.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/namelist_59.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/namelist_59.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,26 @@
-+! { dg-do run }
-+! PR41192 NAMELIST input with just a comment ("&NAME ! comment \") error
-+program cmdline
-+! comment by itself causes error in gfortran
-+ call process(' ')
-+ call process('i=10 , j=20 k=30 ! change all three values')
-+ call process(' ')
-+ call process('! change no values')! before patch this failed.
-+end program cmdline
-+
-+subroutine process(string)
-+ implicit none
-+ character(len=*) :: string
-+ character(len=132) :: lines(3)
-+ character(len=255) :: message
-+ integer :: i=1,j=2,k=3
-+ integer ios
-+ namelist /cmd/ i,j,k
-+ save cmd
-+ lines(1)='&cmd'
-+ lines(2)=string
-+ lines(3)='/'
-+
-+ read(lines,nml=cmd,iostat=ios,iomsg=message)
-+ if (ios.ne.0) call abort
-+end subroutine process
-Index: gcc/testsuite/gfortran.dg/read_eof_7.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/read_eof_7.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_eof_7.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,20 @@
-+! { dg-do run }
-+! PR43517 Spurious EOF condition when namelist read follows formatted read
-+! Test case from the problem reporter - Michael Richmond
-+program main
-+ namelist /name/ j
-+ open (10,status='scratch',form='formatted')
-+ write(10,'(a)') "999999"
-+ write(10,'(a)') " $name"
-+ write(10,'(a)') " j=73,"
-+ write(10,'(a)') " /"
-+ rewind(10)
-+ i = 54321
-+ idum = 6789
-+ read (10,'(2i5,4x)') i, idum ! Trailing 4x was setting EOF condition
-+ if (i /= 99999 .and. idum /= 9) call abort
-+ j = 12345
-+ read (10,name) ! EOF condition tripped here.
-+ if (j /= 73) call abort
-+end program main
-+
-Index: gcc/testsuite/gfortran.dg/read_eof_6.f
-===================================================================
---- gcc/testsuite/gfortran.dg/read_eof_6.f (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_eof_6.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,7 @@
-+! { dg-do run }
-+! PR43320 Missing EOF on read from empty file.
-+ open(8,status='scratch',form='formatted') ! Create empty file
-+ read(8,'(a80)', end=123) ! Reading from an empty file should be an EOF
-+ call abort
-+123 continue
-+ end
-Index: gcc/testsuite/gfortran.dg/read_eof_all.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/read_eof_all.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_eof_all.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,71 @@
-+! { dg-do run }
-+! PR43265 Followup patch for miscellaneous EOF conditions.
-+! Eaxamples from Tobius Burnus
-+ use iso_fortran_env
-+ character(len=2) :: str, str2(2)
-+ integer :: a, b, c, ios
-+ str = ''
-+ str2 = ''
-+
-+ open(99,file='test.dat',access='stream',form='unformatted', status='replace')
-+ write(99) ' '
-+ close(99)
-+
-+ open(99,file='test.dat')
-+ read(99, '(T7,i2)') i
-+ close(99, status="delete")
-+ if (i /= 0) call abort
-+
-+ read(str(1:0), '(T7,i1)') i
-+ if (i /= 0) call abort
-+
-+ read(str,'(i2,/,i2)',end=111) a, b
-+ call abort !stop 'ERROR: Expected EOF error (1)'
-+ 111 continue
-+
-+ read(str2,'(i2,/,i2)',end=112) a, b
-+
-+ read(str2,'(i2,/,i2,/,i2)',end=113) a, b, c
-+ call abort !stop 'ERROR: Expected EOF error (2)'
-+
-+ 112 call abort !stop 'ERROR: Unexpected EOF (3)'
-+
-+ 113 continue
-+ read(str,'(i2,/,i2)',end=121,pad='no') a, b
-+ call abort !stop 'ERROR: Expected EOF error (1)'
-+ 121 continue
-+
-+ read(str2(:),'(i2,/,i2)', end=122, pad='no') a, b
-+ goto 125
-+ 122 call abort !stop 'ERROR: Expected no EOF error (2)'
-+ 125 continue
-+
-+ read(str2(:),'(i2,/,i2,/,i2)',end=123,pad='no') a, b, c
-+ call abort !stop 'ERROR: Expected EOF error (3)'
-+ 123 continue
-+
-+ read(str(2:1),'(i2,/,i2)',end=131, pad='no') a, b
-+ call abort !stop 'ERROR: Expected EOF error (1)'
-+ 131 continue
-+
-+ read(str2(:)(2:1),'(i2,/,i2)',end=132, pad='no') a, b
-+ call abort !stop 'ERROR: Expected EOF error (2)'
-+ 132 continue
-+
-+ read(str2(:)(2:1),'(i2,/,i2,/,i2)',end=133,pad='no') a, b, c
-+ call abort !stop 'ERROR: Expected EOF error (3)'
-+ 133 continue
-+
-+ read(str(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b
-+ if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (1)'
-+
-+ read(str2(:)(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b
-+ if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)'
-+
-+ read(str2(:)(2:1),'(i2,/,i2,/,i2)',iostat=ios,pad='no') a, b, c
-+ if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)'
-+
-+ ! print *, "success"
-+ end
-+
-+
-Index: gcc/testsuite/gfortran.dg/read_x_eof.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/read_x_eof.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_x_eof.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,16 @@
-+! { dg-do run }
-+! PR43265 No EOF condition if reading with '(x)' from an empty file
-+! Test case from the reporter.
-+program pr43265
-+implicit none
-+integer::i
-+open(23,status="scratch")
-+write(23,'(a)') "Line 1"
-+write(23,'(a)') "Line 2"
-+write(23,'(a)') "Line 3"
-+rewind(23)
-+do i=1,10
-+ read(23,'(1x)',end=12)
-+enddo
-+12 if (i.ne.4) call abort
-+end
-Index: gcc/testsuite/gfortran.dg/read_x_past.f
-===================================================================
---- gcc/testsuite/gfortran.dg/read_x_past.f (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gfortran.dg/read_x_past.f (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,17 +1,28 @@
--! { dg-do run { target fd_truncate } }
-+! { dg-do run }
- ! { dg-options -w }
- ! PR 26661 : Test reading X's past file end with no LF or CR.
- ! PR 26880 : Tests that rewind clears the gfc_unit read_bad flag.
-+! PR 43265 : Tests that no error occurs with or without X at end.
- ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
- implicit none
- character(3) a(4)
- integer i
-- open (10)
-+ open (10, status="scratch")
- 10 format(A,$) ! This is not pedantic
- write(10,10)' abc def ghi jkl'
- rewind(10)
-+
-+ a = ""
- read(10,20)(a(i),i=1,4)
- if (a(4).ne."jkl") call abort()
-+
-+ rewind(10)
-+
-+ a = ""
-+ read(10,30)(a(i),i=1,4)
-+ if (a(4).ne."jkl") call abort()
-+
- 20 format(1x,a3,1x,a3,1x,a3,1x,a3,10x)
-- close(10, status="delete")
-+ 30 format(1x,a3,1x,a3,1x,a3,1x,a3)
-+ close(10)
- end
-Index: gcc/testsuite/gfortran.dg/namelist_61.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/namelist_61.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/namelist_61.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,35 @@
-+! { dg-do run }
-+!
-+! PR fortran/43228
-+!
-+integer :: a(3,3)
-+character(len=100) :: str
-+namelist /nml/a
-+
-+a = -1
-+str = '&nml a(1,:) = 1 2 3 /'
-+read(str, nml=nml)
-+if (any (a(1,:) /= [1, 2, 3])) call abort ()
-+if (any (a([2,3],:) /= -1)) call abort ()
-+
-+a = -1
-+str = '&nml a(1,1) = 1 2 3 4 /'
-+read(str, nml=nml)
-+if (any (a(:,1) /= [1, 2, 3])) call abort ()
-+if (any (a(:,2) /= [4, -1, -1])) call abort ()
-+if (any (a(:,3) /= -1)) call abort ()
-+
-+str = '&nml a(1,:) = 1 2 3 , &
-+ & a(2,:) = 4,5,6 &
-+ & a(3,:) = 7 8 9/'
-+read(str, nml=nml)
-+if (any (a(1,:) /= [1, 2, 3])) call abort ()
-+if (any (a(2,:) /= [4, 5, 6])) call abort ()
-+if (any (a(3,:) /= [7, 8, 9])) call abort ()
-+
-+!print *, a(:,1)
-+!print *, a(:,2)
-+!print *, a(:,3)
-+end
-+
-+
-Index: gcc/testsuite/gfortran.dg/namelist_27.f90
+--- gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtdq2pd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-minpd-1.c
===================================================================
---- gcc/testsuite/gfortran.dg/namelist_27.f90 (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gfortran.dg/namelist_27.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,4 +1,4 @@
--! { dg-do run { target fd_truncate } }
-+! { dg-do run }
- ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
- ! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
- program gfcbug61
-@@ -41,14 +41,14 @@
- character(len=*), intent(in) :: name
-
- character(len=255) :: line
-- integer :: ios, idx
-+ integer :: ios, idx, k
- logical :: first
-
- first = .true.
- status = 0
- ios = 0
- line = ""
-- do
-+ do k=1,10
- read (unit,'(a)',iostat=ios) line
- if (first) then
- first = .false.
-@@ -74,7 +74,7 @@
- subroutine read_report (unit, status)
- integer :: unit, status
-
-- integer :: iuse, ios
-+ integer :: iuse, ios, k
- !------------------
- ! Namelist 'REPORT'
- !------------------
-@@ -85,7 +85,7 @@
- ! Loop to read namelist multiple times
- !-------------------------------------
- iuse = 0
-- do
-+ do k=1,5
- !----------------------------------------
- ! Preset namelist variables with defaults
- !----------------------------------------
-@@ -103,4 +103,4 @@
- status = ios
- end subroutine read_report
-
--end program gfcbug61
-\ No newline at end of file
-+end program gfcbug61
-Index: gcc/testsuite/gfortran.dg/c_assoc_3.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/c_assoc_3.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/c_assoc_3.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,13 @@
-+! { dg-do compile }
-+!
-+! PR fortran/43303
-+!
-+! Contributed by Dennis Wassel
-+!
-+PROGRAM c_assoc
-+ use iso_c_binding
-+ type(c_ptr) :: x
-+ x = c_null_ptr
-+ print *, C_ASSOCIATED(x) ! <<< was ICEing here
-+ if (C_ASSOCIATED(x)) call abort ()
-+END PROGRAM c_assoc
-Index: gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- ! { dg-do run }
--! { dg-options "-O2 -fdump-tree-original" }
-+! { dg-options "-fdump-tree-original" }
- !
- ! Check some basic functionality of allocatable components, including that they
- ! are nullified when created and automatically deallocated when
-Index: gcc/testsuite/gfortran.dg/dependency_25.f90
+--- gcc/testsuite/gcc.target/i386/sse2-minpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-minpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/unordcmp-1.c
===================================================================
---- gcc/testsuite/gfortran.dg/dependency_25.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/dependency_25.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,95 @@
-+! { dg-do run }
-+! Test the fix for PR42736, in which an excessively rigorous dependency
-+! checking for the assignment generated an unnecessary temporary, whose
-+! rank was wrong. When accessed by the scalarizer, a segfault ensued.
-+!
-+! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
-+! Reported by Armelius Cameron <armeliusc@gmail.com>
-+!
-+module UnitValue_Module
-+
-+ implicit none
-+ private
-+
-+ public :: &
-+ operator(*), &
-+ assignment(=)
-+
-+ type, public :: UnitValue
-+ real :: &
-+ Value = 1.0
-+ character(31) :: &
-+ Label
-+ end type UnitValue
-+
-+ interface operator(*)
-+ module procedure ProductReal_LV
-+ end interface operator(*)
-+
-+ interface assignment(=)
-+ module procedure Assign_LV_Real
-+ end interface assignment(=)
-+
-+contains
-+
-+ elemental function ProductReal_LV(Multiplier, Multiplicand) result(P_R_LV)
-+
-+ real, intent(in) :: &
-+ Multiplier
-+ type(UnitValue), intent(in) :: &
-+ Multiplicand
-+ type(UnitValue) :: &
-+ P_R_LV
-+
-+ P_R_LV%Value = Multiplier * Multiplicand%Value
-+ P_R_LV%Label = Multiplicand%Label
-+
-+ end function ProductReal_LV
-+
-+
-+ elemental subroutine Assign_LV_Real(LeftHandSide, RightHandSide)
-+
-+ real, intent(inout) :: &
-+ LeftHandSide
-+ type(UnitValue), intent(in) :: &
-+ RightHandSide
-+
-+ LeftHandSide = RightHandSide%Value
-+
-+ end subroutine Assign_LV_Real
-+
-+end module UnitValue_Module
-+
-+program TestProgram
-+
-+ use UnitValue_Module
-+
-+ implicit none
-+
-+ type :: TableForm
-+ real, dimension(:,:), allocatable :: &
-+ RealData
-+ end type TableForm
-+
-+ type(UnitValue) :: &
-+ CENTIMETER
-+
-+ type(TableForm), pointer :: &
-+ Table
-+
-+ allocate(Table)
-+ allocate(Table%RealData(10,5))
-+
-+ CENTIMETER%value = 42
-+ Table%RealData = 1
-+ Table%RealData(:,1) = Table%RealData(:,1) * CENTIMETER
-+ Table%RealData(:,2) = Table%RealData(:,2) * CENTIMETER
-+ Table%RealData(:,3) = Table%RealData(:,3) * CENTIMETER
-+ Table%RealData(:,5) = Table%RealData(:,5) * CENTIMETER
-+
-+! print *, Table%RealData
-+ if (any (abs(Table%RealData(:,4) - 1) > epsilon(1.0))) call abort ()
-+ if (any (abs(Table%RealData(:,[1,2,3,5]) - 42) > epsilon(1.0))) call abort ()
-+end program TestProgram
-+
-+! { dg-final { cleanup-modules "UnitValue_Module" } }
-Index: gcc/testsuite/gfortran.dg/array_constructor_35.f90
+--- gcc/testsuite/gcc.target/i386/unordcmp-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/unordcmp-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "cmpunordss" } } */
+ /* { dg-final { scan-assembler "cmpunordps" } } */
+ /* { dg-final { scan-assembler "cmpunordsd" } } */
+Index: gcc/testsuite/gcc.target/i386/pr36578-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr36578-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr36578-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test for unsafe floating-point conversions. PR 36578. */
+ /* { dg-do run } */
+ /* { dg-options "-msse2 -mfpmath=sse" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/pr35767-2i.c
===================================================================
---- gcc/testsuite/gfortran.dg/array_constructor_35.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/array_constructor_35.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,9 @@
-+! { dg-do compile }
-+! PR42999 bogus error: Parameter 'i' at (1) has not been declared
-+! or is a variable, which does not reduce to a constant expression
-+ TYPE DD
-+ INTEGER :: I
-+ END TYPE DD
-+ TYPE(DD) :: X(2)=(/(DD(I),I=1,2)/)
-+ END
-+
-Index: gcc/testsuite/gfortran.dg/generic_21.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/generic_21.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/generic_21.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,33 @@
-+! { dg-do compile }
-+!
-+! PR fortran/42858
-+!
-+! Contributed by Harald Anlauf
-+!
-+module gfcbug102
-+ implicit none
-+ type t_vector_segm
-+ real ,pointer :: x(:) => NULL()
-+ end type t_vector_segm
-+
-+ type t_vector
-+ integer :: n_s = 0
-+ type (t_vector_segm) ,pointer :: s (:) => NULL()
-+ end type t_vector
-+
-+ interface sqrt
-+ module procedure sqrt_vector
-+ end interface sqrt
-+
-+contains
-+ function sqrt_vector (x) result (y)
-+ type (t_vector) :: y
-+ type (t_vector) ,intent(in) :: x
-+ integer :: i
-+ do i = 1, y% n_s
-+ y% s(i)% x = sqrt (x% s(i)% x)
-+ end do
-+ end function sqrt_vector
-+end module gfcbug102
-+
-+! { dg-final { cleanup-modules "gfcbug102" } }
-Index: gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/subref_array_pointer_4.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,27 @@
-+! { dg-do run }
-+! Tests the fix for PR42309, in which the indexing of 'Q'
-+! was off by one.
-+!
-+! Contributed by Gilbert Scott <gilbert.scott@easynet.co.uk>
-+!
-+PROGRAM X
-+ TYPE T
-+ INTEGER :: I
-+ REAL :: X
-+ END TYPE T
-+ TYPE(T), TARGET :: T1(0:3)
-+ INTEGER, POINTER :: P(:)
-+ REAL :: SOURCE(4) = [10., 20., 30., 40.]
-+
-+ T1%I = [1, 2, 3, 4]
-+ T1%X = SOURCE
-+ P => T1%I
-+ CALL Z(P)
-+ IF (ANY (T1%I .NE. [999, 2, 999, 4])) CALL ABORT
-+ IF (ANY (T1%X .NE. SOURCE)) CALL ABORT
-+CONTAINS
-+ SUBROUTINE Z(Q)
-+ INTEGER, POINTER :: Q(:)
-+ Q(1:3:2) = 999
-+ END SUBROUTINE Z
-+END PROGRAM X
-Index: gcc/testsuite/gfortran.dg/pr43229.f90
-===================================================================
---- gcc/testsuite/gfortran.dg/pr43229.f90 (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr43229.f90 (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,10 @@
-+! PR debug/43229
-+! { dg-do compile }
-+! { dg-options "-g -O3 -ffast-math" }
-+! { dg-options "-g -O3 -ffast-math -msse3" { target { i?86-*-* x86_64-*-* } } }
-+
-+function foo (c, d)
-+ real(8) :: c(6), d(6), foo
-+ x = sum (c * d)
-+ foo = exp (-x)
-+end function foo
-Index: gcc/testsuite/objc/execute/forward-1.x
-===================================================================
---- gcc/testsuite/objc/execute/forward-1.x (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/testsuite/objc/execute/forward-1.x (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,8 +1,6 @@
- load_lib target-supports.exp
-
- # XFAIL: PR libobjc/36610, for targets which pass arguments via registers
--# For powerpc-darwin it fails with -fgnu-runtime, passes with -fnext-runtime,
--# but that would be too ugly to handle; let it fail there.
-
- if { ([istarget x86_64-*-linux*] && [check_effective_target_lp64] )
- || [istarget powerpc*-*-linux*]
-@@ -15,4 +13,21 @@
- set torture_execute_xfail "*-*-*"
- }
+--- gcc/testsuite/gcc.target/i386/pr35767-2i.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr35767-2i.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+# For darwin and alpha-linux it fails with -fgnu-runtime,
-+# passes with -fnext-runtime.
-+
-+if { ([istarget x86_64-*-darwin*] && [check_effective_target_lp64] )
-+ || [istarget powerpc*-*-darwin*]
-+ || [istarget alpha*-*-linux*] } {
-+ set torture_eval_before_execute {
-+ global compiler_conditional_xfail_data
-+ set compiler_conditional_xfail_data {
-+ "Target fails with -fgnu-runtime" \
-+ "*-*-*" \
-+ { "-fgnu-runtime" } \
-+ { "" }
-+ }
-+ }
-+}
-+
- return 0
-Index: gcc/cp/ChangeLog
+ #include "sse2-check.h"
+
+Index: gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c
===================================================================
---- gcc/cp/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,15 @@
-+2010-02-12 Jason Merrill <jason@redhat.com>
-+
-+ PR c++/43024
-+ * name-lookup.h (current_binding_level): Check for null
-+ cp_function_chain.
-+
-+2010-02-12 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR c++/43033
-+ * name-lookup.c (pushdecl_maybe_friend): Check default args of t
-+ instead of x.
-+
- 2010-01-21 Release Manager
+--- gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psubsb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- * GCC 4.4.3 released.
-Index: gcc/cp/name-lookup.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32961.c
===================================================================
---- gcc/cp/name-lookup.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/cp/name-lookup.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Definitions for C++ name lookup routines.
-- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
+--- gcc/testsuite/gcc.target/i386/pr32961.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32961.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O0 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -840,8 +840,8 @@
- add_decl_to_level (x, NAMESPACE_LEVEL (CP_DECL_CONTEXT (t)));
- }
+ #include <xmmintrin.h>
-- if (TREE_CODE (x) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (x))
-- check_default_args (x);
-+ if (TREE_CODE (t) == FUNCTION_DECL || DECL_FUNCTION_TEMPLATE_P (t))
-+ check_default_args (t);
+Index: gcc/testsuite/gcc.target/i386/sse2-movq-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movq-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movq-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
- if (t != x || DECL_FUNCTION_TEMPLATE_P (t))
- POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
-Index: gcc/cp/name-lookup.h
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse-4.c
===================================================================
---- gcc/cp/name-lookup.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/cp/name-lookup.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -263,7 +263,7 @@
- /* The binding level currently in effect. */
+--- gcc/testsuite/gcc.target/i386/sse-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* This testcase caused a buffer overflow in simplify_immed_subreg. */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- #define current_binding_level \
-- (*(cfun && cp_function_chain->bindings \
-+ (*(cfun && cp_function_chain && cp_function_chain->bindings \
- ? &cp_function_chain->bindings \
- : &scope_chain->bindings))
+ #include <emmintrin.h>
-Index: gcc/tree-ssa-ccp.c
+Index: gcc/testsuite/gcc.target/i386/incoming-4.c
===================================================================
---- gcc/tree-ssa-ccp.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Conditional constant propagation pass for the GNU compiler.
-- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-- Free Software Foundation, Inc.
-+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-+ 2010 Free Software Foundation, Inc.
- Adapted from original RTL SSA-CCP by Daniel Berlin <dberlin@dberlin.org>
- Adapted to GIMPLE trees by Diego Novillo <dnovillo@redhat.com>
-
-@@ -2979,7 +2979,10 @@
- continue;
-
- callee = gimple_call_fndecl (stmt);
-- if (!callee || DECL_BUILT_IN_CLASS (callee) != BUILT_IN_NORMAL)
-+ if (!callee
-+ || DECL_BUILT_IN_CLASS (callee) != BUILT_IN_NORMAL
-+ /* All regular builtins are ok, just obviously not alloca. */
-+ || DECL_FUNCTION_CODE (callee) == BUILT_IN_ALLOCA)
- return NULL_TREE;
-
- if (DECL_FUNCTION_CODE (callee) == BUILT_IN_STACK_RESTORE)
-Index: gcc/dojump.c
-===================================================================
---- gcc/dojump.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/dojump.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Convert tree expression to rtl instructions, for GNU compiler.
- Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+--- gcc/testsuite/gcc.target/i386/incoming-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/incoming-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do compile { target { { ! *-*-darwin* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
- This file is part of GCC.
-@@ -35,13 +35,22 @@
- #include "langhooks.h"
- #include "ggc.h"
- #include "basic-block.h"
-+#include "output.h"
-
- static bool prefer_and_bit_test (enum machine_mode, int);
--static void do_jump_by_parts_greater (tree, int, rtx, rtx);
--static void do_jump_by_parts_equality (tree, rtx, rtx);
-+static void do_jump_by_parts_greater (tree, int, rtx, rtx, int);
-+static void do_jump_by_parts_equality (tree, rtx, rtx, int);
- static void do_compare_and_jump (tree, enum rtx_code, enum rtx_code, rtx,
-- rtx);
-+ rtx, int);
-
-+/* Invert probability if there is any. -1 stands for unknown. */
-+
-+static inline int
-+inv (int prob)
-+{
-+ return prob == -1 ? -1 : REG_BR_PROB_BASE - prob;
-+}
-+
- /* At the start of a function, record that we have no previously-pushed
- arguments waiting to be popped. */
+ #include <stdarg.h>
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2si-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2" } */
-@@ -96,17 +105,17 @@
- functions here. */
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-epi32-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void
--jumpifnot (tree exp, rtx label)
-+jumpifnot (tree exp, rtx label, int prob)
- {
-- do_jump (exp, label, NULL_RTX);
-+ do_jump (exp, label, NULL_RTX, inv (prob));
- }
+ #include "sse2-check.h"
- /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpeqw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- void
--jumpif (tree exp, rtx label)
-+jumpif (tree exp, rtx label, int prob)
- {
-- do_jump (exp, NULL_RTX, label);
-+ do_jump (exp, NULL_RTX, label, prob);
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse3-movddup.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse3-movddup.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse3-movddup.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do run } */
++/* { dg-require-effective-target sse3 } */
+ /* { dg-options "-O2 -msse3 -mfpmath=sse" } */
- /* Used internally by prefer_and_bit_test. */
-@@ -156,10 +165,12 @@
+ #ifndef CHECK_H
+Index: gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmovmskb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- do_jump always does any pending stack adjust except when it does not
- actually perform a jump. An example where there is no jump
-- is when EXP is `(foo (), 0)' and IF_FALSE_LABEL is null. */
-+ is when EXP is `(foo (), 0)' and IF_FALSE_LABEL is null.
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-punpckldq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+ PROB is probability of jump to if_true_label, or -1 if unknown. */
-+
- void
--do_jump (tree exp, rtx if_false_label, rtx if_true_label)
-+do_jump (tree exp, rtx if_false_label, rtx if_true_label, int prob)
- {
- enum tree_code code = TREE_CODE (exp);
- rtx temp;
-@@ -206,11 +217,12 @@
- case LROTATE_EXPR:
- case RROTATE_EXPR:
- /* These cannot change zero->nonzero or vice versa. */
-- do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label, prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-4.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sseregparm-4.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
- case TRUTH_NOT_EXPR:
-- do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label);
-+ do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label,
-+ inv (prob));
- break;
+ /* Make sure we know that mysinfp returns in %xmm0. */
- case COND_EXPR:
-@@ -226,10 +238,10 @@
- }
+Index: gcc/testsuite/gcc.target/i386/pr43671.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr43671.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr43671.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,27 @@
++/* { dg-do run } */
++/* { dg-require-effective-target ilp32 } */
++/* { dg-options "-mtune=i686 -O1 -fpeel-loops -fschedule-insns2 -ftree-vectorize -fsched2-use-superblocks" } */
++
++extern void abort ();
++
++int main ()
++{
++ struct {
++ char ca[16];
++ } s;
++ int i;
++
++ for (i = 0; i < 16; i++)
++ {
++ s.ca[i] = 5;
++ }
++
++
++ for (i = 0; i < 16; i++)
++ {
++ if (s.ca[i] != 5)
++ abort ();
++ }
++
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssetype-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssetype-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ssetype-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* This test checks for absolute memory operands. */
+ /* { dg-require-effective-target nonpic } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
+ /* { dg-final { scan-assembler "pand\[^\\n\]*magic" } } */
+ /* { dg-final { scan-assembler "pandn\[^\\n\]*magic" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movlpd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- do_pending_stack_adjust ();
-- do_jump (TREE_OPERAND (exp, 0), label1, NULL_RTX);
-- do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), label1, NULL_RTX, -1);
-+ do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob);
- emit_label (label1);
-- do_jump (TREE_OPERAND (exp, 2), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 2), if_false_label, if_true_label, prob);
- break;
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v16qi-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -261,7 +273,8 @@
- && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code
- != CODE_FOR_nothing))
- {
-- do_jump (fold_convert (type, exp), if_false_label, if_true_label);
-+ do_jump (fold_convert (type, exp), if_false_label, if_true_label,
-+ prob);
- break;
- }
- goto normal;
-@@ -277,12 +290,14 @@
- != MODE_COMPLEX_INT);
-
- if (integer_zerop (TREE_OPERAND (exp, 1)))
-- do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label);
-+ do_jump (TREE_OPERAND (exp, 0), if_true_label, if_false_label,
-+ inv (prob));
- else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT
- && !can_compare_p (EQ, TYPE_MODE (inner_type), ccp_jump))
-- do_jump_by_parts_equality (exp, if_false_label, if_true_label);
-+ do_jump_by_parts_equality (exp, if_false_label, if_true_label, prob);
- else
-- do_compare_and_jump (exp, EQ, EQ, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, EQ, EQ, if_false_label, if_true_label,
-+ prob);
- break;
- }
+ #include "sse2-check.h"
-@@ -302,12 +317,14 @@
- != MODE_COMPLEX_INT);
-
- if (integer_zerop (TREE_OPERAND (exp, 1)))
-- do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label, prob);
- else if (GET_MODE_CLASS (TYPE_MODE (inner_type)) == MODE_INT
- && !can_compare_p (NE, TYPE_MODE (inner_type), ccp_jump))
-- do_jump_by_parts_equality (exp, if_true_label, if_false_label);
-+ do_jump_by_parts_equality (exp, if_true_label, if_false_label,
-+ inv (prob));
- else
-- do_compare_and_jump (exp, NE, NE, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, NE, NE, if_false_label, if_true_label,
-+ prob);
- break;
- }
+Index: gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-set-v8hi-1a.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mtune=core2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -315,36 +332,43 @@
- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- if (GET_MODE_CLASS (mode) == MODE_INT
- && ! can_compare_p (LT, mode, ccp_jump))
-- do_jump_by_parts_greater (exp, 1, if_false_label, if_true_label);
-+ do_jump_by_parts_greater (exp, 1, if_false_label, if_true_label, prob);
- else
-- do_compare_and_jump (exp, LT, LTU, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, LT, LTU, if_false_label, if_true_label,
-+ prob);
- break;
+ #define CHECK_H "sse2-check.h"
+ #define TEST sse2_test
+Index: gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-maxpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case LE_EXPR:
- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- if (GET_MODE_CLASS (mode) == MODE_INT
- && ! can_compare_p (LE, mode, ccp_jump))
-- do_jump_by_parts_greater (exp, 0, if_true_label, if_false_label);
-+ do_jump_by_parts_greater (exp, 0, if_true_label, if_false_label,
-+ inv (prob));
- else
-- do_compare_and_jump (exp, LE, LEU, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, LE, LEU, if_false_label, if_true_label,
-+ prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-psrld-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrld-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrld-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case GT_EXPR:
- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- if (GET_MODE_CLASS (mode) == MODE_INT
- && ! can_compare_p (GT, mode, ccp_jump))
-- do_jump_by_parts_greater (exp, 0, if_false_label, if_true_label);
-+ do_jump_by_parts_greater (exp, 0, if_false_label, if_true_label,
-+ prob);
- else
-- do_compare_and_jump (exp, GT, GTU, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, GT, GTU, if_false_label, if_true_label,
-+ prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32000-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32000-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32000-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-skip-if "" { ! { ilp32 && dfp } } } */
+ /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
- case GE_EXPR:
- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- if (GET_MODE_CLASS (mode) == MODE_INT
- && ! can_compare_p (GE, mode, ccp_jump))
-- do_jump_by_parts_greater (exp, 1, if_true_label, if_false_label);
-+ do_jump_by_parts_greater (exp, 1, if_true_label, if_false_label,
-+ inv (prob));
- else
-- do_compare_and_jump (exp, GE, GEU, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, GE, GEU, if_false_label, if_true_label,
-+ prob);
- break;
+ #include "sse2-check.h"
- case UNORDERED_EXPR:
-@@ -368,9 +392,10 @@
- do_rev = 1;
-
- if (! do_rev)
-- do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label);
-+ do_compare_and_jump (exp, cmp, cmp, if_false_label, if_true_label, prob);
- else
-- do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label);
-+ do_compare_and_jump (exp, rcmp, rcmp, if_true_label, if_false_label,
-+ inv (prob));
- }
- break;
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -415,7 +440,7 @@
- mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- if (can_compare_p (rcode1, mode, ccp_jump))
- do_compare_and_jump (exp, rcode1, rcode1, if_false_label,
-- if_true_label);
-+ if_true_label, prob);
- else
- {
- tree op0 = save_expr (TREE_OPERAND (exp, 0));
-@@ -429,8 +454,8 @@
-
- cmp0 = fold_build2 (tcode1, TREE_TYPE (exp), op0, op1);
- cmp1 = fold_build2 (tcode2, TREE_TYPE (exp), op0, op1);
-- do_jump (cmp0, 0, if_true_label);
-- do_jump (cmp1, if_false_label, if_true_label);
-+ do_jump (cmp0, 0, if_true_label, prob);
-+ do_jump (cmp1, if_false_label, if_true_label, prob);
- }
- break;
- }
-@@ -443,6 +468,7 @@
- {
- tree exp0 = TREE_OPERAND (exp, 0);
- rtx set_label, clr_label;
-+ int setclr_prob = prob;
-
- /* Strip narrowing integral type conversions. */
- while (CONVERT_EXPR_P (exp0)
-@@ -458,6 +484,7 @@
- exp0 = TREE_OPERAND (exp0, 0);
- clr_label = if_true_label;
- set_label = if_false_label;
-+ setclr_prob = inv (prob);
- }
- else
- {
-@@ -480,7 +507,7 @@
- = (unsigned HOST_WIDE_INT) 1 << TREE_INT_CST_LOW (shift);
- do_jump (build2 (BIT_AND_EXPR, argtype, arg,
- build_int_cst_wide_type (argtype, mask, 0)),
-- clr_label, set_label);
-+ clr_label, set_label, setclr_prob);
- break;
- }
- }
-@@ -503,7 +530,8 @@
- && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code
- != CODE_FOR_nothing))
- {
-- do_jump (fold_convert (type, exp), if_false_label, if_true_label);
-+ do_jump (fold_convert (type, exp), if_false_label, if_true_label,
-+ prob);
- break;
- }
-
-@@ -526,13 +554,13 @@
- if (if_false_label == NULL_RTX)
- {
- drop_through_label = gen_label_rtx ();
-- do_jump (TREE_OPERAND (exp, 0), drop_through_label, NULL_RTX);
-- do_jump (TREE_OPERAND (exp, 1), NULL_RTX, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), drop_through_label, NULL_RTX, prob);
-+ do_jump (TREE_OPERAND (exp, 1), NULL_RTX, if_true_label, prob);
- }
- else
- {
-- do_jump (TREE_OPERAND (exp, 0), if_false_label, NULL_RTX);
-- do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), if_false_label, NULL_RTX, prob);
-+ do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob);
- }
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr42542-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42542-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
-@@ -541,7 +569,7 @@
- /* High branch cost, expand as the bitwise OR of the conditions.
- Do the same if the RHS has side effects, because we're effectively
- turning a TRUTH_OR_EXPR into a TRUTH_ORIF_EXPR. */
-- if (BRANCH_COST (optimize_insn_for_speed_p (), false)>= 4
-+ if (BRANCH_COST (optimize_insn_for_speed_p (), false) >= 4
- || TREE_SIDE_EFFECTS (TREE_OPERAND (exp, 1)))
- goto normal;
-
-@@ -549,13 +577,13 @@
- if (if_true_label == NULL_RTX)
- {
- drop_through_label = gen_label_rtx ();
-- do_jump (TREE_OPERAND (exp, 0), NULL_RTX, drop_through_label);
-- do_jump (TREE_OPERAND (exp, 1), if_false_label, NULL_RTX);
-+ do_jump (TREE_OPERAND (exp, 0), NULL_RTX, drop_through_label, prob);
-+ do_jump (TREE_OPERAND (exp, 1), if_false_label, NULL_RTX, prob);
- }
- else
- {
-- do_jump (TREE_OPERAND (exp, 0), NULL_RTX, if_true_label);
-- do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label);
-+ do_jump (TREE_OPERAND (exp, 0), NULL_RTX, if_true_label, prob);
-+ do_jump (TREE_OPERAND (exp, 1), if_false_label, if_true_label, prob);
- }
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -577,7 +605,7 @@
- do_compare_rtx_and_jump (temp, CONST0_RTX (GET_MODE (temp)),
- NE, TYPE_UNSIGNED (TREE_TYPE (exp)),
- GET_MODE (temp), NULL_RTX,
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- if (drop_through_label)
-@@ -593,7 +621,8 @@
+ #include "sse2-check.h"
- static void
- do_jump_by_parts_greater_rtx (enum machine_mode mode, int unsignedp, rtx op0,
-- rtx op1, rtx if_false_label, rtx if_true_label)
-+ rtx op1, rtx if_false_label, rtx if_true_label,
-+ int prob)
- {
- int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD);
- rtx drop_through_label = 0;
-@@ -625,11 +654,12 @@
- /* All but high-order word must be compared as unsigned. */
- do_compare_rtx_and_jump (op0_word, op1_word, GT,
- (unsignedp || i > 0), word_mode, NULL_RTX,
-- NULL_RTX, if_true_label);
-+ NULL_RTX, if_true_label, prob);
-
- /* Consider lower words only if these are equal. */
- do_compare_rtx_and_jump (op0_word, op1_word, NE, unsignedp, word_mode,
-- NULL_RTX, NULL_RTX, if_false_label);
-+ NULL_RTX, NULL_RTX, if_false_label,
-+ inv (prob));
- }
+Index: gcc/testsuite/gcc.target/i386/ordcmp-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ordcmp-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/ordcmp-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler "cmpordss" } } */
+ /* { dg-final { scan-assembler "cmpordps" } } */
+ /* { dg-final { scan-assembler "cmpordsd" } } */
+Index: gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmulhuw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- if (if_false_label)
-@@ -645,7 +675,7 @@
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sseregparm-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sseregparm-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sseregparm-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-msse2 -O2" } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
- static void
- do_jump_by_parts_greater (tree exp, int swap, rtx if_false_label,
-- rtx if_true_label)
-+ rtx if_true_label, int prob)
- {
- rtx op0 = expand_normal (TREE_OPERAND (exp, swap));
- rtx op1 = expand_normal (TREE_OPERAND (exp, !swap));
-@@ -653,7 +683,7 @@
- int unsignedp = TYPE_UNSIGNED (TREE_TYPE (TREE_OPERAND (exp, 0)));
-
- do_jump_by_parts_greater_rtx (mode, unsignedp, op0, op1, if_false_label,
-- if_true_label);
-+ if_true_label, prob);
- }
- \f
- /* Jump according to whether OP0 is 0. We assume that OP0 has an integer
-@@ -663,7 +693,7 @@
+ /* Make sure we know that mysinfp returns in %xmm0. */
- static void
- do_jump_by_parts_zero_rtx (enum machine_mode mode, rtx op0,
-- rtx if_false_label, rtx if_true_label)
-+ rtx if_false_label, rtx if_true_label, int prob)
- {
- int nwords = GET_MODE_SIZE (mode) / UNITS_PER_WORD;
- rtx part;
-@@ -685,8 +715,7 @@
- if (part != 0)
- {
- do_compare_rtx_and_jump (part, const0_rtx, EQ, 1, word_mode,
-- NULL_RTX, if_false_label, if_true_label);
--
-+ NULL_RTX, if_false_label, if_true_label, prob);
- return;
- }
+Index: gcc/testsuite/gcc.target/i386/push-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/push-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/push-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-w -msse2 -Os" } */
++/* { dg-require-effective-target sse2 } */
-@@ -697,7 +726,7 @@
- for (i = 0; i < nwords; i++)
- do_compare_rtx_and_jump (operand_subword_force (op0, i, mode),
- const0_rtx, EQ, 1, word_mode, NULL_RTX,
-- if_false_label, NULL_RTX);
-+ if_false_label, NULL_RTX, prob);
+ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
- if (if_true_label)
- emit_jump (if_true_label);
-@@ -713,7 +742,7 @@
+Index: gcc/testsuite/gcc.target/i386/pr26449-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr26449-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr26449-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -mtune=k8" } */
++/* { dg-require-effective-target sse2 } */
- static void
- do_jump_by_parts_equality_rtx (enum machine_mode mode, rtx op0, rtx op1,
-- rtx if_false_label, rtx if_true_label)
-+ rtx if_false_label, rtx if_true_label, int prob)
- {
- int nwords = (GET_MODE_SIZE (mode) / UNITS_PER_WORD);
- rtx drop_through_label = 0;
-@@ -721,12 +750,14 @@
+ typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pmuludq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- if (op1 == const0_rtx)
- {
-- do_jump_by_parts_zero_rtx (mode, op0, if_false_label, if_true_label);
-+ do_jump_by_parts_zero_rtx (mode, op0, if_false_label, if_true_label,
-+ prob);
- return;
- }
- else if (op0 == const0_rtx)
- {
-- do_jump_by_parts_zero_rtx (mode, op1, if_false_label, if_true_label);
-+ do_jump_by_parts_zero_rtx (mode, op1, if_false_label, if_true_label,
-+ prob);
- return;
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse-11.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-11.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse-11.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/21239 */
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -737,7 +768,7 @@
- do_compare_rtx_and_jump (operand_subword_force (op0, i, mode),
- operand_subword_force (op1, i, mode),
- EQ, 0, word_mode, NULL_RTX,
-- if_false_label, NULL_RTX);
-+ if_false_label, NULL_RTX, prob);
+ #include "sse2-check.h"
- if (if_true_label)
- emit_jump (if_true_label);
-@@ -749,13 +780,14 @@
- with one insn, test the comparison and jump to the appropriate label. */
+Index: gcc/testsuite/gcc.target/i386/vararg-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2,6 +2,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-w" { target { lp64 } } } */
+ /* { dg-options "-w -msse2 -mpreferred-stack-boundary=2" { target { ilp32 } } } */
++/* { dg-require-effective-target sse2 } */
- static void
--do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label)
-+do_jump_by_parts_equality (tree exp, rtx if_false_label, rtx if_true_label,
-+ int prob)
- {
- rtx op0 = expand_normal (TREE_OPERAND (exp, 0));
- rtx op1 = expand_normal (TREE_OPERAND (exp, 1));
- enum machine_mode mode = TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
- do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label,
-- if_true_label);
-+ if_true_label, prob);
- }
- \f
- /* Generate code for a comparison of OP0 and OP1 with rtx code CODE.
-@@ -825,7 +857,7 @@
- void
- do_compare_rtx_and_jump (rtx op0, rtx op1, enum rtx_code code, int unsignedp,
- enum machine_mode mode, rtx size, rtx if_false_label,
-- rtx if_true_label)
-+ rtx if_true_label, int prob)
- {
- rtx tem;
- int dummy_true_label = 0;
-@@ -837,6 +869,7 @@
- if_true_label = if_false_label;
- if_false_label = 0;
- code = reverse_condition (code);
-+ prob = inv (prob);
- }
+ #include "sse2-check.h"
+ #include <stdarg.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-cvtsd2ss-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* If one operand is constant, make it the second one. Only do this
-@@ -886,52 +919,56 @@
- {
- case LTU:
- do_jump_by_parts_greater_rtx (mode, 1, op1, op0,
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-mulpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case LEU:
- do_jump_by_parts_greater_rtx (mode, 1, op0, op1,
-- if_true_label, if_false_label);
-+ if_true_label, if_false_label,
-+ inv (prob));
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pcmpgtb-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case GTU:
- do_jump_by_parts_greater_rtx (mode, 1, op0, op1,
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case GEU:
- do_jump_by_parts_greater_rtx (mode, 1, op1, op0,
-- if_true_label, if_false_label);
-+ if_true_label, if_false_label,
-+ inv (prob));
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32280.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr32280.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32280.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case LT:
- do_jump_by_parts_greater_rtx (mode, 0, op1, op0,
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- break;
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
- case LE:
- do_jump_by_parts_greater_rtx (mode, 0, op0, op1,
-- if_true_label, if_false_label);
-+ if_true_label, if_false_label,
-+ inv (prob));
- break;
+Index: gcc/testsuite/gcc.target/i386/pr42542-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr42542-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr42542-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O1 -msse2 -ftree-vectorize" } */
++/* { dg-require-effective-target sse2 } */
- case GT:
- do_jump_by_parts_greater_rtx (mode, 0, op0, op1,
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-init-v8hi-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case GE:
- do_jump_by_parts_greater_rtx (mode, 0, op1, op0,
-- if_true_label, if_false_label);
-+ if_true_label, if_false_label,
-+ inv (prob));
- break;
+ #include "sse2-check.h"
- case EQ:
- do_jump_by_parts_equality_rtx (mode, op0, op1, if_false_label,
-- if_true_label);
-+ if_true_label, prob);
- break;
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- case NE:
- do_jump_by_parts_equality_rtx (mode, op0, op1, if_true_label,
-- if_false_label);
-+ if_false_label, inv (prob));
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/20060512-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/20060512-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/20060512-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ilp32 } */
+ /* { dg-options "-std=gnu99 -msse2 -mpreferred-stack-boundary=4" } */
++/* { dg-require-effective-target sse2 } */
- default:
-@@ -939,8 +976,32 @@
- }
- }
- else
-- emit_cmp_and_jump_insns (op0, op1, code, size, mode, unsignedp,
-- if_true_label);
-+ {
-+ rtx last = get_last_insn ();
-+ emit_cmp_and_jump_insns (op0, op1, code, size, mode, unsignedp,
-+ if_true_label);
-+ if (prob != -1 && profile_status != PROFILE_ABSENT)
-+ {
-+ for (last = NEXT_INSN (last);
-+ last && NEXT_INSN (last);
-+ last = NEXT_INSN (last))
-+ if (JUMP_P (last))
-+ break;
-+ if (!last
-+ || !JUMP_P (last)
-+ || NEXT_INSN (last)
-+ || !any_condjump_p (last))
-+ {
-+ if (dump_file)
-+ fprintf (dump_file, "Failed to add probability note\n");
-+ }
-+ else
-+ {
-+ gcc_assert (!find_reg_note (last, REG_BR_PROB, 0));
-+ add_reg_note (last, REG_BR_PROB, GEN_INT (prob));
-+ }
-+ }
-+ }
+ #include "sse2-check.h"
- if (if_false_label)
- emit_jump (if_false_label);
-@@ -961,7 +1022,7 @@
- static void
- do_compare_and_jump (tree exp, enum rtx_code signed_code,
- enum rtx_code unsigned_code, rtx if_false_label,
-- rtx if_true_label)
-+ rtx if_true_label, int prob)
- {
- rtx op0, op1;
- tree type;
-@@ -1022,7 +1083,7 @@
- do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode,
- ((mode == BLKmode)
- ? expr_size (TREE_OPERAND (exp, 0)) : NULL_RTX),
-- if_false_label, if_true_label);
-+ if_false_label, if_true_label, prob);
- }
+Index: gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movhpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
- #include "gt-dojump.h"
-Index: gcc/ipa-inline.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr36992-1.c
===================================================================
---- gcc/ipa-inline.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/ipa-inline.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1418,7 +1418,10 @@
- }
+--- gcc/testsuite/gcc.target/i386/pr36992-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr36992-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile }
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* Now do the automatic inlining. */
-- if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE)
-+ if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE
-+ /* Never inline regular functions into always-inline functions
-+ during incremental inlining. */
-+ && !node->local.disregard_inline_limits)
- for (e = node->callees; e; e = e->next_callee)
- {
- if (!e->callee->local.inlinable
-@@ -1606,17 +1609,17 @@
- node->global.stack_frame_offset = 0;
-
- /* Can this function be inlined at all? */
-- node->local.inlinable = tree_inlinable_function_p (current_function_decl);
-+ node->local.inlinable = tree_inlinable_function_p (node->decl);
-
- /* Estimate the number of instructions for this function.
- ??? At -O0 we don't use this information except for the dumps, and
- even then only for always_inline functions. But disabling this
- causes ICEs in the inline heuristics... */
- inline_summary (node)->self_insns
-- = estimate_num_insns_fn (current_function_decl, &eni_inlining_weights);
-+ = estimate_num_insns_fn (node->decl, &eni_inlining_weights);
- if (node->local.inlinable && !node->local.disregard_inline_limits)
- node->local.disregard_inline_limits
-- = DECL_DISREGARD_INLINE_LIMITS (current_function_decl);
-+ = DECL_DISREGARD_INLINE_LIMITS (node->decl);
-
- /* Inlining characteristics are maintained by the cgraph_mark_inline. */
- node->global.insns = inline_summary (node)->self_insns;
-Index: gcc/dwarf2out.c
-===================================================================
---- gcc/dwarf2out.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/dwarf2out.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -13222,7 +13222,9 @@
- int i;
-
- for (i = VEC_length (tree, incomplete_types) - 1; i >= 0; i--)
-- gen_type_die (VEC_index (tree, incomplete_types, i), comp_unit_die);
-+ if (should_emit_struct_debug (VEC_index (tree, incomplete_types, i),
-+ DINFO_USAGE_DIR_USE))
-+ gen_type_die (VEC_index (tree, incomplete_types, i), comp_unit_die);
- }
+ #include <emmintrin.h>
- /* Determine what tag to use for a record type. */
-Index: gcc/expr.c
-===================================================================
---- gcc/expr.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/expr.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -4483,7 +4483,7 @@
-
- do_pending_stack_adjust ();
- NO_DEFER_POP;
-- jumpifnot (TREE_OPERAND (exp, 0), lab1);
-+ jumpifnot (TREE_OPERAND (exp, 0), lab1, -1);
- store_expr (TREE_OPERAND (exp, 1), target, call_param_p,
- nontemporal);
- emit_jump_insn (gen_jump (lab2));
-@@ -5503,7 +5503,7 @@
- /* Generate a conditional jump to exit the loop. */
- exit_cond = build2 (LT_EXPR, integer_type_node,
- index, hi_index);
-- jumpif (exit_cond, loop_end);
-+ jumpif (exit_cond, loop_end, -1);
-
- /* Update the loop counter, and jump to the head of
- the loop. */
-@@ -8974,7 +8974,8 @@
-
- temp = gen_label_rtx ();
- do_compare_rtx_and_jump (target, cmpop1, comparison_code,
-- unsignedp, mode, NULL_RTX, NULL_RTX, temp);
-+ unsignedp, mode, NULL_RTX, NULL_RTX, temp,
-+ -1);
- }
- emit_move_insn (target, op1);
- emit_label (temp);
-@@ -9125,7 +9126,7 @@
- emit_move_insn (target, const0_rtx);
-
- op1 = gen_label_rtx ();
-- jumpifnot (exp, op1);
-+ jumpifnot (exp, op1, -1);
-
- if (target)
- emit_move_insn (target, const1_rtx);
-@@ -9194,7 +9195,7 @@
- NO_DEFER_POP;
- op0 = gen_label_rtx ();
- op1 = gen_label_rtx ();
-- jumpifnot (TREE_OPERAND (exp, 0), op0);
-+ jumpifnot (TREE_OPERAND (exp, 0), op0, -1);
- store_expr (TREE_OPERAND (exp, 1), temp,
- modifier == EXPAND_STACK_PARM,
- false);
-@@ -9240,7 +9241,7 @@
- int value = TREE_CODE (rhs) == BIT_IOR_EXPR;
- do_jump (TREE_OPERAND (rhs, 1),
- value ? label : 0,
-- value ? 0 : label);
-+ value ? 0 : label, -1);
- expand_assignment (lhs, build_int_cst (TREE_TYPE (rhs), value),
- MOVE_NONTEMPORAL (exp));
- do_pending_stack_adjust ();
-@@ -9924,7 +9925,7 @@
- emit_move_insn (target, invert ? const0_rtx : const1_rtx);
- label = gen_label_rtx ();
- do_compare_rtx_and_jump (op0, op1, code, unsignedp, operand_mode, NULL_RTX,
-- NULL_RTX, label);
-+ NULL_RTX, label, -1);
-
- emit_move_insn (target, invert ? const1_rtx : const0_rtx);
- emit_label (label);
-Index: gcc/expr.h
-===================================================================
---- gcc/expr.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/expr.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Definitions for code generation pass of GNU compiler.
- Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+Index: gcc/testsuite/gcc.target/i386/sse2-psllw-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psllw-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psllw-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- This file is part of GCC.
-@@ -564,20 +564,20 @@
- extern tree string_constant (tree, tree *);
-
- /* Generate code to evaluate EXP and jump to LABEL if the value is zero. */
--extern void jumpifnot (tree, rtx);
-+extern void jumpifnot (tree, rtx, int);
-
- /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */
--extern void jumpif (tree, rtx);
-+extern void jumpif (tree, rtx, int);
-
- /* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if
- the result is zero, or IF_TRUE_LABEL if the result is one. */
--extern void do_jump (tree, rtx, rtx);
-+extern void do_jump (tree, rtx, rtx, int);
-
- /* Generate rtl to compare two rtx's, will call emit_cmp_insn. */
- extern rtx compare_from_rtx (rtx, rtx, enum rtx_code, int, enum machine_mode,
- rtx);
- extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int,
-- enum machine_mode, rtx, rtx, rtx);
-+ enum machine_mode, rtx, rtx, rtx, int);
-
- /* Two different ways of generating switch statements. */
- extern int try_casesi (tree, tree, tree, tree, rtx, rtx, rtx);
-Index: gcc/ada/ChangeLog
-===================================================================
---- gcc/ada/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/ada/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,10 @@
-+2010-02-27 Eric Botcazou <ebotcazou@adacore.com>
-+
-+ PR ada/42253
-+ * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
-+ pointer base types are variant of each other. Apply special treatment
-+ for null to fat pointer types in all cases.
-+
- 2010-01-21 Release Manager
-
- * GCC 4.4.3 released.
-Index: gcc/ada/gcc-interface/utils2.c
-===================================================================
---- gcc/ada/gcc-interface/utils2.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/ada/gcc-interface/utils2.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -879,26 +879,28 @@
- return result;
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/funcspec-9.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/funcspec-9.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/funcspec-9.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* Test whether using target specific options, we can generate SSE5 code. */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -march=k8 -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
-- /* Otherwise, the base types must be the same unless the objects are
-- fat pointers or records. If we have records, use the best type and
-- convert both operands to that type. */
-+ /* Otherwise, the base types must be the same, unless they are both fat
-+ pointer types or record types. In the latter case, use the best type
-+ and convert both operands to that type. */
- if (left_base_type != right_base_type)
- {
- if (TYPE_FAT_POINTER_P (left_base_type)
-- && TYPE_FAT_POINTER_P (right_base_type)
-- && TYPE_MAIN_VARIANT (left_base_type)
-- == TYPE_MAIN_VARIANT (right_base_type))
-- best_type = left_base_type;
-+ && TYPE_FAT_POINTER_P (right_base_type))
-+ {
-+ gcc_assert (TYPE_MAIN_VARIANT (left_base_type)
-+ == TYPE_MAIN_VARIANT (right_base_type));
-+ best_type = left_base_type;
-+ }
-+
- else if (TREE_CODE (left_base_type) == RECORD_TYPE
- && TREE_CODE (right_base_type) == RECORD_TYPE)
- {
-- /* The only way these are permitted to be the same is if both
-- types have the same name. In that case, one of them must
-- not be self-referential. Use that one as the best type.
-- Even better is if one is of fixed size. */
-+ /* The only way this is permitted is if both types have the same
-+ name. In that case, one of them must not be self-referential.
-+ Use it as the best type. Even better with a fixed size. */
- gcc_assert (TYPE_NAME (left_base_type)
-- && (TYPE_NAME (left_base_type)
-- == TYPE_NAME (right_base_type)));
-+ && TYPE_NAME (left_base_type)
-+ == TYPE_NAME (right_base_type));
-
- if (TREE_CONSTANT (TYPE_SIZE (left_base_type)))
- best_type = left_base_type;
-@@ -911,34 +913,34 @@
- else
- gcc_unreachable ();
- }
-+
- else
- gcc_unreachable ();
-
- left_operand = convert (best_type, left_operand);
- right_operand = convert (best_type, right_operand);
- }
--
-- /* If we are comparing a fat pointer against zero, we need to
-- just compare the data pointer. */
-- else if (TYPE_FAT_POINTER_P (left_base_type)
-- && TREE_CODE (right_operand) == CONSTRUCTOR
-- && integer_zerop (VEC_index (constructor_elt,
-- CONSTRUCTOR_ELTS (right_operand),
-- 0)
-- ->value))
-- {
-- right_operand = build_component_ref (left_operand, NULL_TREE,
-- TYPE_FIELDS (left_base_type),
-- false);
-- left_operand = convert (TREE_TYPE (right_operand),
-- integer_zero_node);
-- }
- else
- {
- left_operand = convert (left_base_type, left_operand);
- right_operand = convert (right_base_type, right_operand);
- }
+ extern void exit (int);
-+ /* If we are comparing a fat pointer against zero, we just need to
-+ compare the data pointer. */
-+ if (TYPE_FAT_POINTER_P (left_base_type)
-+ && TREE_CODE (right_operand) == CONSTRUCTOR
-+ && integer_zerop (VEC_index (constructor_elt,
-+ CONSTRUCTOR_ELTS (right_operand),
-+ 0)->value))
-+ {
-+ left_operand
-+ = build_component_ref (left_operand, NULL_TREE,
-+ TYPE_FIELDS (left_base_type), false);
-+ right_operand
-+ = convert (TREE_TYPE (left_operand), integer_zero_node);
-+ }
-+
- modulus = NULL_TREE;
- break;
+Index: gcc/testsuite/gcc.target/i386/sse2-subsd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-subsd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-subsd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/dse.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c
===================================================================
---- gcc/dse.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/dse.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1015,9 +1015,6 @@
- {
- switch (GET_CODE (x))
- {
-- case MEM:
-- return MEM_READONLY_P (x);
--
- case CONST:
- case CONST_INT:
- case CONST_DOUBLE:
-Index: gcc/c-decl.c
+--- gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movntdq-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pxor-1.c
===================================================================
---- gcc/c-decl.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/c-decl.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Process declarations and variables for C compiler.
- Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+--- gcc/testsuite/gcc.target/i386/sse2-pxor-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pxor-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- This file is part of GCC.
-@@ -3735,7 +3735,8 @@
- tree complit;
- tree stmt;
-
-- if (type == error_mark_node)
-+ if (type == error_mark_node
-+ || init == error_mark_node)
- return error_mark_node;
-
- decl = build_decl (VAR_DECL, NULL_TREE, type);
-@@ -5255,6 +5256,11 @@
- type itself. FUNCTION_DECLs appear when there is an implicit
- function declaration in the parameter list. */
-
-+ /* When we reinsert this decl in the function body, we need
-+ to reconstruct whether it was marked as nested. */
-+ gcc_assert (TREE_CODE (decl) == FUNCTION_DECL
-+ ? b->nested
-+ : !b->nested);
- TREE_CHAIN (decl) = others;
- others = decl;
- /* fall through */
-@@ -6372,7 +6378,8 @@
- DECL_CONTEXT (decl) = current_function_decl;
- if (DECL_NAME (decl))
- bind (DECL_NAME (decl), decl, current_scope,
-- /*invisible=*/false, /*nested=*/false);
-+ /*invisible=*/false,
-+ /*nested=*/(TREE_CODE (decl) == FUNCTION_DECL));
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movsd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movsd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movsd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* And all the tag declarations. */
-Index: gcc/fortran/trans-expr.c
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-pandn-1.c
===================================================================
---- gcc/fortran/trans-expr.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/trans-expr.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2118,8 +2118,8 @@
- an actual argument derived type array is copied and then returned
- after the function call. */
- void
--gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr,
-- int g77, sym_intent intent)
-+gfc_conv_subref_array_arg (gfc_se * parmse, gfc_expr * expr, int g77,
-+ sym_intent intent, bool formal_ptr)
- {
- gfc_se lse;
- gfc_se rse;
-@@ -2132,8 +2132,10 @@
- tree tmp_index;
- tree tmp;
- tree base_type;
-+ tree size;
- stmtblock_t body;
- int n;
-+ int dimen;
-
- gcc_assert (expr->expr_type == EXPR_VARIABLE);
-
-@@ -2262,9 +2264,10 @@
- outside the innermost loop, so the overall transfer could be
- optimized further. */
- info = &rse.ss->data.info;
-+ dimen = info->dimen;
-
- tmp_index = gfc_index_zero_node;
-- for (n = info->dimen - 1; n > 0; n--)
-+ for (n = dimen - 1; n > 0; n--)
- {
- tree tmp_str;
- tmp = rse.loop->loopvar[n];
-@@ -2324,6 +2327,38 @@
- if (expr->ts.type == BT_CHARACTER)
- parmse->string_length = expr->ts.cl->backend_decl;
-
-+ /* Determine the offset for pointer formal arguments and set the
-+ lbounds to one. */
-+ if (formal_ptr)
-+ {
-+ size = gfc_index_one_node;
-+ offset = gfc_index_zero_node;
-+ for (n = 0; n < dimen; n++)
-+ {
-+ tmp = gfc_conv_descriptor_ubound (parmse->expr,
-+ gfc_rank_cst[n]);
-+ gfc_add_modify (&parmse->pre, tmp,
-+ fold_build2 (PLUS_EXPR, gfc_array_index_type,
-+ tmp, gfc_index_one_node));
-+ tmp = gfc_conv_descriptor_lbound (parmse->expr,
-+ gfc_rank_cst[n]);
-+ gfc_add_modify (&parmse->pre, tmp, gfc_index_one_node);
-+ size = gfc_evaluate_now (size, &parmse->pre);
-+ offset = fold_build2 (MINUS_EXPR, gfc_array_index_type,
-+ offset, size);
-+ offset = gfc_evaluate_now (offset, &parmse->pre);
-+ tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type,
-+ rse.loop->to[n], rse.loop->from[n]);
-+ tmp = fold_build2 (PLUS_EXPR, gfc_array_index_type,
-+ tmp, gfc_index_one_node);
-+ size = fold_build2 (MULT_EXPR, gfc_array_index_type,
-+ size, tmp);
-+ }
-+
-+ tmp = gfc_conv_descriptor_offset (parmse->expr);
-+ gfc_add_modify (&parmse->pre, tmp, offset);
-+ }
-+
- /* We want either the address for the data or the address of the descriptor,
- depending on the mode of passing array arguments. */
- if (g77)
-@@ -2666,7 +2701,8 @@
- is converted to a temporary, which is passed and then
- written back after the procedure call. */
- gfc_conv_subref_array_arg (&parmse, e, f,
-- fsym ? fsym->attr.intent : INTENT_INOUT);
-+ fsym ? fsym->attr.intent : INTENT_INOUT,
-+ fsym && fsym->attr.pointer);
- else
- gfc_conv_array_parameter (&parmse, e, argss, f, fsym,
- sym->name);
-@@ -3518,6 +3554,150 @@
- }
+--- gcc/testsuite/gcc.target/i386/sse2-pandn-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-pandn-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/vararg-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/vararg-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/vararg-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+static tree
-+gfc_trans_alloc_subarray_assign (tree dest, gfc_component * cm,
-+ gfc_expr * expr)
-+{
-+ gfc_se se;
-+ gfc_ss *rss;
-+ stmtblock_t block;
-+ tree offset;
-+ int n;
-+ tree tmp;
-+ tree tmp2;
-+ gfc_array_spec *as;
-+ gfc_expr *arg = NULL;
-+
-+ gfc_start_block (&block);
-+ gfc_init_se (&se, NULL);
-+
-+ /* Get the descriptor for the expressions. */
-+ rss = gfc_walk_expr (expr);
-+ se.want_pointer = 0;
-+ gfc_conv_expr_descriptor (&se, expr, rss);
-+ gfc_add_block_to_block (&block, &se.pre);
-+ gfc_add_modify (&block, dest, se.expr);
-+
-+ /* Deal with arrays of derived types with allocatable components. */
-+ if (cm->ts.type == BT_DERIVED
-+ && cm->ts.derived->attr.alloc_comp)
-+ tmp = gfc_copy_alloc_comp (cm->ts.derived,
-+ se.expr, dest,
-+ cm->as->rank);
-+ else
-+ tmp = gfc_duplicate_allocatable (dest, se.expr,
-+ TREE_TYPE(cm->backend_decl),
-+ cm->as->rank);
-+
-+ gfc_add_expr_to_block (&block, tmp);
-+ gfc_add_block_to_block (&block, &se.post);
-+
-+ if (expr->expr_type != EXPR_VARIABLE)
-+ gfc_conv_descriptor_data_set (&block, se.expr,
-+ null_pointer_node);
-+
-+ /* We need to know if the argument of a conversion function is a
-+ variable, so that the correct lower bound can be used. */
-+ if (expr->expr_type == EXPR_FUNCTION
-+ && expr->value.function.isym
-+ && expr->value.function.isym->conversion
-+ && expr->value.function.actual->expr
-+ && expr->value.function.actual->expr->expr_type == EXPR_VARIABLE)
-+ arg = expr->value.function.actual->expr;
-+
-+ /* Obtain the array spec of full array references. */
-+ if (arg)
-+ as = gfc_get_full_arrayspec_from_expr (arg);
-+ else
-+ as = gfc_get_full_arrayspec_from_expr (expr);
-+
-+ /* Shift the lbound and ubound of temporaries to being unity,
-+ rather than zero, based. Always calculate the offset. */
-+ offset = gfc_conv_descriptor_offset (dest);
-+ gfc_add_modify (&block, offset, gfc_index_zero_node);
-+ tmp2 =gfc_create_var (gfc_array_index_type, NULL);
-+
-+ for (n = 0; n < expr->rank; n++)
-+ {
-+ tree span;
-+ tree lbound;
-+ tree ubound;
-+
-+ /* Obtain the correct lbound - ISO/IEC TR 15581:2001 page 9.
-+ TODO It looks as if gfc_conv_expr_descriptor should return
-+ the correct bounds and that the following should not be
-+ necessary. This would simplify gfc_conv_intrinsic_bound
-+ as well. */
-+ if (as && as->lower[n])
-+ {
-+ gfc_se lbse;
-+ gfc_init_se (&lbse, NULL);
-+ gfc_conv_expr (&lbse, as->lower[n]);
-+ gfc_add_block_to_block (&block, &lbse.pre);
-+ lbound = gfc_evaluate_now (lbse.expr, &block);
-+ }
-+ else if (as && arg)
-+ {
-+ tmp = gfc_get_symbol_decl (arg->symtree->n.sym);
-+ lbound = gfc_conv_descriptor_lbound (tmp, gfc_rank_cst[n]);
-+ }
-+ else if (as)
-+ lbound = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]);
-+ else
-+ lbound = gfc_index_one_node;
-+
-+ lbound = fold_convert (gfc_array_index_type, lbound);
-+
-+ /* Shift the bounds and set the offset accordingly. */
-+ tmp = gfc_conv_descriptor_ubound (dest, gfc_rank_cst[n]);
-+ span = fold_build2 (MINUS_EXPR, gfc_array_index_type, tmp,
-+ gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]));
-+
-+ ubound = fold_build2 (PLUS_EXPR, gfc_array_index_type,
-+ span, lbound);
-+ gfc_add_modify (&block, tmp, ubound);
-+
-+ tmp = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]);
-+ gfc_add_modify (&block, tmp, lbound);
-+
-+ tmp = fold_build2 (MULT_EXPR, gfc_array_index_type,
-+ gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]),
-+ gfc_conv_descriptor_stride (dest, gfc_rank_cst[n]));
-+
-+ gfc_add_modify (&block, tmp2, tmp);
-+ tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type,
-+ offset, tmp2);
-+ gfc_add_modify (&block, offset, tmp);
-+ }
-+
-+ if (arg)
-+ {
-+ /* If a conversion expression has a null data pointer
-+ argument, nullify the allocatable component. */
-+ tree non_null_expr;
-+ tree null_expr;
-+
-+ if (arg->symtree->n.sym->attr.allocatable
-+ || arg->symtree->n.sym->attr.pointer)
-+ {
-+ non_null_expr = gfc_finish_block (&block);
-+ gfc_start_block (&block);
-+ gfc_conv_descriptor_data_set (&block, dest,
-+ null_pointer_node);
-+ null_expr = gfc_finish_block (&block);
-+ tmp = gfc_conv_descriptor_data_get (arg->symtree->n.sym->backend_decl);
-+ tmp = build2 (EQ_EXPR, boolean_type_node, tmp,
-+ fold_convert (TREE_TYPE (tmp),
-+ null_pointer_node));
-+ return build3_v (COND_EXPR, tmp,
-+ null_expr, non_null_expr);
-+ }
-+ }
-+
-+ return gfc_finish_block (&block);
-+}
-+
-+
- /* Assign a single component of a derived type constructor. */
+ #include <stdarg.h>
+ #include <assert.h>
+Index: gcc/testsuite/gcc.target/i386/3dnow-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/3dnow-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-do assemble } */
++/* { dg-require-effective-target 3dnow } */
+ /* { dg-options "-O0 -Werror-implicit-function-declaration -m3dnow" } */
- static tree
-@@ -3528,8 +3708,6 @@
- gfc_ss *rss;
- stmtblock_t block;
- tree tmp;
-- tree offset;
-- int n;
+ /* Test that the intrinsics compile without optimization. All of them are
+Index: gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movdqa-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- gfc_start_block (&block);
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/reload-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/reload-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/reload-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */
-@@ -3569,91 +3747,8 @@
- gfc_conv_descriptor_data_set (&block, dest, null_pointer_node);
- else if (cm->attr.allocatable)
- {
-- tree tmp2;
--
-- gfc_init_se (&se, NULL);
--
-- rss = gfc_walk_expr (expr);
-- se.want_pointer = 0;
-- gfc_conv_expr_descriptor (&se, expr, rss);
-- gfc_add_block_to_block (&block, &se.pre);
--
-- tmp = fold_convert (TREE_TYPE (dest), se.expr);
-- gfc_add_modify (&block, dest, tmp);
--
-- if (cm->ts.type == BT_DERIVED && cm->ts.derived->attr.alloc_comp)
-- tmp = gfc_copy_alloc_comp (cm->ts.derived, se.expr, dest,
-- cm->as->rank);
-- else
-- tmp = gfc_duplicate_allocatable (dest, se.expr,
-- TREE_TYPE(cm->backend_decl),
-- cm->as->rank);
--
-+ tmp = gfc_trans_alloc_subarray_assign (dest, cm, expr);
- gfc_add_expr_to_block (&block, tmp);
-- gfc_add_block_to_block (&block, &se.post);
--
-- if (expr->expr_type != EXPR_VARIABLE)
-- gfc_conv_descriptor_data_set (&block, se.expr, null_pointer_node);
--
-- /* Shift the lbound and ubound of temporaries to being unity, rather
-- than zero, based. Calculate the offset for all cases. */
-- offset = gfc_conv_descriptor_offset (dest);
-- gfc_add_modify (&block, offset, gfc_index_zero_node);
-- tmp2 =gfc_create_var (gfc_array_index_type, NULL);
-- for (n = 0; n < expr->rank; n++)
-- {
-- if (expr->expr_type != EXPR_VARIABLE
-- && expr->expr_type != EXPR_CONSTANT)
-- {
-- tree span;
-- tmp = gfc_conv_descriptor_ubound (dest, gfc_rank_cst[n]);
-- span = fold_build2 (MINUS_EXPR, gfc_array_index_type, tmp,
-- gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]));
-- gfc_add_modify (&block, tmp,
-- fold_build2 (PLUS_EXPR,
-- gfc_array_index_type,
-- span, gfc_index_one_node));
-- tmp = gfc_conv_descriptor_lbound (dest, gfc_rank_cst[n]);
-- gfc_add_modify (&block, tmp, gfc_index_one_node);
-- }
-- tmp = fold_build2 (MULT_EXPR, gfc_array_index_type,
-- gfc_conv_descriptor_lbound (dest,
-- gfc_rank_cst[n]),
-- gfc_conv_descriptor_stride (dest,
-- gfc_rank_cst[n]));
-- gfc_add_modify (&block, tmp2, tmp);
-- tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type, offset, tmp2);
-- gfc_add_modify (&block, offset, tmp);
-- }
--
-- if (expr->expr_type == EXPR_FUNCTION
-- && expr->value.function.isym
-- && expr->value.function.isym->conversion
-- && expr->value.function.actual->expr
-- && expr->value.function.actual->expr->expr_type
-- == EXPR_VARIABLE)
-- {
-- /* If a conversion expression has a null data pointer
-- argument, nullify the allocatable component. */
-- gfc_symbol *s;
-- tree non_null_expr;
-- tree null_expr;
-- s = expr->value.function.actual->expr->symtree->n.sym;
-- if (s->attr.allocatable || s->attr.pointer)
-- {
-- non_null_expr = gfc_finish_block (&block);
-- gfc_start_block (&block);
-- gfc_conv_descriptor_data_set (&block, dest,
-- null_pointer_node);
-- null_expr = gfc_finish_block (&block);
-- tmp = gfc_conv_descriptor_data_get (s->backend_decl);
-- tmp = build2 (EQ_EXPR, boolean_type_node, tmp,
-- fold_convert (TREE_TYPE (tmp),
-- null_pointer_node));
-- return build3_v (COND_EXPR, tmp, null_expr,
-- non_null_expr);
-- }
-- }
- }
- else
- {
-Index: gcc/fortran/symbol.c
-===================================================================
---- gcc/fortran/symbol.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/symbol.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -4237,6 +4237,8 @@
- new_symtree->n.sym->module = gfc_get_string (old_sym->module);
- new_symtree->n.sym->from_intmod = old_sym->from_intmod;
- new_symtree->n.sym->intmod_sym_id = old_sym->intmod_sym_id;
-+ if (old_sym->attr.function)
-+ new_symtree->n.sym->result = new_symtree->n.sym;
- /* Build the formal arg list. */
- build_formal_args (new_symtree->n.sym, old_sym, add_optional_arg);
-
-Index: gcc/fortran/decl.c
-===================================================================
---- gcc/fortran/decl.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/decl.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Declaration statement matcher
-- Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008
-+ Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Andy Vaught
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/sse2-orpd-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-orpd-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-orpd-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -6597,10 +6597,9 @@
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-movd-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-movd-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-movd-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
- if (initializer == NULL || initializer->ts.type != BT_INTEGER)
- {
-- gfc_error("ENUMERATOR %L not initialized with integer expression",
-- &var_locus);
-+ gfc_error ("ENUMERATOR %L not initialized with integer expression",
-+ &var_locus);
- m = MATCH_ERROR;
-- gfc_free_enum_history ();
- goto cleanup;
- }
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-ucomisd-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -6666,7 +6665,10 @@
- {
- m = enumerator_decl ();
- if (m == MATCH_ERROR)
-- goto cleanup;
-+ {
-+ gfc_free_enum_history ();
-+ goto cleanup;
-+ }
- if (m == MATCH_NO)
- break;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/fpcvt-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/fpcvt-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/fpcvt-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2 -march=k8" } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-final { scan-assembler-not "cvtss2sd" } } */
+ float a,b;
+ main()
+Index: gcc/testsuite/gcc.target/i386/sse2-psrad-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse2-psrad-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-psrad-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/fortran/gfortran.h
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr32708-1.c
===================================================================
---- gcc/fortran/gfortran.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/gfortran.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2450,6 +2450,8 @@
- gfc_expr *gfc_default_initializer (gfc_typespec *);
- gfc_expr *gfc_get_variable_expr (gfc_symtree *);
+--- gcc/testsuite/gcc.target/i386/pr32708-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr32708-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+gfc_array_spec *gfc_get_full_arrayspec_from_expr (gfc_expr *expr);
-+
- bool gfc_traverse_expr (gfc_expr *, gfc_symbol *,
- bool (*)(gfc_expr *, gfc_symbol *, int*),
- int);
-Index: gcc/fortran/ChangeLog
+ typedef long long __v2di __attribute__ ((__vector_size__ (16)));
+ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/gcc.target/i386/sse2-comisd-5.c
===================================================================
---- gcc/fortran/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,79 @@
-+2010-03-11 Tobias Burnus <burnus@net-b.de
-+
-+ PR fortran/43303
-+ * symbol.c (get_iso_c_sym): Set sym->result.
-+
-+2010-02-16 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/41869
-+ * module.c (fix_mio_expr): Fix for private generic procedures.
-+
-+2010-02-11 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR fortran/43030
-+ * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
-+
-+ PR fortran/43029
-+ * decl.c (enumerator_decl): Don't call gfc_free_enum_history
-+ here.
-+ (gfc_match_enumerator_def): But here whenever enumerator_decl returns
-+ MATCH_ERROR.
-+
-+2010-02-10 Jakub Jelinek <jakub@redhat.com>
-+
-+ PR fortran/42309
-+ * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
-+ info->dimen after info has been freed.
-+
-+2010-02-06 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/42309
-+ * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
-+ 'formal_ptr'. If this is true, give returned descriptor unity
-+ lbounds, in all dimensions, and the appropriate offset.
-+ (gfc_conv_procedure_call); If formal is a pointer, set the last
-+ argument of gfc_conv_subref_array_arg to true.
-+ * trans.h : Add last argument for gfc_conv_subref_array_arg.
-+ * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
-+ new arg of gfc_conv_subref_array_arg to false.
-+ * trans-stmt.c (forall_make_variable_temp): The same.
-+
-+2010-02-02 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/42650
-+ * parse.c (decode_specification_statement): Use sym->result not sym.
-+
-+2010-01-31 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/38324
-+ * expr.c (gfc_get_full_arrayspec_from_expr): New function.
-+ * gfortran.h : Add prototype for above.
-+ * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
-+ (gfc_trans_subcomponent_assign): Call new function to replace
-+ the code to deal with allocatable components.
-+ * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
-+ gfc_get_full_arrayspec_from_expr to replace existing code.
-+
-+2010-01-30 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/41044
-+ PR fortran/41167
-+ * expr.c (remove_subobject_ref): If the constructor is NULL use
-+ the expression as the source.
-+ (simplify_const_ref): Change the type of expression if
-+ there are component references. Allow for substring to be at
-+ the end of an arbitrarily long chain of references. If an
-+ element is found that is not in an EXPR_ARRAY, assume that this
-+ is scalar initialization of array. Call remove_subobject_ref in
-+ this case with NULL second argument.
-+
-+2010-01-27 Paul Thomas <pault@gcc.gnu.org>
-+
-+ PR fortran/42736
-+ * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
-+ is required, turn any trailing array elements after a range
-+ into ranges so that offsets can be calculated.
-+
- 2010-01-21 Release Manager
-
- * GCC 4.4.3 released.
-Index: gcc/fortran/trans-stmt.c
-===================================================================
---- gcc/fortran/trans-stmt.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/trans-stmt.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -212,6 +212,7 @@
- gfc_ss *ss;
- gfc_ss_info *info;
- gfc_symbol *fsym;
-+ gfc_ref *ref;
- int n;
- tree data;
- tree offset;
-@@ -267,6 +268,34 @@
- /* Obtain the argument descriptor for unpacking. */
- gfc_init_se (&parmse, NULL);
- parmse.want_pointer = 1;
-+
-+ /* The scalarizer introduces some specific peculiarities when
-+ handling elemental subroutines; the stride can be needed up to
-+ the dim_array - 1, rather than dim_loop - 1 to calculate
-+ offsets outside the loop. For this reason, we make sure that
-+ the descriptor has the dimensionality of the array by converting
-+ trailing elements into ranges with end = start. */
-+ for (ref = e->ref; ref; ref = ref->next)
-+ if (ref->type == REF_ARRAY && ref->u.ar.type == AR_SECTION)
-+ break;
-+
-+ if (ref)
-+ {
-+ bool seen_range = false;
-+ for (n = 0; n < ref->u.ar.dimen; n++)
-+ {
-+ if (ref->u.ar.dimen_type[n] == DIMEN_RANGE)
-+ seen_range = true;
-+
-+ if (!seen_range
-+ || ref->u.ar.dimen_type[n] != DIMEN_ELEMENT)
-+ continue;
-+
-+ ref->u.ar.end[n] = gfc_copy_expr (ref->u.ar.start[n]);
-+ ref->u.ar.dimen_type[n] = DIMEN_RANGE;
-+ }
-+ }
-+
- gfc_conv_expr_descriptor (&parmse, e, gfc_walk_expr (e));
- gfc_add_block_to_block (&se->pre, &parmse.pre);
-
-@@ -1691,7 +1720,7 @@
- if (old_sym->attr.dimension)
- {
- gfc_init_se (&tse, NULL);
-- gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN);
-+ gfc_conv_subref_array_arg (&tse, e, 0, INTENT_IN, false);
- gfc_add_block_to_block (pre, &tse.pre);
- gfc_add_block_to_block (post, &tse.post);
- tse.expr = build_fold_indirect_ref (tse.expr);
-Index: gcc/fortran/expr.c
-===================================================================
---- gcc/fortran/expr.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/expr.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1123,8 +1123,13 @@
- {
- gfc_expr *e;
+--- gcc/testsuite/gcc.target/i386/sse2-comisd-5.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/sse2-comisd-5.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-- e = cons->expr;
-- cons->expr = NULL;
-+ if (cons)
-+ {
-+ e = cons->expr;
-+ cons->expr = NULL;
-+ }
-+ else
-+ e = gfc_copy_expr (p);
- e->ref = p->ref->next;
- p->ref->next = NULL;
- gfc_replace_expr (p, e);
-@@ -1428,6 +1433,7 @@
- {
- gfc_constructor *cons;
- gfc_expr *newp;
-+ gfc_ref *last_ref;
+ #ifndef CHECK_H
+ #define CHECK_H "sse2-check.h"
+Index: gcc/testsuite/gcc.target/i386/pr17692.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr17692.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.target/i386/pr17692.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O -mfpmath=sse -msse2" } */
++/* { dg-require-effective-target sse2 } */
+ /* The fact that t1 and t2 are uninitialized is critical. With them
+ uninitialized, the register allocator is free to put them in the same
+ hard register, which results in
+Index: gcc/testsuite/ada/acats/run_acats
+===================================================================
+--- gcc/testsuite/ada/acats/run_acats (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/ada/acats/run_acats (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -5,10 +5,25 @@
+ exit 1
+ fi
+
++# Provide which replacement.
++#
++# type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both
++# ksh93 and bash have it.
++# type output format differs between ksh88 and ksh93, so avoid it if
++# type -p is present.
++# Fall back to whence which ksh88 and ksh93 provide, but bash does not.
++
++which () {
++ type -p $* 2>/dev/null && return 0
++ type $* 2>/dev/null | awk '{print $3}' && return 0
++ whence $* 2>/dev/null && return 0
++ return 1
++}
++
+ # Set up environment to use the Ada compiler from the object tree
- while (p->ref)
- {
-@@ -1437,6 +1443,13 @@
- switch (p->ref->u.ar.type)
- {
- case AR_ELEMENT:
-+ /* <type/kind spec>, parameter :: x(<int>) = scalar_expr
-+ will generate this. */
-+ if (p->expr_type != EXPR_ARRAY)
-+ {
-+ remove_subobject_ref (p, NULL);
-+ break;
-+ }
- if (find_array_element (p->value.constructor, &p->ref->u.ar,
- &cons) == FAILURE)
- return FAILURE;
-@@ -1466,18 +1479,25 @@
- return FAILURE;
- }
-
-- /* If this is a CHARACTER array and we possibly took a
-- substring out of it, update the type-spec's character
-- length according to the first element (as all should have
-- the same length). */
-- if (p->ts.type == BT_CHARACTER)
-+ if (p->ts.type == BT_DERIVED
-+ && p->ref->next
-+ && p->value.constructor)
- {
-- int string_len;
-+ /* There may have been component references. */
-+ p->ts = p->value.constructor->expr->ts;
-+ }
-
-- gcc_assert (p->ref->next);
-- gcc_assert (!p->ref->next->next);
-- gcc_assert (p->ref->next->type == REF_SUBSTRING);
-+ last_ref = p->ref;
-+ for (; last_ref->next; last_ref = last_ref->next) {};
-
-+ if (p->ts.type == BT_CHARACTER
-+ && last_ref->type == REF_SUBSTRING)
-+ {
-+ /* If this is a CHARACTER array and we possibly took
-+ a substring out of it, update the type-spec's
-+ character length according to the first element
-+ (as all should have the same length). */
-+ int string_len;
- if (p->value.constructor)
- {
- const gfc_expr* first = p->value.constructor->expr;
-@@ -3327,6 +3347,58 @@
- }
+-host_gnatchop=`type gnatchop | awk '{print $3}'`
+-host_gnatmake=`type gnatmake | awk '{print $3}'`
++host_gnatchop=`which gnatchop`
++host_gnatmake=`which gnatmake`
+ ROOT=`${PWDCMD-pwd}`
+ BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
+Index: gcc/testsuite/gcc.dg/pr34856.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr34856.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/pr34856.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ /* { dg-options "-O2 -msse2" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
+ /* { dg-options "-O2 -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } } */
-+/* Returns the array_spec of a full array expression. A NULL is
-+ returned otherwise. */
-+gfc_array_spec *
-+gfc_get_full_arrayspec_from_expr (gfc_expr *expr)
-+{
-+ gfc_array_spec *as;
-+ gfc_ref *ref;
-+
-+ if (expr->rank == 0)
-+ return NULL;
-+
-+ /* Follow any component references. */
-+ if (expr->expr_type == EXPR_VARIABLE
-+ || expr->expr_type == EXPR_CONSTANT)
-+ {
-+ as = expr->symtree->n.sym->as;
-+ for (ref = expr->ref; ref; ref = ref->next)
-+ {
-+ switch (ref->type)
-+ {
-+ case REF_COMPONENT:
-+ as = ref->u.c.component->as;
-+ continue;
-+
-+ case REF_SUBSTRING:
-+ continue;
+ typedef unsigned __attribute__ ((__mode__ (__pointer__))) uintptr_t;
+Index: gcc/testsuite/gcc.dg/gomp/pr44085.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr44085.c (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gcc.dg/gomp/pr44085.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,27 @@
++/* PR middle-end/44085 */
++/* { dg-do compile } */
++/* { dg-require-effective-target tls_native } */
++/* { dg-options "-fopenmp" } */
+
-+ case REF_ARRAY:
-+ {
-+ switch (ref->u.ar.type)
-+ {
-+ case AR_ELEMENT:
-+ case AR_SECTION:
-+ case AR_UNKNOWN:
-+ as = NULL;
-+ continue;
-+
-+ case AR_FULL:
-+ break;
-+ }
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ else
-+ as = NULL;
++int thr1, thr2;
++#pragma omp threadprivate (thr1, thr2)
+
-+ return as;
++void
++foo (void)
++{
++#pragma omp task untied /* { dg-error "enclosing task" } */
++ {
++ thr1++; /* { dg-error "used in untied task" } */
++ thr2 |= 4; /* { dg-error "used in untied task" } */
++ }
+}
+
-+
- /* General expression traversal function. */
++void
++bar (void)
++{
++#pragma omp task
++ {
++ thr1++;
++ thr2 |= 4;
++ }
++}
+Index: gcc/testsuite/gcc.dg/torture/pr35771-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr35771-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/pr35771-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
- bool
-Index: gcc/fortran/module.c
+Index: gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c
===================================================================
---- gcc/fortran/module.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/module.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2846,13 +2846,29 @@
- }
- else if (e->expr_type == EXPR_FUNCTION && e->value.function.name)
- {
-+ gfc_symbol *sym;
-+
- /* In some circumstances, a function used in an initialization
- expression, in one use associated module, can fail to be
- coupled to its symtree when used in a specification
- expression in another module. */
-+
- fname = e->value.function.esym ? e->value.function.esym->name
- : e->value.function.isym->name;
- e->symtree = gfc_find_symtree (gfc_current_ns->sym_root, fname);
-+
-+ if (e->symtree)
-+ return;
-+
-+ /* This is probably a reference to a private procedure from another
-+ module. To prevent a segfault, make a generic with no specific
-+ instances. If this module is used, without the required
-+ specific coming from somewhere, the appropriate error message
-+ is issued. */
-+ gfc_get_symbol (fname, gfc_current_ns, &sym);
-+ sym->attr.flavor = FL_PROCEDURE;
-+ sym->attr.generic = 1;
-+ e->symtree = gfc_find_symtree (gfc_current_ns->sym_root, fname);
- }
- }
+--- gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/stackalign/vararg-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/fortran/trans.h
+ #include <stdarg.h>
+ #include <emmintrin.h>
+Index: gcc/testsuite/gcc.dg/torture/stackalign/push-1.c
===================================================================
---- gcc/fortran/trans.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/trans.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -314,7 +314,7 @@
- int gfc_conv_function_call (gfc_se *, gfc_symbol *, gfc_actual_arglist *,
- tree);
+--- gcc/testsuite/gcc.dg/torture/stackalign/push-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/stackalign/push-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37010 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2 -mpreferred-stack-boundary=2" } */
++/* { dg-require-effective-target sse2 } */
--void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent);
-+void gfc_conv_subref_array_arg (gfc_se *, gfc_expr *, int, sym_intent, bool);
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/stackalign/alloca-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
- /* gfc_trans_* shouldn't call push/poplevel, use gfc_push/pop_scope */
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/stackalign/alloca-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR middle-end/37009 */
+ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
-Index: gcc/fortran/resolve.c
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/torture/pr35771-2.c
===================================================================
---- gcc/fortran/resolve.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/resolve.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Perform type resolution on the various structures.
-- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Andy Vaught
+--- gcc/testsuite/gcc.dg/torture/pr35771-2.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/pr35771-2.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
-@@ -3722,6 +3722,7 @@
- {
- gfc_typespec ts;
-
-+ gfc_clear_ts (&ts);
- ts.type = BT_INTEGER;
- ts.kind = gfc_index_integer_kind;
-
-Index: gcc/fortran/trans-io.c
-===================================================================
---- gcc/fortran/trans-io.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/trans-io.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -746,7 +746,7 @@
- /* Use a temporary for components of arrays of derived types
- or substring array references. */
- gfc_conv_subref_array_arg (&se, e, 0,
-- last_dt == READ ? INTENT_IN : INTENT_OUT);
-+ last_dt == READ ? INTENT_IN : INTENT_OUT, false);
- tmp = build_fold_indirect_ref (se.expr);
- se.expr = gfc_build_addr_expr (pchar_type_node, tmp);
- tmp = gfc_conv_descriptor_data_get (tmp);
-@@ -2191,7 +2191,7 @@
- if (seen_vector && last_dt == READ)
- {
- /* Create a temp, read to that and copy it back. */
-- gfc_conv_subref_array_arg (&se, expr, 0, INTENT_OUT);
-+ gfc_conv_subref_array_arg (&se, expr, 0, INTENT_OUT, false);
- tmp = se.expr;
- }
- else
-Index: gcc/fortran/parse.c
-===================================================================
---- gcc/fortran/parse.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/parse.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -110,7 +110,7 @@
- match ("import", gfc_match_import, ST_IMPORT);
- match ("use", gfc_match_use, ST_USE);
-
-- if (gfc_current_block ()->ts.type != BT_DERIVED)
-+ if (gfc_current_block ()->result->ts.type != BT_DERIVED)
- goto end_of_block;
-
- match (NULL, gfc_match_st_function, ST_STATEMENT_FUNCTION);
-Index: gcc/fortran/trans-intrinsic.c
-===================================================================
---- gcc/fortran/trans-intrinsic.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/fortran/trans-intrinsic.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -832,7 +832,6 @@
- gfc_se argse;
- gfc_ss *ss;
- gfc_array_spec * as;
-- gfc_ref *ref;
-
- arg = expr->value.function.actual;
- arg2 = arg->next;
-@@ -901,43 +900,8 @@
- ubound = gfc_conv_descriptor_ubound (desc, bound);
- lbound = gfc_conv_descriptor_lbound (desc, bound);
-
-- /* Follow any component references. */
-- if (arg->expr->expr_type == EXPR_VARIABLE
-- || arg->expr->expr_type == EXPR_CONSTANT)
-- {
-- as = arg->expr->symtree->n.sym->as;
-- for (ref = arg->expr->ref; ref; ref = ref->next)
-- {
-- switch (ref->type)
-- {
-- case REF_COMPONENT:
-- as = ref->u.c.component->as;
-- continue;
-+ as = gfc_get_full_arrayspec_from_expr (arg->expr);
-
-- case REF_SUBSTRING:
-- continue;
--
-- case REF_ARRAY:
-- {
-- switch (ref->u.ar.type)
-- {
-- case AR_ELEMENT:
-- case AR_SECTION:
-- case AR_UNKNOWN:
-- as = NULL;
-- continue;
--
-- case AR_FULL:
-- break;
-- }
-- break;
-- }
-- }
-- }
-- }
-- else
-- as = NULL;
--
- /* 13.14.53: Result value for LBOUND
+ typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
- Case (i): For an array section or for an array expression other than a
-Index: gcc/BASE-VER
-===================================================================
---- gcc/BASE-VER (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1 +1 @@
--4.4.3
-+4.4.4
-Index: gcc/tree-vect-analyze.c
-===================================================================
---- gcc/tree-vect-analyze.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-vect-analyze.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -3508,7 +3508,9 @@
- FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0))
- if (vinfo_for_stmt (use_stmt)
- && !STMT_SLP_TYPE (vinfo_for_stmt (use_stmt))
-- && STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt)))
-+ && (STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt))
-+ || STMT_VINFO_DEF_TYPE (vinfo_for_stmt (use_stmt))
-+ == vect_reduction_def))
- vect_mark_slp_stmts (node, hybrid, i);
-
- vect_detect_hybrid_slp_stmts (SLP_TREE_LEFT (node));
-Index: gcc/gimplify.c
+Index: gcc/testsuite/gcc.dg/torture/pr16104-1.c
===================================================================
---- gcc/gimplify.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/gimplify.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Tree lowering pass. This pass converts the GENERIC functions-as-trees
- tree representation into the GIMPLE form.
-- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Major work done by Sebastian Pop <s.pop@laposte.net>,
- Diego Novillo <dnovillo@redhat.com> and Jason Merrill <jason@redhat.com>.
-@@ -2762,6 +2762,36 @@
- {
- tree type = TREE_TYPE (expr);
+--- gcc/testsuite/gcc.dg/torture/pr16104-1.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/pr16104-1.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR rtl-optimization/16104 */
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
-+ if (TREE_CODE (expr) == NE_EXPR
-+ && TREE_CODE (TREE_OPERAND (expr, 0)) == CALL_EXPR
-+ && integer_zerop (TREE_OPERAND (expr, 1)))
-+ {
-+ tree call = TREE_OPERAND (expr, 0);
-+ tree fn = get_callee_fndecl (call);
-+
-+ /* For __builtin_expect ((long) (x), y) recurse into x as well
-+ if x is truth_value_p. */
-+ if (fn
-+ && DECL_BUILT_IN_CLASS (fn) == BUILT_IN_NORMAL
-+ && DECL_FUNCTION_CODE (fn) == BUILT_IN_EXPECT
-+ && call_expr_nargs (call) == 2)
-+ {
-+ tree arg = CALL_EXPR_ARG (call, 0);
-+ if (arg)
-+ {
-+ if (TREE_CODE (arg) == NOP_EXPR
-+ && TREE_TYPE (arg) == TREE_TYPE (call))
-+ arg = TREE_OPERAND (arg, 0);
-+ if (truth_value_p (TREE_CODE (arg)))
-+ {
-+ arg = gimple_boolify (arg);
-+ CALL_EXPR_ARG (call, 0)
-+ = fold_convert (TREE_TYPE (call), arg);
-+ }
-+ }
-+ }
-+ }
-+
- if (TREE_CODE (type) == BOOLEAN_TYPE)
- return expr;
+ #include "cpuid.h"
-@@ -3684,6 +3714,21 @@
- }
- }
+Index: gcc/testsuite/gcc.dg/torture/pr35771-3.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr35771-3.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/torture/pr35771-3.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
-+ /* If the target is volatile and we have non-zero elements
-+ initialize the target from a temporary. */
-+ if (TREE_THIS_VOLATILE (object)
-+ && !TREE_ADDRESSABLE (type)
-+ && num_nonzero_elements > 0)
-+ {
-+ tree temp = create_tmp_var (TYPE_MAIN_VARIANT (type), NULL);
-+ TREE_OPERAND (*expr_p, 0) = temp;
-+ *expr_p = build2 (COMPOUND_EXPR, TREE_TYPE (*expr_p),
-+ *expr_p,
-+ build2 (MODIFY_EXPR, void_type_node,
-+ object, temp));
-+ return GS_OK;
-+ }
-+
- if (notify_temp_creation)
- return GS_OK;
+ typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
-@@ -3931,11 +3976,14 @@
- switch (TREE_CODE (*from_p))
- {
- case VAR_DECL:
-- /* If we're assigning from a constant constructor, move the
-- constructor expression to the RHS of the MODIFY_EXPR. */
-+ /* If we're assigning from a read-only variable initialized with
-+ a constructor, do the direct assignment from the constructor,
-+ but only if neither source nor target are volatile since this
-+ latter assignment might end up being done on a per-field basis. */
- if (DECL_INITIAL (*from_p)
- && TREE_READONLY (*from_p)
- && !TREE_THIS_VOLATILE (*from_p)
-+ && !TREE_THIS_VOLATILE (*to_p)
- && TREE_CODE (DECL_INITIAL (*from_p)) == CONSTRUCTOR)
- {
- tree old_from = *from_p;
-Index: gcc/loop-doloop.c
+Index: gcc/testsuite/gcc.dg/pr37544.c
===================================================================
---- gcc/loop-doloop.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/loop-doloop.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Perform doloop optimizations
-- Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
-+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation,
- Inc.
- Based on code by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
-
-@@ -291,7 +291,8 @@
- op0 = force_operand (op0, NULL_RTX);
- op1 = force_operand (op1, NULL_RTX);
- label = block_label (dest);
-- do_compare_rtx_and_jump (op0, op1, code, 0, mode, NULL_RTX, NULL_RTX, label);
-+ do_compare_rtx_and_jump (op0, op1, code, 0, mode, NULL_RTX,
-+ NULL_RTX, label, -1);
-
- jump = get_last_insn ();
- if (!jump || !JUMP_P (jump))
-Index: gcc/expmed.c
-===================================================================
---- gcc/expmed.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/expmed.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,7 +1,7 @@
- /* Medium-level subroutines: convert bit-field store and extract
- and shifts, multiplies and divides to rtl instructions.
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+--- gcc/testsuite/gcc.dg/pr37544.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/pr37544.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ /* { dg-options "-O2 -msse2 -mtune=core2 -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
- This file is part of GCC.
-@@ -5608,7 +5608,7 @@
- emit_move_insn (target, const1_rtx);
- label = gen_label_rtx ();
- do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, NULL_RTX,
-- NULL_RTX, label);
-+ NULL_RTX, label, -1);
-
- emit_move_insn (target, const0_rtx);
- emit_label (label);
-@@ -5626,5 +5626,5 @@
- {
- int unsignedp = (op == LTU || op == LEU || op == GTU || op == GEU);
- do_compare_rtx_and_jump (arg1, arg2, op, unsignedp, mode,
-- NULL_RTX, NULL_RTX, label);
-+ NULL_RTX, NULL_RTX, label, -1);
- }
-Index: gcc/except.c
+ #ifdef __i386__
+ #include "cpuid.h"
+Index: gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c
===================================================================
---- gcc/except.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/except.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Implements exception handling.
- Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Mike Stump <mrs@cygnus.com>.
-
-@@ -1834,7 +1834,7 @@
-
- #ifdef DONT_USE_BUILTIN_SETJMP
- {
-- rtx x;
-+ rtx x, last;
- x = emit_library_call_value (setjmp_libfunc, NULL_RTX, LCT_RETURNS_TWICE,
- TYPE_MODE (integer_type_node), 1,
- plus_constant (XEXP (fc, 0),
-@@ -1842,7 +1842,12 @@
-
- emit_cmp_and_jump_insns (x, const0_rtx, NE, 0,
- TYPE_MODE (integer_type_node), 0, dispatch_label);
-- add_reg_br_prob_note (get_insns (), REG_BR_PROB_BASE/100);
-+ last = get_last_insn ();
-+ if (JUMP_P (last) && any_condjump_p (last))
-+ {
-+ gcc_assert (!find_reg_note (last, REG_BR_PROB, 0));
-+ add_reg_note (last, REG_BR_PROB, GEN_INT (REG_BR_PROB_BASE / 100));
-+ }
- }
- #else
- expand_builtin_setjmp_setup (plus_constant (XEXP (fc, 0), sjlj_fc_jbuf_ofs),
-Index: gcc/cfgexpand.c
+--- gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details" } */
+
+ #define N 1000
+Index: gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c
===================================================================
---- gcc/cfgexpand.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/cfgexpand.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -379,46 +379,6 @@
- }
+--- gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target ilp32 } */
++/* { dg-require-effective-target sse2 } */
+ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param max-unrolled-insns=1 -fdump-tree-aprefetch-details -fdump-tree-final_cleanup" } */
+ #define K 1000000
+Index: gcc/testsuite/gcc.dg/pr36584.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr36584.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/pr36584.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,8 +1,8 @@
+ /* { dg-do run } */
+ /* { dg-options "-O2 -lm" } */
+ /* { dg-options "-O2 -msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
++/* { dg-require-effective-target sse2 { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
--/* Verify that there is exactly single jump instruction since last and attach
-- REG_BR_PROB note specifying probability.
-- ??? We really ought to pass the probability down to RTL expanders and let it
-- re-distribute it when the conditional expands into multiple conditionals.
-- This is however difficult to do. */
--void
--add_reg_br_prob_note (rtx last, int probability)
--{
-- if (profile_status == PROFILE_ABSENT)
-- return;
-- for (last = NEXT_INSN (last); last && NEXT_INSN (last); last = NEXT_INSN (last))
-- if (JUMP_P (last))
-- {
-- /* It is common to emit condjump-around-jump sequence when we don't know
-- how to reverse the conditional. Special case this. */
-- if (!any_condjump_p (last)
-- || !JUMP_P (NEXT_INSN (last))
-- || !simplejump_p (NEXT_INSN (last))
-- || !NEXT_INSN (NEXT_INSN (last))
-- || !BARRIER_P (NEXT_INSN (NEXT_INSN (last)))
-- || !NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))
-- || !LABEL_P (NEXT_INSN (NEXT_INSN (NEXT_INSN (last))))
-- || NEXT_INSN (NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))))
-- goto failed;
-- gcc_assert (!find_reg_note (last, REG_BR_PROB, 0));
-- add_reg_note (last, REG_BR_PROB,
-- GEN_INT (REG_BR_PROB_BASE - probability));
-- return;
-- }
-- if (!last || !JUMP_P (last) || !any_condjump_p (last))
-- goto failed;
-- gcc_assert (!find_reg_note (last, REG_BR_PROB, 0));
-- add_reg_note (last, REG_BR_PROB, GEN_INT (probability));
-- return;
--failed:
-- if (dump_file)
-- fprintf (dump_file, "Failed to add probability note\n");
--}
--
-
- #ifndef STACK_ALIGNMENT_NEEDED
- #define STACK_ALIGNMENT_NEEDED 1
+ #ifdef __i386__
+ #include "cpuid.h"
#endif
-@@ -1669,8 +1629,8 @@
- two-way jump that needs to be decomposed into two basic blocks. */
- if (false_edge->dest == bb->next_bb)
- {
-- jumpif (pred, label_rtx_for_bb (true_edge->dest));
-- add_reg_br_prob_note (last, true_edge->probability);
-+ jumpif (pred, label_rtx_for_bb (true_edge->dest),
-+ true_edge->probability);
- maybe_dump_rtl_for_gimple_stmt (stmt, last);
- if (true_edge->goto_locus)
- {
-@@ -1685,8 +1645,8 @@
- }
- if (true_edge->dest == bb->next_bb)
- {
-- jumpifnot (pred, label_rtx_for_bb (false_edge->dest));
-- add_reg_br_prob_note (last, false_edge->probability);
-+ jumpifnot (pred, label_rtx_for_bb (false_edge->dest),
-+ false_edge->probability);
- maybe_dump_rtl_for_gimple_stmt (stmt, last);
- if (false_edge->goto_locus)
- {
-@@ -1700,8 +1660,7 @@
- return NULL;
- }
+Index: gcc/testsuite/gcc.dg/compat/union-m128-1_main.c
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/union-m128-1_main.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/compat/union-m128-1_main.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */
+ /* { dg-options "-O" } */
++/* { dg-require-effective-target sse2 } */
-- jumpif (pred, label_rtx_for_bb (true_edge->dest));
-- add_reg_br_prob_note (last, true_edge->probability);
-+ jumpif (pred, label_rtx_for_bb (true_edge->dest), true_edge->probability);
- last = get_last_insn ();
- if (false_edge->goto_locus)
- {
-Index: gcc/tree-ssa-pre.c
+ #include "cpuid.h"
+
+Index: gcc/testsuite/gcc.dg/compat/vector-1a_main.c
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/vector-1a_main.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/compat/vector-1a_main.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-skip-if "test SSE2 vector" { ! { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 } */
+
+ /* Test compatibility of vector types: layout between separately-compiled
+ modules, parameter passing, and function return. This test uses
+Index: gcc/testsuite/gcc.dg/compat/vector-2a_main.c
===================================================================
---- gcc/tree-ssa-pre.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-ssa-pre.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1395,34 +1395,20 @@
+--- gcc/testsuite/gcc.dg/compat/vector-2a_main.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/compat/vector-2a_main.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,5 @@
+ /* { dg-skip-if "test SSE2 support" { ! { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 } */
+ /* Test compatibility of vector types: layout between separately-compiled
+ modules, parameter passing, and function return. This test uses
+Index: gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008
++# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010
+ # Free Software Foundation, Inc.
+ # This program is free software; you can redistribute it and/or modify
+@@ -39,6 +39,9 @@
+ global dg-do-what-default
+ set save-dg-do-what-default ${dg-do-what-default}
-+static pre_expr
-+phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
-+ basic_block pred, basic_block phiblock);
++if { ![check_effective_target_sse2] } then {
++ return
++}
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/vect/vect-debug-pr41926.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ /* PR debug/41926 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
- /* Translate EXPR using phis in PHIBLOCK, so that it has the values of
- the phis in PRED. Return NULL if we can't find a leader for each part
- of the translated expression. */
+ void
+ foo (double (*__restrict p)[4], double (*__restrict q)[4],
+Index: gcc/testsuite/gcc.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/vect/vect.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008
++# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010
+ # Free Software Foundation, Inc.
- static pre_expr
--phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
-- basic_block pred, basic_block phiblock)
-+phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
-+ basic_block pred, basic_block phiblock)
+ # This program is free software; you can redistribute it and/or modify
+@@ -63,6 +63,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/gcc.dg/pr36997.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr36997.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gcc.dg/pr36997.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,9 +1,10 @@
+ /* { dg-do compile { target x86_64-*-* i?86-*-* } } */
+ /* { dg-options "-std=c99 -msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
+ __m64 _mm_add_si64 (__m64 __m1, __m64 __m2)
{
-- pre_expr oldexpr = expr;
-- pre_expr phitrans;
--
-- if (!expr)
-- return NULL;
--
-- if (value_id_constant_p (get_expr_value_id (expr)))
-- return expr;
--
-- phitrans = phi_trans_lookup (expr, pred);
-- if (phitrans)
-- return phitrans;
--
- switch (expr->kind)
- {
-- /* Constants contain no values that need translation. */
-- case CONSTANT:
-- return expr;
--
- case NARY:
- {
- unsigned int i;
-@@ -1510,7 +1496,6 @@
- }
- add_to_value (new_val_id, expr);
- }
-- phi_trans_add (oldexpr, expr, pred);
- return expr;
- }
- break;
-@@ -1660,7 +1645,6 @@
- add_to_value (new_val_id, expr);
- }
- VEC_free (vn_reference_op_s, heap, newoperands);
-- phi_trans_add (oldexpr, expr, pred);
- return expr;
- }
- break;
-@@ -1706,6 +1690,44 @@
- }
+ return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2); /* { dg-error "incompatible type" } */
+- /* { dg-message "note: expected 'long long int __vector__' but argument is of type 'long long int'" "" { target *-*-* } 7 } */
++ /* { dg-message "note: expected 'long long int __vector__' but argument is of type 'long long int'" "" { target *-*-* } 8 } */
}
+Index: gcc/testsuite/ChangeLog
+===================================================================
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,401 @@
++2010-05-27 Jason Merrill <jason@redhat.com>
++
++ PR c++/43555
++ * g++.dg/ext/vla9.C: New.
++
++2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline
++ 2010-05-23 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/44245
++ * gcc.target/i386/crc32-3.c: New.
++ * gcc.target/i386/crc32-4.c: Likewise.
++
++2010-05-21 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/43845
++ * gcc.c-torture/compile/pr43845.c: New testcase.
++
++2010-05-20 Hans-Peter Nilsson <hp@axis.com>
++
++ PR target/44202
++ * gcc.c-torture/execute/pr44202-1.c: New test.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * lib/target-supports.exp (check_effective_target_sse2): New proc.
++ * lib/target-supports-dg.exp (dg-require-effective-target): Allow
++ for optional selector.
++ * gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc.
++ (check_effective_target_sse3): New proc.
++ * gcc.target/i386/math-torture/math-torture.exp: Load
++ target-supports.exp.
++ Only add options with -msse2 to MATH_TORTURE_OPTIONS if
++ check_effective_target_sse2.
++ * gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2.
++ * gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
++ * g++.dg/vect/vect.exp: Likewise.
++ * gfortran.dg/vect/vect.exp: Likewise.
++ * lib/fortran-torture.exp (get-fortran-torture-options): Only use
++ -msse2 if check_effective_target_sse2.
++
++ * gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow.
++ * gcc.target/i386/3dnow-2.c: Likewise.
++ * gcc.target/i386/3dnowA-1.c: Likewise.
++ * gcc.target/i386/3dnowA-2.c: Likewise.
++ * gcc.target/i386/pr42549.c: Likewise.
++
++ * gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3.
++ * gcc.target/i386/sse3-addsubps.c: Likewise.
++ * gcc.target/i386/sse3-haddpd.c: Likewise.
++ * gcc.target/i386/sse3-haddps.c: Likewise.
++ * gcc.target/i386/sse3-hsubpd.c: Likewise.
++ * gcc.target/i386/sse3-hsubps.c: Likewise.
++ * gcc.target/i386/sse3-lddqu.c: Likewise.
++ * gcc.target/i386/sse3-movddup.c: Likewise.
++ * gcc.target/i386/sse3-movshdup.c: Likewise.
++ * gcc.target/i386/sse3-movsldup.c: Likewise.
++
++ * g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2.
++ * g++.dg/ext/attrib35.C: Likewise.
++ * g++.dg/opt/pr40496.C: Likewise.
++ * g++.dg/other/i386-1.C: Likewise.
++ * g++.dg/other/i386-4.C: Likewise.
++ * g++.dg/other/pr34435.C: Likewise.
++ * g++.dg/other/pr39496.C: Likewise.
++ * g++.dg/other/pr40446.C: Likewise.
++ * gcc.dg/compat/union-m128-1_main.c: Likewise.
++ * gcc.dg/compat/vector-1a_main.c: Likewise.
++ * gcc.dg/compat/vector-2a_main.c: Likewise.
++ * gcc.dg/pr34856.c: Likewise.
++ * gcc.dg/pr36584.c: Likewise.
++ * gcc.dg/pr36997.c: Likewise. Adapt dg-message line number.
++ * gcc.dg/pr37544.c: Likewise.
++ * gcc.dg/torture/pr16104-1.c: Likewise.
++ * gcc.dg/torture/pr35771-1.c: Likewise.
++ * gcc.dg/torture/pr35771-2.c: Likewise.
++ * gcc.dg/torture/pr35771-3.c: Likewise.
++ * gcc.dg/torture/stackalign/alloca-2.c: Likewise.
++ * gcc.dg/torture/stackalign/alloca-3.c: Likewise.
++ * gcc.dg/torture/stackalign/push-1.c: Likewise.
++ * gcc.dg/torture/stackalign/vararg-3.c: Likewise.
++ * gcc.dg/tree-ssa/prefetch-6.c: Likewise.
++ * gcc.dg/tree-ssa/prefetch-7.c: Likewise.
++ * gcc.dg/vect/vect-debug-pr41926.c: Likewise.
++ * gcc.target/i386/20060512-1.c: Likewise.
++ * gcc.target/i386/20060512-3.c: Likewise.
++ * gcc.target/i386/float128-1.c: Likewise.
++ * gcc.target/i386/float128-2.c: Likewise.
++ * gcc.target/i386/fpcvt-1.c: Likewise.
++ * gcc.target/i386/fpcvt-2.c: Likewise.
++ * gcc.target/i386/fpcvt-3.c: Likewise.
++ * gcc.target/i386/fpprec-1.c: Likewise.
++ * gcc.target/i386/funcspec-9.c: Likewise.
++ * gcc.target/i386/incoming-1.c: Likewise.
++ * gcc.target/i386/incoming-2.c: Likewise.
++ * gcc.target/i386/incoming-3.c: Likewise.
++ * gcc.target/i386/incoming-4.c: Likewise.
++ * gcc.target/i386/opt-1.c: Likewise.
++ * gcc.target/i386/opt-2.c: Likewise.
++ * gcc.target/i386/ordcmp-1.c: Likewise.
++ * gcc.target/i386/pr17692.c: Likewise.
++ * gcc.target/i386/pr18614-1.c: Likewise.
++ * gcc.target/i386/pr22152.c: Likewise.
++ * gcc.target/i386/pr23570.c: Likewise.
++ * gcc.target/i386/pr23575.c: Likewise.
++ * gcc.target/i386/pr26449-1.c: Likewise.
++ * gcc.target/i386/pr26600.c: Likewise.
++ * gcc.target/i386/pr27790.c: Likewise.
++ * gcc.target/i386/pr28839.c: Likewise.
++ * gcc.target/i386/pr30970.c: Likewise.
++ * gcc.target/i386/pr32000-1.c: Likewise.
++ * gcc.target/i386/pr32000-2.c: Likewise.
++ * gcc.target/i386/pr32280.c: Likewise.
++ * gcc.target/i386/pr32661.c: Likewise.
++ * gcc.target/i386/pr32708-1.c: Likewise.
++ * gcc.target/i386/pr32961.c: Likewise.
++ * gcc.target/i386/pr33329.c: Likewise.
++ * gcc.target/i386/pr35714.c: Likewise.
++ * gcc.target/i386/pr35767-1.c: Likewise.
++ * gcc.target/i386/pr35767-1d.c: Likewise.
++ * gcc.target/i386/pr35767-1i.c: Likewise.
++ * gcc.target/i386/pr35767-2.c: Likewise.
++ * gcc.target/i386/pr35767-2d.c: Likewise.
++ * gcc.target/i386/pr35767-2i.c: Likewise.
++ * gcc.target/i386/pr35767-3.c: Likewise.
++ * gcc.target/i386/pr35767-5.c: Likewise.
++ * gcc.target/i386/pr36222-1.c: Likewise.
++ * gcc.target/i386/pr36578-1.c: Likewise.
++ * gcc.target/i386/pr36578-2.c: Likewise.
++ * gcc.target/i386/pr36992-1.c: Likewise.
++ * gcc.target/i386/pr37101.c: Likewise.
++ * gcc.target/i386/pr37434-1.c: Likewise.
++ * gcc.target/i386/pr37434-2.c: Likewise.
++ * gcc.target/i386/pr37843-3.c: Likewise.
++ * gcc.target/i386/pr39162.c: Likewise.
++ * gcc.target/i386/pr39445.c: Likewise.
++ * gcc.target/i386/pr39496.c: Likewise.
++ * gcc.target/i386/pr40809.c: Likewise.
++ * gcc.target/i386/pr40906-3.c: Likewise.
++ * gcc.target/i386/pr41019.c: Likewise.
++ * gcc.target/i386/pr42542-1.c: Likewise.
++ * gcc.target/i386/pr42542-2.c: Likewise.
++ * gcc.target/i386/pr42542-3.c: Likewise.
++ * gcc.target/i386/pr42542-3a.c: Likewise.
++ * gcc.target/i386/pr42881.c: Likewise.
++ * gcc.target/i386/push-1.c: Likewise.
++ * gcc.target/i386/quad-sse.c: Likewise.
++ * gcc.target/i386/reload-1.c: Likewise.
++ * gcc.target/i386/sse-10.c: Likewise.
++ * gcc.target/i386/sse-11.c: Likewise.
++ * gcc.target/i386/sse-15.c: Likewise.
++ * gcc.target/i386/sse-17.c: Likewise.
++ * gcc.target/i386/sse-18.c: Likewise.
++ * gcc.target/i386/sse-19.c: Likewise.
++ * gcc.target/i386/sse-4.c: Likewise.
++ * gcc.target/i386/sse-6.c: Likewise.
++ * gcc.target/i386/sse-vect-types.c: Likewise.
++ * gcc.target/i386/sse2-addpd-1.c: Likewise.
++ * gcc.target/i386/sse2-addsd-1.c: Likewise.
++ * gcc.target/i386/sse2-andnpd-1.c: Likewise.
++ * gcc.target/i386/sse2-andpd-1.c: Likewise.
++ * gcc.target/i386/sse2-comisd-1.c: Likewise.
++ * gcc.target/i386/sse2-comisd-2.c: Likewise.
++ * gcc.target/i386/sse2-comisd-3.c: Likewise.
++ * gcc.target/i386/sse2-comisd-4.c: Likewise.
++ * gcc.target/i386/sse2-comisd-5.c: Likewise.
++ * gcc.target/i386/sse2-comisd-6.c: Likewise.
++ * gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
++ * gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
++ * gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
++ * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
++ * gcc.target/i386/sse2-divpd-1.c: Likewise.
++ * gcc.target/i386/sse2-divsd-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v2di-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v4si-1.c: Likewise.
++ * gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
++ * gcc.target/i386/sse2-lrint-vec.c: Likewise.
++ * gcc.target/i386/sse2-lrintf-vec.c: Likewise.
++ * gcc.target/i386/sse2-maxpd-1.c: Likewise.
++ * gcc.target/i386/sse2-maxsd-1.c: Likewise.
++ * gcc.target/i386/sse2-minpd-1.c: Likewise.
++ * gcc.target/i386/sse2-minsd-1.c: Likewise.
++ * gcc.target/i386/sse2-mmx.c: Likewise.
++ * gcc.target/i386/sse2-movapd-1.c: Likewise.
++ * gcc.target/i386/sse2-movapd-2.c: Likewise.
++ * gcc.target/i386/sse2-movd-1.c: Likewise.
++ * gcc.target/i386/sse2-movd-2.c: Likewise.
++ * gcc.target/i386/sse2-movdqa-1.c: Likewise.
++ * gcc.target/i386/sse2-movdqa-2.c: Likewise.
++ * gcc.target/i386/sse2-movdqu-1.c: Likewise.
++ * gcc.target/i386/sse2-movdqu-2.c: Likewise.
++ * gcc.target/i386/sse2-movhpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movhpd-2.c: Likewise.
++ * gcc.target/i386/sse2-movlpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movlpd-2.c: Likewise.
++ * gcc.target/i386/sse2-movmskpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movntdq-1.c: Likewise.
++ * gcc.target/i386/sse2-movntpd-1.c: Likewise.
++ * gcc.target/i386/sse2-movq-1.c: Likewise.
++ * gcc.target/i386/sse2-movq-2.c: Likewise.
++ * gcc.target/i386/sse2-movq-3.c: Likewise.
++ * gcc.target/i386/sse2-movsd-1.c: Likewise.
++ * gcc.target/i386/sse2-movsd-2.c: Likewise.
++ * gcc.target/i386/sse2-movupd-1.c: Likewise.
++ * gcc.target/i386/sse2-movupd-2.c: Likewise.
++ * gcc.target/i386/sse2-mulpd-1.c: Likewise.
++ * gcc.target/i386/sse2-mulsd-1.c: Likewise.
++ * gcc.target/i386/sse2-orpd-1.c: Likewise.
++ * gcc.target/i386/sse2-packssdw-1.c: Likewise.
++ * gcc.target/i386/sse2-packsswb-1.c: Likewise.
++ * gcc.target/i386/sse2-packuswb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddd-1.c: Likewise.
++ * gcc.target/i386/sse2-paddq-1.c: Likewise.
++ * gcc.target/i386/sse2-paddsb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddsw-1.c: Likewise.
++ * gcc.target/i386/sse2-paddusb-1.c: Likewise.
++ * gcc.target/i386/sse2-paddusw-1.c: Likewise.
++ * gcc.target/i386/sse2-paddw-1.c: Likewise.
++ * gcc.target/i386/sse2-pand-1.c: Likewise.
++ * gcc.target/i386/sse2-pandn-1.c: Likewise.
++ * gcc.target/i386/sse2-pavgb-1.c: Likewise.
++ * gcc.target/i386/sse2-pavgw-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
++ * gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmaxub-1.c: Likewise.
++ * gcc.target/i386/sse2-pminsw-1.c: Likewise.
++ * gcc.target/i386/sse2-pminub-1.c: Likewise.
++ * gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
++ * gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmulhw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmullw-1.c: Likewise.
++ * gcc.target/i386/sse2-pmuludq-1.c: Likewise.
++ * gcc.target/i386/sse2-por-1.c: Likewise.
++ * gcc.target/i386/sse2-psadbw-1.c: Likewise.
++ * gcc.target/i386/sse2-pshufd-1.c: Likewise.
++ * gcc.target/i386/sse2-pshufhw-1.c: Likewise.
++ * gcc.target/i386/sse2-pshuflw-1.c: Likewise.
++ * gcc.target/i386/sse2-pslld-1.c: Likewise.
++ * gcc.target/i386/sse2-pslld-2.c: Likewise.
++ * gcc.target/i386/sse2-pslldq-1.c: Likewise.
++ * gcc.target/i386/sse2-psllq-1.c: Likewise.
++ * gcc.target/i386/sse2-psllq-2.c: Likewise.
++ * gcc.target/i386/sse2-psllw-1.c: Likewise.
++ * gcc.target/i386/sse2-psllw-2.c: Likewise.
++ * gcc.target/i386/sse2-psrad-1.c: Likewise.
++ * gcc.target/i386/sse2-psrad-2.c: Likewise.
++ * gcc.target/i386/sse2-psraw-1.c: Likewise.
++ * gcc.target/i386/sse2-psraw-2.c: Likewise.
++ * gcc.target/i386/sse2-psrld-1.c: Likewise.
++ * gcc.target/i386/sse2-psrld-2.c: Likewise.
++ * gcc.target/i386/sse2-psrldq-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlq-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlq-2.c: Likewise.
++ * gcc.target/i386/sse2-psrlw-1.c: Likewise.
++ * gcc.target/i386/sse2-psrlw-2.c: Likewise.
++ * gcc.target/i386/sse2-psubb-1.c: Likewise.
++ * gcc.target/i386/sse2-psubd-1.c: Likewise.
++ * gcc.target/i386/sse2-psubq-1.c: Likewise.
++ * gcc.target/i386/sse2-psubsb-1.c: Likewise.
++ * gcc.target/i386/sse2-psubsw-1.c: Likewise.
++ * gcc.target/i386/sse2-psubw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
++ * gcc.target/i386/sse2-punpckldq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
++ * gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
++ * gcc.target/i386/sse2-pxor-1.c: Likewise.
++ * gcc.target/i386/sse2-set-epi32-1.c: Likewise.
++ * gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
++ * gcc.target/i386/sse2-set-v16qi-3.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-1a.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
++ * gcc.target/i386/sse2-set-v8hi-2a.c: Likewise.
++ * gcc.target/i386/sse2-shufpd-1.c: Likewise.
++ * gcc.target/i386/sse2-shufps-1.c: Likewise.
++ * gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
++ * gcc.target/i386/sse2-subpd-1.c: Likewise.
++ * gcc.target/i386/sse2-subsd-1.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-1.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-2.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-3.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-4.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-5.c: Likewise.
++ * gcc.target/i386/sse2-ucomisd-6.c: Likewise.
++ * gcc.target/i386/sse2-unpack-1.c: Likewise.
++ * gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
++ * gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
++ * gcc.target/i386/sse2-vec-1.c: Likewise.
++ * gcc.target/i386/sse2-vec-2.c: Likewise.
++ * gcc.target/i386/sse2-vec-3.c: Likewise.
++ * gcc.target/i386/sse2-vec-4.c: Likewise.
++ * gcc.target/i386/sse2-vec-5.c: Likewise.
++ * gcc.target/i386/sse2-vec-6.c: Likewise.
++ * gcc.target/i386/sse2-xorpd-1.c: Likewise.
++ * gcc.target/i386/ssefn-2.c: Likewise.
++ * gcc.target/i386/ssefn-4.c: Likewise.
++ * gcc.target/i386/ssefp-1.c: Likewise.
++ * gcc.target/i386/ssefp-2.c: Likewise.
++ * gcc.target/i386/sseregparm-3.c: Likewise.
++ * gcc.target/i386/sseregparm-4.c: Likewise.
++ * gcc.target/i386/sseregparm-5.c: Likewise.
++ * gcc.target/i386/sseregparm-6.c: Likewise.
++ * gcc.target/i386/sseregparm-7.c: Likewise.
++ * gcc.target/i386/ssetype-1.c: Likewise.
++ * gcc.target/i386/ssetype-2.c: Likewise.
++ * gcc.target/i386/ssetype-3.c: Likewise.
++ * gcc.target/i386/ssetype-4.c: Likewise.
++ * gcc.target/i386/ssetype-5.c: Likewise.
++ * gcc.target/i386/unordcmp-1.c: Likewise.
++ * gcc.target/i386/vararg-1.c: Likewise.
++ * gcc.target/i386/vararg-2.c: Likewise.
++ * gcc.target/i386/vararg-3.c: Likewise.
++ * gcc.target/i386/vararg-4.c: Likewise.
++ * gcc.target/i386/vararg-7.c: Likewise.
++ * gcc.target/i386/vararg-8.c: Likewise.
++ * gcc.target/i386/vecinit-1.c: Likewise.
++ * gcc.target/i386/vecinit-2.c: Likewise.
++ * gcc.target/i386/vecinit-3.c: Likewise.
++ * gcc.target/i386/vecinit-4.c: Likewise.
++ * gcc.target/i386/vecinit-5.c: Likewise.
++ * gcc.target/i386/vecinit-6.c: Likewise.
++ * gcc.target/i386/vectorize2.c: Likewise.
++ * gcc.target/i386/vectorize3.c: Likewise.
++ * gcc.target/i386/vectorize4.c: Likewise.
++ * gcc.target/i386/vectorize6.c: Likewise.
++ * gcc.target/i386/xorps-sse2.c: Likewise.
++ * gcc.target/i386/xorps.c: Likewise.
++
++2010-05-19 Jason Merrill <jason@redhat.com>
++
++ PR c++/44193
++ * g++.dg/template/fntype1.C: New.
++
++2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
++
++ PR fortran/44135
++ * gfortran.dg/actual_array_interface_2.f90: New test.
++
++2010-05-13 Jakub Jelinek <jakub@redhat.com>
++
++ PR fortran/44036
++ * gfortran.dg/gomp/pr44036-1.f90: New test.
++ * gfortran.dg/gomp/pr44036-2.f90: New test.
++ * gfortran.dg/gomp/pr44036-3.f90: New test.
++
++ PR middle-end/44085
++ * gcc.dg/gomp/pr44085.c: New test.
++ * gfortran.dg/gomp/pr44085.f90: New test.
++
++2010-05-05 Jason Merrill <jason@redhat.com>
++
++ PR debug/43370
++ * g++.dg/ext/attrib39.C: New.
++
++2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline
++ 2010-05-04 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR middle-end/43671
++ * gcc.target/i386/pr43671.c: New.
++
++2010-05-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * ada/acats/run_acats (which): New function.
++ (host_gnatchop, host_gnatmake): Use it.
++
++2010-04-30 DJ Delorie <dj@redhat.com>
++
++ * gcc.c-torture/execute/20100430-1.c: New test.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: gcc/testsuite/g++.dg/other/i386-4.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/i386-4.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/other/i386-4.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-O1 -msse2" } */
++/* { dg-require-effective-target sse2 } */
-+/* Wrapper around phi_translate_1 providing caching functionality. */
-+
-+static pre_expr
-+phi_translate (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
-+ basic_block pred, basic_block phiblock)
-+{
-+ pre_expr phitrans;
-+
-+ if (!expr)
-+ return NULL;
-+
-+ /* Constants contain no values that need translation. */
-+ if (expr->kind == CONSTANT)
-+ return expr;
-+
-+ if (value_id_constant_p (get_expr_value_id (expr)))
-+ return expr;
-+
-+ if (expr->kind != NAME)
-+ {
-+ phitrans = phi_trans_lookup (expr, pred);
-+ if (phitrans)
-+ return phitrans;
-+ }
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/g++.dg/other/pr39496.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr39496.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/other/pr39496.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ // PR target/39496
+ // { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } }
+ // { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" }
++// { dg-require-effective-target sse2 }
+ // Verify that {foo,bar}{,2}param are all passed on the stack, using
+ // normal calling conventions, when not optimizing.
+ // { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } }
+Index: gcc/testsuite/g++.dg/other/pr40446.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr40446.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/other/pr40446.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ // PR middle-end/40446
+ // { dg-do run { target i?86-*-* x86_64-*-* } }
+ // { dg-options "-O1 -msse2" }
++// { dg-require-effective-target sse2 }
+
+ #include <emmintrin.h>
+ #include "cpuid.h"
+Index: gcc/testsuite/g++.dg/other/i386-1.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/i386-1.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/other/i386-1.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do run { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <xmmintrin.h>
+
+Index: gcc/testsuite/g++.dg/other/pr34435.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr34435.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/other/pr34435.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+ /* { dg-options "-msse2" } */
++/* { dg-require-effective-target sse2 } */
+
+ #include <emmintrin.h>
+
+Index: gcc/testsuite/g++.dg/ext/vla9.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/vla9.C (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/g++.dg/ext/vla9.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,38 @@
++// PR c++/43555
++// { dg-options "" }
++// { dg-do run }
+
-+ /* Translate. */
-+ phitrans = phi_translate_1 (expr, set1, set2, pred, phiblock);
++extern "C" void * malloc (__SIZE_TYPE__);
++extern "C" int printf (const char *, ...);
++extern "C" void abort(void);
+
-+ /* Don't add empty translations to the cache. Neither add
-+ translations of NAMEs as those are cheap to translate. */
-+ if (phitrans
-+ && expr->kind != NAME)
-+ phi_trans_add (expr, phitrans, pred);
++int nx,ny;
+
-+ return phitrans;
++void f(double *x1d,int choice)
++{
++ double (*x2d)[nx][ny]=(double(*)[nx][ny])x1d;
++ unsigned long delta;
++// (*x2d)[0][0]=123; // <- this line affects the result
++ if (choice!=0)
++ {
++ delta=&(*x2d)[1][0]-x1d;
++ }
++ else
++ {
++ delta=&(*x2d)[1][0]-x1d;
++ }
++ printf("Choice: %d, Delta: %ld\n",choice,delta);
++ if (delta != ny)
++ abort ();
+}
+
-+
- /* For each expression in SET, translate the values through phi nodes
- in PHIBLOCK using edge PHIBLOCK->PRED, and store the resulting
- expressions in DEST. */
-@@ -1729,12 +1751,16 @@
- {
- pre_expr translated;
- translated = phi_translate (expr, set, NULL, pred, phiblock);
-+ if (!translated)
-+ continue;
-
-- /* Don't add empty translations to the cache */
-- if (translated)
-- phi_trans_add (expr, translated, pred);
--
-- if (translated != NULL)
-+ /* We might end up with multiple expressions from SET being
-+ translated to the same value. In this case we do not want
-+ to retain the NARY or REFERENCE expression but prefer a NAME
-+ which would be the leader. */
-+ if (translated->kind == NAME)
-+ bitmap_value_replace_in_set (dest, translated);
-+ else
- bitmap_value_insert_into_set (dest, translated);
- }
- VEC_free (pre_expr, heap, exprs);
-Index: gcc/loop-invariant.c
-===================================================================
---- gcc/loop-invariant.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/loop-invariant.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1207,14 +1207,16 @@
- emit_insn_after (gen_move_insn (dest, reg), inv->insn);
- reorder_insns (inv->insn, inv->insn, BB_END (preheader));
-
-- /* If there is a REG_EQUAL note on the insn we just moved, and
-- insn is in a basic block that is not always executed, the note
-- may no longer be valid after we move the insn.
-- Note that uses in REG_EQUAL notes are taken into account in
-- the computation of invariants. Hence it is safe to retain the
-- note even if the note contains register references. */
-- if (! inv->always_executed
-- && (note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX)))
-+ /* If there is a REG_EQUAL note on the insn we just moved, and the
-+ insn is in a basic block that is not always executed or the note
-+ contains something for which we don't know the invariant status,
-+ the note may no longer be valid after we move the insn. Note that
-+ uses in REG_EQUAL notes are taken into account in the computation
-+ of invariants, so it is safe to retain the note even if it contains
-+ register references for which we know the invariant status. */
-+ if ((note = find_reg_note (inv->insn, REG_EQUAL, NULL_RTX))
-+ && (!inv->always_executed
-+ || !check_maybe_invariant (XEXP (note, 0))))
- remove_note (inv->insn, note);
- }
- else
-Index: gcc/rtl.h
++int main()
++{
++ double *data;
++ nx=100;
++ ny=100;
++ data=(double*)malloc(nx*ny*sizeof(double));
++ f(data,0);
++ f(data,1);
++ return 0;
++}
+Index: gcc/testsuite/g++.dg/ext/attrib35.C
===================================================================
---- gcc/rtl.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/rtl.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Register Transfer Language (RTL) definitions for GCC
- Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -2305,8 +2305,6 @@
- /* In predict.c */
- extern void invert_br_probabilities (rtx);
- extern bool expensive_function_p (int);
--/* In cfgexpand.c */
--extern void add_reg_br_prob_note (rtx last, int probability);
-
- /* In var-tracking.c */
- extern unsigned int variable_tracking_main (void);
-Index: gcc/tree-inline.c
-===================================================================
---- gcc/tree-inline.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-inline.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -2729,6 +2729,8 @@
- {
- HOST_WIDE_INT size;
+--- gcc/testsuite/g++.dg/ext/attrib35.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/ext/attrib35.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ // { dg-do compile { target i*86-*-* x86_64-*-* } }
+ // { dg-options "-O3 -msse2" }
++// { dg-require-effective-target sse2 }
-+ gcc_assert (!VOID_TYPE_P (type));
+ // You can make NON-template typedefs with a large alignment.
+ typedef double AlignedDoubleType __attribute__((aligned(16)));
+Index: gcc/testsuite/g++.dg/ext/attrib39.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/attrib39.C (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/g++.dg/ext/attrib39.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,9 @@
++// PR debug/43370
++// { dg-options "-g" }
+
- size = int_size_in_bytes (type);
++int fragile_block(void) {
++ typedef __attribute__ ((aligned (16))) struct {
++ int i;
++ } XmmUint16;
++ return 0;
++}
+Index: gcc/testsuite/g++.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/g++.dg/vect/vect.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/vect/vect.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
- if (size < 0 || size > MOVE_MAX_PIECES * MOVE_RATIO (!optimize_size))
-@@ -2980,7 +2982,8 @@
- {
- tree t;
- for (t = TYPE_ARG_TYPES (funtype); t; t = TREE_CHAIN (t))
-- cost += estimate_move_cost (TREE_VALUE (t));
-+ if (!VOID_TYPE_P (TREE_VALUE (t)))
-+ cost += estimate_move_cost (TREE_VALUE (t));
- }
- else
- {
-@@ -4268,6 +4271,46 @@
- return true;
- }
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -71,6 +71,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/testsuite/g++.dg/opt/pr40496.C
+===================================================================
+--- gcc/testsuite/g++.dg/opt/pr40496.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/opt/pr40496.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,6 @@
+ // { dg-do compile }
+ // { dg-options "-O2 -fprefetch-loop-arrays -msse2" { target i?86-*-* x86_64-*-* } }
++// { dg-require-effective-target sse2 { target i?86-*-* x86_64-*-* } }
+
+ struct DOMStringHandle
+ {
+Index: gcc/testsuite/g++.dg/abi/mangle42.C
+===================================================================
+--- gcc/testsuite/g++.dg/abi/mangle42.C (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/g++.dg/abi/mangle42.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,7 @@
+ // Origin: PR c++/43375
+ // { dg-do compile { target i?86-*-* x86_64-*-* } }
+ // { dg-options "-msse2 -std=gnu++0x" }
++// { dg-require-effective-target sse2 }
-+/* Delete all unreachable basic blocks and update callgraph.
-+ Doing so is somewhat nontrivial because we need to update all clones and
-+ remove inline function that become unreachable. */
+ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+ typedef int __v4si __attribute__ ((__vector_size__ (16)));
+Index: gcc/testsuite/g++.dg/template/fntype1.C
+===================================================================
+--- gcc/testsuite/g++.dg/template/fntype1.C (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/g++.dg/template/fntype1.C (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,26 @@
++bool f(int i) { return i != 5; }
+
-+static bool
-+delete_unreachable_blocks_update_callgraph (copy_body_data *id)
++template <class X, class P = bool(X)>
++struct Traits
+{
-+ bool changed = false;
-+ basic_block b, next_bb;
-+
-+ find_unreachable_blocks ();
-+
-+ /* Delete all unreachable basic blocks. */
-+
-+ for (b = ENTRY_BLOCK_PTR->next_bb; b != EXIT_BLOCK_PTR; b = next_bb)
-+ {
-+ next_bb = b->next_bb;
++ typedef P type;
++};
+
-+ if (!(b->flags & BB_REACHABLE))
-+ {
-+ gimple_stmt_iterator bsi;
++template <class X, class P = typename Traits<X>::type>
++struct S
++{
++ const P& p_;
++ S( const P& p ) : p_(p) {} // const reference
++};
+
-+ for (bsi = gsi_start_bb (b); !gsi_end_p (bsi); gsi_next (&bsi))
-+ if (gimple_code (gsi_stmt (bsi)) == GIMPLE_CALL)
-+ {
-+ struct cgraph_edge *e;
++template <class X>
++S<X> make_s(const typename Traits<X>::type & p) // const reference
++{
++ return S<X>(p); // << HERE
++}
+
-+ if ((e = cgraph_edge (id->dst_node, gsi_stmt (bsi))) != NULL)
-+ cgraph_remove_edge (e);
-+ }
-+ delete_basic_block (b);
-+ changed = true;
-+ }
-+ }
+
-+ if (changed)
-+ tidy_fallthru_edges ();
-+ return changed;
++int main()
++{
++ make_s<int>(f);
+}
-+
- /* Create a copy of a function's tree.
- OLD_DECL and NEW_DECL are FUNCTION_DECL tree nodes
- of the original function and the new copied function
-@@ -4442,7 +4485,7 @@
- free_dominance_info (CDI_DOMINATORS);
- free_dominance_info (CDI_POST_DOMINATORS);
- if (!update_clones)
-- delete_unreachable_blocks ();
-+ delete_unreachable_blocks_update_callgraph (&id);
- update_ssa (TODO_update_ssa);
- if (!update_clones)
- {
-Index: gcc/combine.c
+Index: gcc/testsuite/lib/target-supports-dg.exp
===================================================================
---- gcc/combine.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/combine.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Optimize by combining instructions for GNU compiler.
- Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+--- gcc/testsuite/lib/target-supports-dg.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/lib/target-supports-dg.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009
++# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ # Free Software Foundation, Inc.
- This file is part of GCC.
-@@ -6531,8 +6531,10 @@
- if (mode == tmode)
- return new_rtx;
-
-- if (GET_CODE (new_rtx) == CONST_INT)
-- return gen_int_mode (INTVAL (new_rtx), mode);
-+ if (CONST_INT_P (new_rtx)
-+ || GET_CODE (new_rtx) == CONST_DOUBLE)
-+ return simplify_unary_operation (unsignedp ? ZERO_EXTEND : SIGN_EXTEND,
-+ mode, new_rtx, tmode);
-
- /* If we know that no extraneous bits are set, and that the high
- bit is not set, convert the extraction to the cheaper of
-Index: gcc/config.gcc
-===================================================================
---- gcc/config.gcc (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config.gcc (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1088,7 +1088,7 @@
- tmake_file="${tmake_file} i386/t-linux64"
- need_64bit_hwint=yes
- case X"${with_cpu}" in
-- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
-+ Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
- ;;
- X)
- if test x$with_cpu_64 = x; then
-@@ -1097,7 +1097,7 @@
- ;;
- *)
- echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
-+ echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
- exit 1
- ;;
- esac
-@@ -1202,7 +1202,7 @@
- # libgcc/configure.ac instead.
- need_64bit_hwint=yes
- case X"${with_cpu}" in
-- Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx)
-+ Xgeneric|Xcore2|Xnocona|Xx86-64|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3)
- ;;
- X)
- if test x$with_cpu_64 = x; then
-@@ -1211,7 +1211,7 @@
- ;;
- *)
- echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
-- echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx" 1>&2
-+ echo "generic core2 nocona x86-64 amdfam10 barcelona k8 opteron athlon64 athlon-fx athlon64-sse3 k8-sse3 opteron-sse3" 1>&2
- exit 1
- ;;
- esac
-@@ -2191,7 +2191,7 @@
- extra_parts="crti.o crtn.o crtbegin.o crtend.o"
- ;;
- sparc-*-linux*) # SPARC's running GNU/Linux, libc6
-- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
-+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-linux"
- if test x$enable_targets = xall; then
-@@ -2303,7 +2303,7 @@
- esac
- ;;
- sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
-- tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
-+ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h"
- extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
- ;;
-@@ -2472,7 +2472,10 @@
- amdfam10-*|barcelona-*)
- with_cpu=amdfam10
- ;;
-- k8-*|opteron-*|athlon_64-*)
-+ k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
-+ with_cpu=k8-sse3
-+ ;;
-+ k8-*|opteron-*|athlon64-*|athlon_fx-*)
- with_cpu=k8
- ;;
- athlon_xp-*|athlon_mp-*|athlon_4-*)
-@@ -2518,7 +2521,10 @@
- amdfam10-*|barcelona-*)
- with_cpu=amdfam10
- ;;
-- k8-*|opteron-*|athlon_64-*)
-+ k8_sse3-*|opteron_sse3-*|athlon64_sse3-*)
-+ with_cpu=k8-sse3
-+ ;;
-+ k8-*|opteron-*|athlon64-*|athlon_fx-*)
- with_cpu=k8
- ;;
- nocona-*)
-@@ -2812,7 +2818,7 @@
- esac
- # OK
- ;;
-- "" | amdfam10 | barcelona | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
-+ "" | amdfam10 | barcelona | k8-sse3 | opteron-sse3 | athlon64-sse3 | k8 | opteron | athlon64 | athlon-fx | nocona | core2 | generic)
- # OK
- ;;
- *)
-Index: gcc/Makefile.in
-===================================================================
---- gcc/Makefile.in (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/Makefile.in (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -3,7 +3,7 @@
-
- # Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
- # 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
--# 2008, 2009 Free Software Foundation, Inc.
-+# 2008, 2009, 2010 Free Software Foundation, Inc.
-
- #This file is part of GCC.
-
-@@ -2514,7 +2514,7 @@
- tree-pass.h $(DF_H) $(DIAGNOSTIC_H) vecprim.h
- dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
- $(FLAGS_H) $(FUNCTION_H) $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \
-- langhooks.h $(GGC_H) gt-dojump.h vecprim.h $(BASIC_BLOCK_H)
-+ langhooks.h $(GGC_H) gt-dojump.h vecprim.h $(BASIC_BLOCK_H) output.h
- builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
- $(TREE_H) $(GIMPLE_H) $(FLAGS_H) $(TARGET_H) $(FUNCTION_H) $(REGS_H) \
- $(EXPR_H) $(OPTABS_H) insn-config.h $(RECOG_H) output.h typeclass.h \
-Index: gcc/tree-ssa-reassoc.c
-===================================================================
---- gcc/tree-ssa-reassoc.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/tree-ssa-reassoc.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Reassociation for trees.
-- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
-+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
- Contributed by Daniel Berlin <dan@dberlin.org>
+ # This program is free software; you can redistribute it and/or modify
+@@ -145,12 +145,23 @@
+ }
- This file is part of GCC.
-@@ -844,7 +844,7 @@
- if ((!op1def || gimple_nop_p (op1def))
- && (!op2def || gimple_nop_p (op2def)))
- {
-- gsi = gsi_start_bb (single_succ (ENTRY_BLOCK_PTR));
-+ gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR));
- gsi_insert_before (&gsi, sum, GSI_NEW_STMT);
+ # If the target does not match the required effective target, skip this test.
++# Only apply this if the optional selector matches.
+
+ proc dg-require-effective-target { args } {
+ set args [lreplace $args 0 0]
+- if { [llength $args] != 1 } {
+- error "syntax error, need a single effective-target keyword"
++ # Verify the number of arguments. The last is optional.
++ if { [llength $args] < 1 || [llength $args] > 2 } {
++ error "syntax error, need a single effective-target keyword with optional selector"
}
- else if ((!op1def || gimple_nop_p (op1def))
-@@ -853,7 +853,7 @@
- {
- if (gimple_code (op2def) == GIMPLE_PHI)
- {
-- gsi = gsi_start_bb (gimple_bb (op2def));
-+ gsi = gsi_after_labels (gimple_bb (op2def));
- gsi_insert_before (&gsi, sum, GSI_NEW_STMT);
- }
- else
-@@ -878,7 +878,7 @@
- {
- if (gimple_code (op1def) == GIMPLE_PHI)
- {
-- gsi = gsi_start_bb (gimple_bb (op1def));
-+ gsi = gsi_after_labels (gimple_bb (op1def));
- gsi_insert_before (&gsi, sum, GSI_NEW_STMT);
- }
- else
-Index: gcc/config/alpha/alpha.c
++
++ # Evaluate selector if present.
++ if { [llength $args] == 2 } {
++ switch [dg-process-target [lindex $args 1]] {
++ "S" { }
++ "N" { return }
++ }
++ }
++
+ if { ![is-effective-target [lindex $args 0]] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+Index: gcc/testsuite/lib/fortran-torture.exp
===================================================================
---- gcc/config/alpha/alpha.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/alpha/alpha.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -391,7 +391,7 @@
- break;
- }
- if (! cpu_table [i].name)
-- error ("bad value %qs for -mcpu switch", alpha_tune_string);
-+ error ("bad value %qs for -mtune switch", alpha_tune_string);
- }
-
- /* Do some sanity checks on the above options. */
-Index: gcc/config/alpha/alpha.md
-===================================================================
---- gcc/config/alpha/alpha.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/alpha/alpha.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -4339,20 +4339,22 @@
- (match_operand:SI 3 "const48_operand" "I")
- (const_int 0))
- (match_operand:SI 4 "sext_add_operand" "rIO")))
-- (clobber (match_scratch:SI 5 "=r"))]
-+ (clobber (match_scratch:DI 5 "=r"))]
- ""
- "#"
- ""
- [(set (match_dup 5)
-- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)]))
-+ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)]))
- (set (match_dup 0)
-- (plus:SI (mult:SI (match_dup 5) (match_dup 3))
-+ (plus:SI (mult:SI (match_dup 6) (match_dup 3))
- (match_dup 4)))]
- {
- if (can_create_pseudo_p ())
-- operands[5] = gen_reg_rtx (SImode);
-+ operands[5] = gen_reg_rtx (DImode);
- else if (reg_overlap_mentioned_p (operands[5], operands[4]))
-- operands[5] = operands[0];
-+ operands[5] = gen_lowpart (DImode, operands[0]);
-+
-+ operands[6] = gen_lowpart (SImode, operands[5]);
- })
-
- (define_insn_and_split "*cmp_sadd_sidi"
-@@ -4365,20 +4367,22 @@
- (match_operand:SI 3 "const48_operand" "I")
- (const_int 0))
- (match_operand:SI 4 "sext_add_operand" "rIO"))))
-- (clobber (match_scratch:SI 5 "=r"))]
-+ (clobber (match_scratch:DI 5 "=r"))]
- ""
- "#"
- ""
- [(set (match_dup 5)
-- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)]))
-+ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)]))
- (set (match_dup 0)
-- (sign_extend:DI (plus:SI (mult:SI (match_dup 5) (match_dup 3))
-+ (sign_extend:DI (plus:SI (mult:SI (match_dup 6) (match_dup 3))
- (match_dup 4))))]
- {
- if (can_create_pseudo_p ())
-- operands[5] = gen_reg_rtx (SImode);
-+ operands[5] = gen_reg_rtx (DImode);
- else if (reg_overlap_mentioned_p (operands[5], operands[4]))
-- operands[5] = gen_lowpart (SImode, operands[0]);
-+ operands[5] = operands[0];
-+
-+ operands[6] = gen_lowpart (SImode, operands[5]);
- })
-
- (define_insn_and_split "*cmp_ssub_di"
-@@ -4415,20 +4419,22 @@
- (match_operand:SI 3 "const48_operand" "I")
- (const_int 0))
- (match_operand:SI 4 "reg_or_8bit_operand" "rI")))
-- (clobber (match_scratch:SI 5 "=r"))]
-+ (clobber (match_scratch:DI 5 "=r"))]
- ""
- "#"
- ""
- [(set (match_dup 5)
-- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)]))
-+ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)]))
- (set (match_dup 0)
-- (minus:SI (mult:SI (match_dup 5) (match_dup 3))
-+ (minus:SI (mult:SI (match_dup 6) (match_dup 3))
- (match_dup 4)))]
- {
- if (can_create_pseudo_p ())
-- operands[5] = gen_reg_rtx (SImode);
-+ operands[5] = gen_reg_rtx (DImode);
- else if (reg_overlap_mentioned_p (operands[5], operands[4]))
-- operands[5] = operands[0];
-+ operands[5] = gen_lowpart (DImode, operands[0]);
-+
-+ operands[6] = gen_lowpart (SImode, operands[5]);
- })
+--- gcc/testsuite/lib/fortran-torture.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/lib/fortran-torture.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 2003, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
- (define_insn_and_split "*cmp_ssub_sidi"
-@@ -4441,20 +4447,22 @@
- (match_operand:SI 3 "const48_operand" "I")
- (const_int 0))
- (match_operand:SI 4 "reg_or_8bit_operand" "rI"))))
-- (clobber (match_scratch:SI 5 "=r"))]
-+ (clobber (match_scratch:DI 5 "=r"))]
- ""
- "#"
- ""
- [(set (match_dup 5)
-- (match_op_dup:SI 1 [(match_dup 2) (const_int 0)]))
-+ (match_op_dup:DI 1 [(match_dup 2) (const_int 0)]))
- (set (match_dup 0)
-- (sign_extend:DI (minus:SI (mult:SI (match_dup 5) (match_dup 3))
-+ (sign_extend:DI (minus:SI (mult:SI (match_dup 6) (match_dup 3))
- (match_dup 4))))]
- {
- if (can_create_pseudo_p ())
-- operands[5] = gen_reg_rtx (SImode);
-+ operands[5] = gen_reg_rtx (DImode);
- else if (reg_overlap_mentioned_p (operands[5], operands[4]))
-- operands[5] = gen_lowpart (SImode, operands[0]);
-+ operands[5] = operands[0];
-+
-+ operands[6] = gen_lowpart (SImode, operands[5]);
- })
- \f
- ;; Here are the CALL and unconditional branch insns. Calls on NT and OSF
-Index: gcc/config/s390/s390.c
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -45,6 +45,7 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set test_tree_vectorize 1
+ } elseif { ( [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] )
++ && [check_effective_target_sse2]
+ && [check_sse2_hw_available] } {
+ lappend vectorizer_options "-msse2"
+ set test_tree_vectorize 1
+Index: gcc/testsuite/lib/target-supports.exp
===================================================================
---- gcc/config/s390/s390.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/s390/s390.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -10090,6 +10090,14 @@
- return more;
+--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2858,6 +2858,18 @@
+ } "-O2 -mavx" ]
}
-+static void
-+s390_sched_init (FILE *file ATTRIBUTE_UNUSED,
-+ int verbose ATTRIBUTE_UNUSED,
-+ int max_ready ATTRIBUTE_UNUSED)
-+{
-+ last_scheduled_insn = NULL_RTX;
++# Return 1 if sse2 instructions can be compiled.
++proc check_effective_target_sse2 { } {
++ return [check_no_compiler_messages sse2 object {
++ typedef long long __m128i __attribute__ ((__vector_size__ (16)));
++
++ __m128i _mm_srli_si128 (__m128i __A, int __N)
++ {
++ return (__m128i)__builtin_ia32_psrldqi128 (__A, 8);
++ }
++ } "-O2 -msse2" ]
+}
+
- /* Initialize GCC target structure. */
-
- #undef TARGET_ASM_ALIGNED_HI_OP
-@@ -10147,6 +10155,8 @@
- #define TARGET_SCHED_VARIABLE_ISSUE s390_sched_variable_issue
- #undef TARGET_SCHED_REORDER
- #define TARGET_SCHED_REORDER s390_sched_reorder
-+#undef TARGET_SCHED_INIT
-+#define TARGET_SCHED_INIT s390_sched_init
+ # Return 1 if C wchar_t type is compatible with char16_t.
- #undef TARGET_CANNOT_COPY_INSN_P
- #define TARGET_CANNOT_COPY_INSN_P s390_cannot_copy_insn_p
-Index: gcc/config/s390/s390.md
+ proc check_effective_target_wchar_t_char16_t_compatible { } {
+Index: gcc/testsuite/gfortran.dg/actual_array_interface_2.f90
===================================================================
---- gcc/config/s390/s390.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/s390/s390.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1864,8 +1864,8 @@
- })
-
- (define_insn "*movqi"
-- [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,d,R,T,Q,S")
-- (match_operand:QI 1 "general_operand" "d,n,R,T,d,d,n,n"))]
-+ [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,d,R,T,Q,S,?Q")
-+ (match_operand:QI 1 "general_operand" " d,n,R,T,d,d,n,n,?Q"))]
- ""
- "@
- lr\t%0,%1
-@@ -1875,9 +1875,10 @@
- stc\t%1,%0
- stcy\t%1,%0
- mvi\t%S0,%b1
-- mviy\t%S0,%b1"
-- [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY")
-- (set_attr "type" "lr,*,*,*,store,store,store,store")
-+ mviy\t%S0,%b1
-+ *"
-+ [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY,SS")
-+ (set_attr "type" "lr,*,*,*,store,store,store,store,*")
- (set_attr "z10prop" "z10_fr_E1,
- z10_fwd_A1,
- z10_super_E1,
-@@ -1885,7 +1886,8 @@
- z10_rec,
- z10_rec,
- z10_super,
-- z10_super")])
-+ z10_super,
-+ *")])
-
- (define_peephole2
- [(set (match_operand:QI 0 "nonimmediate_operand" "")
-@@ -2262,6 +2264,22 @@
- "mvc\t%O0(%2,%R0),%S1"
- [(set_attr "op_type" "SS")])
-
-+; This splitter converts a QI to QI mode copy into a BLK mode copy in
-+; order to have it implemented with mvc.
-+
-+(define_split
-+ [(set (match_operand:QI 0 "memory_operand" "")
-+ (match_operand:QI 1 "memory_operand" ""))]
-+ "reload_completed"
-+ [(parallel
-+ [(set (match_dup 0) (match_dup 1))
-+ (use (const_int 1))])]
-+{
-+ operands[0] = adjust_address (operands[0], BLKmode, 0);
-+ operands[1] = adjust_address (operands[1], BLKmode, 0);
-+})
-+
+--- gcc/testsuite/gfortran.dg/actual_array_interface_2.f90 (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/actual_array_interface_2.f90 (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,13 @@
++! { dg-do compile }
++program gprogram
++ implicit none
++ real, dimension(-2:0) :: my_arr
++ call fill_array(my_arr)
++ contains
++ subroutine fill_array(arr)
++ implicit none
++ real, dimension(-2:0), intent(out) :: arr
++ arr = 42
++ end subroutine fill_array
++end program gprogram
++
+Index: gcc/testsuite/gfortran.dg/gomp/pr44085.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/gomp/pr44085.f90 (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/gomp/pr44085.f90 (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,25 @@
++! PR middle-end/44085
++! { dg-do compile }
++! { dg-require-effective-target tls_native }
++! { dg-options "-fopenmp" }
++
++ integer, save :: thr1, thr2
++ integer :: thr3, thr4
++ common /thrs/ thr3, thr4
++!$omp threadprivate (thr1, thr2, /thrs/)
++
++!$omp task untied ! { dg-error "enclosing task" }
++ thr1 = thr1 + 1 ! { dg-error "used in untied task" }
++ thr2 = thr2 + 2 ! { dg-error "used in untied task" }
++ thr3 = thr3 + 3 ! { dg-error "used in untied task" }
++ thr4 = thr4 + 4 ! { dg-error "used in untied task" }
++!$omp end task
++
++!$omp task
++ thr1 = thr1 + 1
++ thr2 = thr2 + 2
++ thr3 = thr3 + 3
++ thr4 = thr4 + 4
++!$omp end task
+
- (define_peephole2
- [(parallel
- [(set (match_operand:BLK 0 "memory_operand" "")
-Index: gcc/config/spu/spu-c.c
-===================================================================
---- gcc/config/spu/spu-c.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/spu/spu-c.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -161,8 +161,7 @@
- if ((!SCALAR_TYPE_P (param_type)
- || !SCALAR_TYPE_P (arg_type)
- || (all_scalar && p == 0))
-- && !comptypes (TYPE_MAIN_VARIANT (param_type),
-- TYPE_MAIN_VARIANT (arg_type)))
-+ && !lang_hooks.types_compatible_p (param_type, arg_type))
- break;
- }
- if (param == void_list_node)
-Index: gcc/config/sparc/sparc.c
++ end
+Index: gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90
===================================================================
---- gcc/config/sparc/sparc.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/sparc/sparc.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Subroutines for insn-output.c for SPARC.
- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
- Free Software Foundation, Inc.
- Contributed by Michael Tiemann (tiemann@cygnus.com)
- 64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
-@@ -371,8 +371,9 @@
- static void emit_save_or_restore_regs (int);
- static void sparc_asm_function_prologue (FILE *, HOST_WIDE_INT);
- static void sparc_asm_function_epilogue (FILE *, HOST_WIDE_INT);
--#ifdef OBJECT_FORMAT_ELF
--static void sparc_elf_asm_named_section (const char *, unsigned int, tree);
-+#if defined (OBJECT_FORMAT_ELF)
-+static void sparc_elf_asm_named_section (const char *, unsigned int, tree)
-+ ATTRIBUTE_UNUSED;
- #endif
+--- gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90 (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90 (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,24 @@
++! PR fortran/44036
++! { dg-do compile }
++! { dg-options "-fopenmp" }
++subroutine foo(a, b)
++ integer, external :: a
++ integer, external, pointer :: b
++ integer, external :: c
++ integer, external, pointer :: d
++ integer :: x
++ x = 6
++!$omp parallel default(none) private (x)
++ x = a(4)
++!$omp end parallel
++!$omp parallel default(none) private (x) ! { dg-error "enclosing parallel" }
++ x = b(5) ! { dg-error "not specified in" }
++!$omp end parallel
++!$omp parallel default(none) private (x)
++ x = c(6)
++!$omp end parallel
++ d => a
++!$omp parallel default(none) private (x) ! { dg-error "enclosing parallel" }
++ x = d(7) ! { dg-error "not specified in" }
++!$omp end parallel
++end
+Index: gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90 (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-2.f90 (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,17 @@
++! PR fortran/44036
++! { dg-do compile }
++! { dg-options "-fopenmp" }
++subroutine foo(a, b)
++ integer, external :: a
++ integer, external, pointer :: b
++ integer, external :: c
++ integer, external, pointer :: d
++ integer :: x
++ d => a
++!$omp parallel default(none) private (x) firstprivate (b, d)
++ x = a(4)
++ x = b(5)
++ x = c(6)
++ x = d(7)
++!$omp end parallel
++end
+Index: gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90 (.../tags/gcc_4_4_4_release) (wersja 0)
++++ gcc/testsuite/gfortran.dg/gomp/pr44036-3.f90 (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -0,0 +1,13 @@
++! PR fortran/44036
++! { dg-do compile }
++! { dg-options "-fopenmp" }
++subroutine foo(a)
++ integer, external :: a, c
++ integer :: x
++!$omp parallel default(none) private (x) shared (a) ! { dg-error "is not a variable" }
++ x = a(6)
++!$omp end parallel
++!$omp parallel default(none) private (x) shared (c) ! { dg-error "is not a variable" }
++ x = c(6)
++!$omp end parallel
++end
+Index: gcc/testsuite/gfortran.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/vect.exp (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/testsuite/gfortran.dg/vect/vect.exp (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1997, 2004, 2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 1997, 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
- static int sparc_adjust_cost (rtx, rtx, rtx, int);
-@@ -7847,19 +7848,11 @@
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -64,6 +64,9 @@
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
++ if { ![check_effective_target_sse2] } then {
++ return
++ }
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+ if [check_sse2_hw_available] {
+ set dg-do-what-default run
+Index: gcc/df-scan.c
+===================================================================
+--- gcc/df-scan.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/df-scan.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2308,7 +2308,7 @@
+ if (DF_REF_EXTRACT_MODE (ref1) != DF_REF_EXTRACT_MODE (ref2))
+ return DF_REF_EXTRACT_MODE (ref1) - DF_REF_EXTRACT_MODE (ref2);
}
+- return 0;
++ return (int)DF_REF_ORDER (ref1) - (int)DF_REF_ORDER (ref2);
}
- \f
--#ifdef OBJECT_FORMAT_ELF
-+#if defined (OBJECT_FORMAT_ELF)
- static void
- sparc_elf_asm_named_section (const char *name, unsigned int flags,
- tree decl)
- {
-- if (flags & SECTION_MERGE)
-- {
-- /* entsize cannot be expressed in this section attributes
-- encoding style. */
-- default_elf_asm_named_section (name, flags, decl);
-- return;
-- }
--
- fprintf (asm_out_file, "\t.section\t\"%s\"", name);
- if (!(flags & SECTION_DEBUG))
-Index: gcc/config/sparc/gas.h
+ static void
+Index: gcc/cp/decl.c
+===================================================================
+--- gcc/cp/decl.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/cp/decl.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -8502,6 +8502,34 @@
+ declarator->kind == cdk_reference ? "reference" : "pointer",
+ type);
+
++ /* When the pointed-to type involves components of variable size,
++ care must be taken to ensure that the size evaluation code is
++ emitted early enough to dominate all the possible later uses
++ and late enough for the variables on which it depends to have
++ been assigned.
++
++ This is expected to happen automatically when the pointed-to
++ type has a name/declaration of it's own, but special attention
++ is required if the type is anonymous.
++
++ We handle the NORMAL and FIELD contexts here by inserting a
++ dummy statement that just evaluates the size at a safe point
++ and ensures it is not deferred until e.g. within a deeper
++ conditional context (c++/43555).
++
++ We expect nothing to be needed here for PARM or TYPENAME.
++ Evaluating the size at this point for TYPENAME would
++ actually be incorrect, as we might be in the middle of an
++ expression with side effects on the pointed-to type size
++ "arguments" prior to the pointer declaration point and the
++ size evaluation could end up prior to the side effects. */
++
++ if (!TYPE_NAME (type)
++ && (decl_context == NORMAL || decl_context == FIELD)
++ && at_function_scope_p ()
++ && variably_modified_type_p (type, NULL_TREE))
++ finish_expr_stmt (TYPE_SIZE (type));
++
+ if (declarator->kind == cdk_reference)
+ {
+ /* In C++0x, the type we are creating a reference to might be
+Index: gcc/cp/ChangeLog
===================================================================
---- gcc/config/sparc/gas.h (.../tags/gcc_4_4_3_release) (wersja 0)
-+++ gcc/config/sparc/gas.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -0,0 +1,6 @@
-+/* Definitions of target machine for GCC, for SPARC
-+ using the GNU assembler. */
+--- gcc/cp/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/cp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,15 @@
++2010-05-27 Jason Merrill <jason@redhat.com>
+
-+/* Switch into a generic section. */
-+#undef TARGET_ASM_NAMED_SECTION
-+#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section
-Index: gcc/config/sparc/sysv4.h
-===================================================================
---- gcc/config/sparc/sysv4.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/sparc/sysv4.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,6 @@
- /* Target definitions for GNU compiler for SPARC running System V.4
-- Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009
-+ Copyright (C) 1991, 1992, 1995, 1996, 1997, 1998, 2000, 2002, 2007, 2009,
-+ 2010
- Free Software Foundation, Inc.
- Contributed by Ron Guilmette (rfg@monkeys.com).
++ PR c++/43555
++ * decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
++ anonymous VLA size.
++
++2010-05-19 Jason Merrill <jason@redhat.com>
++
++ PR c++/44193
++ * pt.c (tsubst) [TYPENAME_TYPE]: Discard cv-quals on
++ function/reference type.
++
+ 2010-04-29 Release Manager
-Index: gcc/config/sh/sh.c
+ * GCC 4.4.4 released.
+Index: gcc/cp/pt.c
===================================================================
---- gcc/config/sh/sh.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/sh/sh.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Output routines for GCC for Renesas / SuperH SH.
- Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-- 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+ 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
- Contributed by Steve Chamberlain (sac@cygnus.com).
- Improved by Jim Wilson (wilson@cygnus.com).
-
-@@ -4061,6 +4061,13 @@
- && ! TARGET_SMALLCODE)
- new_align = 4;
-
-+ /* There is a possibility that a bf is transformed into a bf/s by the
-+ delay slot scheduler. */
-+ if (JUMP_P (from) && !JUMP_TABLE_DATA_P (from)
-+ && get_attr_type (from) == TYPE_CBRANCH
-+ && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (from)))) != SEQUENCE)
-+ inc += 2;
-+
- if (found_si)
- {
- count_si += inc;
-@@ -6764,13 +6771,13 @@
- pop (PR_REG);
- }
-
-- /* Banked registers are poped first to avoid being scheduled in the
-+ /* Banked registers are popped first to avoid being scheduled in the
- delay slot. RTE switches banks before the ds instruction. */
- if (current_function_interrupt)
- {
-- for (i = FIRST_BANKED_REG; i <= LAST_BANKED_REG; i++)
-- if (TEST_HARD_REG_BIT (live_regs_mask, i))
-- pop (LAST_BANKED_REG - i);
-+ for (i = LAST_BANKED_REG; i >= FIRST_BANKED_REG; i--)
-+ if (TEST_HARD_REG_BIT (live_regs_mask, i))
-+ pop (i);
-
- last_reg = FIRST_PSEUDO_REGISTER - LAST_BANKED_REG - 1;
- }
-@@ -8721,9 +8728,7 @@
- && GET_CODE (PATTERN (insn)) != USE
- && GET_CODE (PATTERN (insn)) != CLOBBER)
- || GET_CODE (insn) == CALL_INSN
-- || (GET_CODE (insn) == JUMP_INSN
-- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC
-- && GET_CODE (PATTERN (insn)) != ADDR_VEC))
-+ || (JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn)))
- && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE
- && get_attr_needs_delay_slot (insn) == NEEDS_DELAY_SLOT_YES)
- return 2;
-@@ -8731,9 +8736,7 @@
- /* SH2e has a bug that prevents the use of annulled branches, so if
- the delay slot is not filled, we'll have to put a NOP in it. */
- if (sh_cpu == CPU_SH2E
-- && GET_CODE (insn) == JUMP_INSN
-- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC
-- && GET_CODE (PATTERN (insn)) != ADDR_VEC
-+ && JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn)
- && get_attr_type (insn) == TYPE_CBRANCH
- && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE)
- return 2;
-Index: gcc/config/sh/sh.md
-===================================================================
---- gcc/config/sh/sh.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/sh/sh.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- ;;- Machine description for Renesas / SuperH SH.
- ;; Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
--;; 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+;; 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
- ;; Contributed by Steve Chamberlain (sac@cygnus.com).
- ;; Improved by Jim Wilson (wilson@cygnus.com).
-
-@@ -734,7 +734,7 @@
- [(set (pc)
- (if_then_else (match_operator 0 "comparison_operator"
- [(match_operand:DI 1 "arith_operand" "r,r")
-- (match_operand:DI 2 "arith_operand" "rN,i")])
-+ (match_operand:DI 2 "arith_operand" "rN,I08")])
- (label_ref (match_operand 3 "" ""))
- (pc)))
- (clobber (match_scratch:SI 4 "=X,&r"))
-Index: gcc/config/ia64/ia64.md
-===================================================================
---- gcc/config/ia64/ia64.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/ia64/ia64.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -5818,7 +5818,7 @@
- })
+--- gcc/cp/pt.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/cp/pt.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -9708,6 +9708,7 @@
+ in_decl, /*entering_scope=*/1);
+ tree f = tsubst_copy (TYPENAME_TYPE_FULLNAME (t), args,
+ complain, in_decl);
++ int quals;
- (define_insn "call_nogp"
-- [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i"))
-+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,s"))
- (const_int 0))
- (clobber (match_operand:DI 1 "register_operand" "=b,b"))]
- ""
-@@ -5827,7 +5827,7 @@
-
- (define_insn "call_value_nogp"
- [(set (match_operand 0 "" "=X,X")
-- (call (mem:DI (match_operand:DI 1 "call_operand" "?b,i"))
-+ (call (mem:DI (match_operand:DI 1 "call_operand" "?b,s"))
- (const_int 0)))
- (clobber (match_operand:DI 2 "register_operand" "=b,b"))]
- ""
-@@ -5835,14 +5835,14 @@
- [(set_attr "itanium_class" "br,scall")])
+ if (ctx == error_mark_node || f == error_mark_node)
+ return error_mark_node;
+@@ -9757,8 +9758,15 @@
+ t, f);
+ }
- (define_insn "sibcall_nogp"
-- [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,i"))
-+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?b,s"))
- (const_int 0))]
- ""
- "br%+.many %0"
- [(set_attr "itanium_class" "br,scall")])
-
- (define_insn "call_gp"
-- [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i"))
-+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,s"))
- (const_int 1))
- (clobber (match_operand:DI 1 "register_operand" "=b,b"))
- (clobber (match_scratch:DI 2 "=&r,X"))
-@@ -5883,7 +5883,7 @@
-
- (define_insn "call_value_gp"
- [(set (match_operand 0 "" "=X,X")
-- (call (mem:DI (match_operand:DI 1 "call_operand" "?r,i"))
-+ (call (mem:DI (match_operand:DI 1 "call_operand" "?r,s"))
- (const_int 1)))
- (clobber (match_operand:DI 2 "register_operand" "=b,b"))
- (clobber (match_scratch:DI 3 "=&r,X"))
-@@ -5923,7 +5923,7 @@
- })
+- return cp_build_qualified_type_real
+- (f, cp_type_quals (f) | cp_type_quals (t), complain);
++ /* cv-quals from the template are discarded when
++ substituting in a function or reference type. */
++ if (TREE_CODE (f) == FUNCTION_TYPE
++ || TREE_CODE (f) == METHOD_TYPE
++ || TREE_CODE (f) == REFERENCE_TYPE)
++ quals = cp_type_quals (f);
++ else
++ quals = cp_type_quals (f) | cp_type_quals (t);
++ return cp_build_qualified_type_real (f, quals, complain);
+ }
- (define_insn_and_split "sibcall_gp"
-- [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i"))
-+ [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,s"))
- (const_int 1))
- (clobber (match_scratch:DI 1 "=&r,X"))
- (clobber (match_scratch:DI 2 "=b,X"))]
-Index: gcc/config/rs6000/rs6000.c
+ case UNBOUND_CLASS_TEMPLATE:
+Index: gcc/tree-ssa-loop-ivopts.c
===================================================================
---- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Subroutines used for code generation on IBM RS/6000.
- Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
-
-@@ -5232,14 +5232,6 @@
- && ! legitimate_constant_pool_address_p (operands[1])
- && ! toc_relative_expr_p (operands[1]))
- {
-- /* Emit a USE operation so that the constant isn't deleted if
-- expensive optimizations are turned on because nobody
-- references it. This should only be done for operands that
-- contain SYMBOL_REFs with CONSTANT_POOL_ADDRESS_P set.
-- This should not be done for operands that contain LABEL_REFs.
-- For now, we just handle the obvious case. */
-- if (GET_CODE (operands[1]) != LABEL_REF)
-- emit_use (operands[1]);
-
- #if TARGET_MACHO
- /* Darwin uses a special PIC legitimizer. */
-@@ -15534,7 +15526,7 @@
-
- do_compare_rtx_and_jump (opcode, tocompare, EQ, 1,
- SImode, NULL_RTX, NULL_RTX,
-- no_toc_save_needed);
-+ no_toc_save_needed, -1);
-
- mem = gen_frame_mem (Pmode,
- gen_rtx_PLUS (Pmode, stack_top,
-Index: gcc/config/arm/arm.c
-===================================================================
---- gcc/config/arm/arm.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/arm.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -10273,11 +10273,14 @@
- return "";
- }
+--- gcc/tree-ssa-loop-ivopts.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/tree-ssa-loop-ivopts.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1525,17 +1525,19 @@
--/* Output a 'call' insn that is a reference in memory. */
-+/* Output a 'call' insn that is a reference in memory. This is
-+ disabled for ARMv5 and we prefer a blx instead because otherwise
-+ there's a significant performance overhead. */
- const char *
- output_call_mem (rtx *operands)
- {
-- if (TARGET_INTERWORK && !arm_arch5)
-+ gcc_assert (!arm_arch5);
-+ if (TARGET_INTERWORK)
+ if (mode != BLKmode)
{
- output_asm_insn ("ldr%?\t%|ip, %0", operands);
- output_asm_insn ("mov%?\t%|lr, %|pc", operands);
-@@ -10289,16 +10292,11 @@
- first instruction. It's safe to use IP as the target of the
- load since the call will kill it anyway. */
- output_asm_insn ("ldr%?\t%|ip, %0", operands);
-- if (arm_arch5)
-- output_asm_insn ("blx%?\t%|ip", operands);
-+ output_asm_insn ("mov%?\t%|lr, %|pc", operands);
-+ if (arm_arch4t)
-+ output_asm_insn ("bx%?\t%|ip", operands);
- else
-- {
-- output_asm_insn ("mov%?\t%|lr, %|pc", operands);
-- if (arm_arch4t)
-- output_asm_insn ("bx%?\t%|ip", operands);
-- else
-- output_asm_insn ("mov%?\t%|pc, %|ip", operands);
-- }
-+ output_asm_insn ("mov%?\t%|pc, %|ip", operands);
+- double_int mul;
+- tree al = build_int_cst (TREE_TYPE (step),
+- GET_MODE_ALIGNMENT (mode) / BITS_PER_UNIT);
++ unsigned mode_align = GET_MODE_ALIGNMENT (mode);
+
+- if (base_align < GET_MODE_ALIGNMENT (mode)
+- || bitpos % GET_MODE_ALIGNMENT (mode) != 0
+- || bitpos % BITS_PER_UNIT != 0)
++ if (base_align < mode_align
++ || (bitpos % mode_align) != 0
++ || (bitpos % BITS_PER_UNIT) != 0)
+ return true;
+-
+- if (!constant_multiple_of (step, al, &mul))
++
++ if (toffset
++ && (highest_pow2_factor (toffset) * BITS_PER_UNIT) < mode_align)
+ return true;
++
++ if ((highest_pow2_factor (step) * BITS_PER_UNIT) < mode_align)
++ return true;
}
- else
- {
-Index: gcc/config/arm/thumb2.md
-===================================================================
---- gcc/config/arm/thumb2.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/thumb2.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1108,9 +1108,9 @@
- )
-
- (define_insn "*thumb2_addsi_short"
-- [(set (match_operand:SI 0 "low_register_operand" "=l")
-- (plus:SI (match_operand:SI 1 "low_register_operand" "l")
-- (match_operand:SI 2 "low_reg_or_int_operand" "lIL")))
-+ [(set (match_operand:SI 0 "low_register_operand" "=l,l")
-+ (plus:SI (match_operand:SI 1 "low_register_operand" "l,0")
-+ (match_operand:SI 2 "low_reg_or_int_operand" "lPt,Ps")))
- (clobber (reg:CC CC_REGNUM))]
- "TARGET_THUMB2 && reload_completed"
- "*
-@@ -1171,7 +1171,7 @@
- (clobber (reg:CC CC_REGNUM))]
- "TARGET_THUMB2"
- "*
-- if (get_attr_length (insn) == 2 && which_alternative == 0)
-+ if (get_attr_length (insn) == 2)
- return \"cbz\\t%0, %l1\";
- else
- return \"cmp\\t%0, #0\;beq\\t%l1\";
-@@ -1179,7 +1179,8 @@
- [(set (attr "length")
- (if_then_else
- (and (ge (minus (match_dup 1) (pc)) (const_int 2))
-- (le (minus (match_dup 1) (pc)) (const_int 128)))
-+ (le (minus (match_dup 1) (pc)) (const_int 128))
-+ (eq (symbol_ref ("which_alternative")) (const_int 0)))
- (const_int 2)
- (const_int 8)))]
- )
-@@ -1193,7 +1194,7 @@
- (clobber (reg:CC CC_REGNUM))]
- "TARGET_THUMB2"
- "*
-- if (get_attr_length (insn) == 2 && which_alternative == 0)
-+ if (get_attr_length (insn) == 2)
- return \"cbnz\\t%0, %l1\";
- else
- return \"cmp\\t%0, #0\;bne\\t%l1\";
-@@ -1201,7 +1202,8 @@
- [(set (attr "length")
- (if_then_else
- (and (ge (minus (match_dup 1) (pc)) (const_int 2))
-- (le (minus (match_dup 1) (pc)) (const_int 128)))
-+ (le (minus (match_dup 1) (pc)) (const_int 128))
-+ (eq (symbol_ref ("which_alternative")) (const_int 0)))
- (const_int 2)
- (const_int 8)))]
- )
-Index: gcc/config/arm/lib1funcs.asm
-===================================================================
---- gcc/config/arm/lib1funcs.asm (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/lib1funcs.asm (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -95,7 +95,8 @@
- #endif
-
- #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
-- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
-+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
-+ || defined(__ARM_ARCH_7EM__)
- # define __ARM_ARCH__ 7
- #endif
-Index: gcc/config/arm/constraints.md
+ return false;
+Index: gcc/config.in
===================================================================
---- gcc/config/arm/constraints.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/constraints.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -30,6 +30,7 @@
-
- ;; The following multi-letter normal constraints have been used:
- ;; in ARM/Thumb-2 state: Da, Db, Dc, Dn, Dl, DL, Dv
-+;; in Thumb-2 state: Ps, Pt
+--- gcc/config.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -274,8 +274,20 @@
+ #endif
- ;; The following memory constraints have been used:
- ;; in ARM/Thumb-2 state: Q, Ut, Uv, Uy, Un, Us
-@@ -129,6 +130,16 @@
- (match_test "TARGET_THUMB1 && ival >= -508 && ival <= 508
- && ((ival & 3) == 0)")))
-+(define_constraint "Ps"
-+ "@internal In Thumb-2 state a constant in the range -255 to +255"
-+ (and (match_code "const_int")
-+ (match_test "TARGET_THUMB2 && ival >= -255 && ival <= 255")))
+-/* Define if your assembler supports the sahf mnemonic. */
++/* Define if your assembler supports the .quad directive. */
+ #ifndef USED_FOR_TARGET
++#undef HAVE_AS_IX86_QUAD
++#endif
+
-+(define_constraint "Pt"
-+ "@internal In Thumb-2 state a constant in the range -7 to +7"
-+ (and (match_code "const_int")
-+ (match_test "TARGET_THUMB2 && ival >= -7 && ival <= 7")))
+
- (define_constraint "G"
- "In ARM/Thumb-2 state a valid FPA immediate constant."
- (and (match_code "const_double")
-Index: gcc/config/arm/neon.ml
-===================================================================
---- gcc/config/arm/neon.ml (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/neon.ml (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,7 +1,7 @@
- (* Common code for ARM NEON header file, documentation and test case
- generators.
-
-- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-+ Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
- Contributed by CodeSourcery.
-
- This file is part of GCC.
-@@ -233,6 +233,7 @@
- cases. The function supplied must return the integer to be written
- into the testcase for the argument number (0-based) supplied to it. *)
- | Const_valuator of (int -> int)
-+ | Fixed_return_reg
-
- exception MixedMode of elts * elts
-
-@@ -1076,9 +1077,13 @@
- Use_operands [| Dreg; Qreg |], "vget_high",
- notype_1, pf_su_8_64;
- Vget_low, [Instruction_name ["vmov"];
-- Disassembles_as [Use_operands [| Dreg; Dreg |]]],
-+ Disassembles_as [Use_operands [| Dreg; Dreg |]];
-+ Fixed_return_reg],
- Use_operands [| Dreg; Qreg |], "vget_low",
-- notype_1, pf_su_8_64;
-+ notype_1, pf_su_8_32;
-+ Vget_low, [No_op],
-+ Use_operands [| Dreg; Qreg |], "vget_low",
-+ notype_1, [S64; U64];
-
- (* Conversions. *)
- Vcvt, [InfoWord], All (2, Dreg), "vcvt", conv_1,
-Index: gcc/config/arm/neon-testgen.ml
-===================================================================
---- gcc/config/arm/neon-testgen.ml (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/neon-testgen.ml (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- (* Auto-generate ARM Neon intrinsics tests.
-- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
-+ Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
- Contributed by CodeSourcery.
-
- This file is part of GCC.
-@@ -58,7 +58,7 @@
-
- (* Emit declarations of local variables that are going to be passed
- to an intrinsic, together with one to take a returned value if needed. *)
--let emit_automatics chan c_types =
-+let emit_automatics chan c_types features =
- let emit () =
- ignore (
- List.fold_left (fun arg_number -> fun (flags, ty) ->
-@@ -75,11 +75,17 @@
- in
- match c_types with
- (_, return_ty) :: tys ->
-- if return_ty <> "void" then
-- (* The intrinsic returns a value. *)
-- (Printf.fprintf chan " %s out_%s;\n" return_ty return_ty;
-- emit ())
-- else
-+ if return_ty <> "void" then begin
-+ (* The intrinsic returns a value. We need to do explict register
-+ allocation for vget_low tests or they fail because of copy
-+ elimination. *)
-+ ((if List.mem Fixed_return_reg features then
-+ Printf.fprintf chan " register %s out_%s asm (\"d18\");\n"
-+ return_ty return_ty
-+ else
-+ Printf.fprintf chan " %s out_%s;\n" return_ty return_ty);
-+ emit ())
-+ end else
- (* The intrinsic does not return a value. *)
- emit ()
- | _ -> assert false
-@@ -256,7 +262,7 @@
- (* Emit file and function prologues. *)
- emit_prologue chan test_name;
- (* Emit local variable declarations. *)
-- emit_automatics chan c_types;
-+ emit_automatics chan c_types features;
- Printf.fprintf chan "\n";
- (* Emit the call to the intrinsic. *)
- emit_call chan const_valuator c_types name elt_ty;
-Index: gcc/config/arm/arm.md
-===================================================================
---- gcc/config/arm/arm.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/arm/arm.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -8441,12 +8441,17 @@
- (set_attr "type" "call")]
- )
-
-+
-+;; Note: not used for armv5+ because the sequence used (ldr pc, ...) is not
-+;; considered a function call by the branch predictor of some cores (PR40887).
-+;; Falls back to blx rN (*call_reg_armv5).
-+
- (define_insn "*call_mem"
- [(call (mem:SI (match_operand:SI 0 "call_memory_operand" "m"))
- (match_operand 1 "" ""))
- (use (match_operand 2 "" ""))
- (clobber (reg:SI LR_REGNUM))]
-- "TARGET_ARM"
-+ "TARGET_ARM && !arm_arch5"
- "*
- return output_call_mem (operands);
- "
-@@ -8548,13 +8553,15 @@
- (set_attr "type" "call")]
- )
-
-+;; Note: see *call_mem
-+
- (define_insn "*call_value_mem"
- [(set (match_operand 0 "" "")
- (call (mem:SI (match_operand:SI 1 "call_memory_operand" "m"))
- (match_operand 2 "" "")))
- (use (match_operand 3 "" ""))
- (clobber (reg:SI LR_REGNUM))]
-- "TARGET_ARM && (!CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))"
-+ "TARGET_ARM && !arm_arch5 && (!CONSTANT_ADDRESS_P (XEXP (operands[1], 0)))"
- "*
- return output_call_mem (&operands[1]);
- "
-Index: gcc/config/pa/pa.md
-===================================================================
---- gcc/config/pa/pa.md (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/config/pa/pa.md (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -3548,7 +3548,7 @@
-
- size = INTVAL (operands[2]);
- align = INTVAL (operands[3]);
-- align = align > 4 ? 4 : align;
-+ align = align > 4 ? 4 : (align ? align : 1);
-
- /* If size/alignment is large, then use the library routines. */
- if (size / align > 16)
-@@ -3736,7 +3736,7 @@
-
- size = INTVAL (operands[2]);
- align = INTVAL (operands[3]);
-- align = align > 8 ? 8 : align;
-+ align = align > 8 ? 8 : (align ? align : 1);
-
- /* If size/alignment is large, then use the library routines. */
- if (size / align > 16)
-Index: gcc/cfgrtl.c
-===================================================================
---- gcc/cfgrtl.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/cfgrtl.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Control flow graph manipulation code for GNU compiler.
- Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -2951,7 +2951,7 @@
- op0 = force_operand (op0, NULL_RTX);
- op1 = force_operand (op1, NULL_RTX);
- do_compare_rtx_and_jump (op0, op1, comp, 0,
-- mode, NULL_RTX, NULL_RTX, label);
-+ mode, NULL_RTX, NULL_RTX, label, -1);
- jump = get_last_insn ();
- JUMP_LABEL (jump) = label;
- LABEL_NUSES (label)++;
-Index: gcc/stmt.c
-===================================================================
---- gcc/stmt.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ gcc/stmt.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* Expands front end tree to back end RTL for GCC
-- Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
++/* Define true if the assembler supports 'rep <insn>, lock <insn>'. */
++#ifndef USED_FOR_TARGET
++#undef HAVE_AS_IX86_REP_LOCK_PREFIX
++#endif
++
++
++/* Define if your assembler supports the sahf mnemonic in 64bit mode. */
++#ifndef USED_FOR_TARGET
+ #undef HAVE_AS_IX86_SAHF
+ #endif
- This file is part of GCC.
-@@ -2472,7 +2472,7 @@
- int unsignedp)
- {
- do_compare_rtx_and_jump (op0, op1, EQ, unsignedp, mode,
-- NULL_RTX, NULL_RTX, label);
-+ NULL_RTX, NULL_RTX, label, -1);
- }
- \f
- /* Not all case values are encountered equally. This function
-Index: libstdc++-v3/include/parallel/numeric
-===================================================================
---- libstdc++-v3/include/parallel/numeric (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/parallel/numeric (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -280,7 +280,7 @@
- typedef typename
- __gnu_parallel::multiplies<value_type1, value_type2>::result
- multiplies_result_type;
-- return inner_product(first1, last1, first2, init,
-+ return _GLIBCXX_STD_P::inner_product(first1, last1, first2, init,
- __gnu_parallel::plus<T, multiplies_result_type>(),
- __gnu_parallel::
- multiplies<value_type1, value_type2>(),
-@@ -300,7 +300,7 @@
- typedef typename
- __gnu_parallel::multiplies<value_type1, value_type2>::result
- multiplies_result_type;
-- return inner_product(first1, last1, first2, init,
-+ return _GLIBCXX_STD_P::inner_product(first1, last1, first2, init,
- __gnu_parallel::plus<T, multiplies_result_type>(),
- __gnu_parallel::
- multiplies<value_type1, value_type2>());
-@@ -355,7 +355,8 @@
- partial_sum(InputIterator begin, InputIterator end, OutputIterator result)
+Index: gcc/sel-sched-ir.c
+===================================================================
+--- gcc/sel-sched-ir.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/sel-sched-ir.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1505,14 +1505,6 @@
{
- typedef typename iterator_traits<InputIterator>::value_type value_type;
-- return partial_sum(begin, end, result, std::plus<value_type>());
-+ return _GLIBCXX_STD_P::partial_sum(begin, end, result,
-+ std::plus<value_type>());
+ expr_history_def *phist = VEC_index (expr_history_def, vect, ind);
+
+- /* When merging, either old vinsns are the *same* or, if not, both
+- old and new vinsns are different pointers. In the latter case,
+- though, new vinsns should be equal. */
+- gcc_assert (phist->old_expr_vinsn == old_expr_vinsn
+- || (phist->new_expr_vinsn != new_expr_vinsn
+- && (vinsn_equal_p
+- (phist->old_expr_vinsn, old_expr_vinsn))));
+-
+ /* It is possible that speculation types of expressions that were
+ propagated through different paths will be different here. In this
+ case, merge the status to get the correct check later. */
+Index: gcc/fortran/openmp.c
+===================================================================
+--- gcc/fortran/openmp.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/fortran/openmp.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -812,6 +812,8 @@
+ if (el)
+ continue;
+ }
++ if (n->sym->attr.proc_pointer)
++ continue;
+ }
+ gfc_error ("Object '%s' is not a variable at %L", n->sym->name,
+ &code->loc);
+Index: gcc/fortran/interface.c
+===================================================================
+--- gcc/fortran/interface.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/fortran/interface.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1625,8 +1625,8 @@
+ || sym->as->lower[i]->expr_type != EXPR_CONSTANT)
+ return 0;
+
+- elements *= mpz_get_ui (sym->as->upper[i]->value.integer)
+- - mpz_get_ui (sym->as->lower[i]->value.integer) + 1L;
++ elements *= mpz_get_si (sym->as->upper[i]->value.integer)
++ - mpz_get_si (sym->as->lower[i]->value.integer) + 1L;
}
- // Public interface
-Index: libstdc++-v3/include/parallel/algobase.h
-===================================================================
---- libstdc++-v3/include/parallel/algobase.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/parallel/algobase.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -146,7 +146,7 @@
- template<typename InputIterator1, typename InputIterator2>
- inline bool
- equal(InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2)
-- { return mismatch(begin1, end1, begin2).first == end1; }
-+ { return _GLIBCXX_STD_P::mismatch(begin1, end1, begin2).first == end1; }
-
- // Public interface
- template<typename InputIterator1, typename InputIterator2,
-@@ -154,7 +154,10 @@
- inline bool
- equal(InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2,
- Predicate pred)
-- { return mismatch(begin1, end1, begin2, pred).first == end1; }
+ return strlen*elements;
+Index: gcc/fortran/trans-openmp.c
+===================================================================
+--- gcc/fortran/trans-openmp.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/fortran/trans-openmp.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -56,7 +56,8 @@
+ if (GFC_POINTER_TYPE_P (type))
+ return false;
+
+- if (!DECL_ARTIFICIAL (decl))
++ if (!DECL_ARTIFICIAL (decl)
++ && TREE_CODE (TREE_TYPE (type)) != FUNCTION_TYPE)
+ return true;
+
+ /* Some arrays are expanded as DECL_ARTIFICIAL pointers
+@@ -95,6 +96,15 @@
+ == NULL)
+ return OMP_CLAUSE_DEFAULT_SHARED;
+
++ /* Dummy procedures aren't considered variables by OpenMP, thus are
++ disallowed in OpenMP clauses. They are represented as PARM_DECLs
++ in the middle-end, so return OMP_CLAUSE_DEFAULT_FIRSTPRIVATE here
++ to avoid complaining about their uses with default(none). */
++ if (TREE_CODE (decl) == PARM_DECL
++ && TREE_CODE (TREE_TYPE (decl)) == POINTER_TYPE
++ && TREE_CODE (TREE_TYPE (TREE_TYPE (decl))) == FUNCTION_TYPE)
++ return OMP_CLAUSE_DEFAULT_FIRSTPRIVATE;
++
+ /* COMMON and EQUIVALENCE decls are shared. They
+ are only referenced through DECL_VALUE_EXPR of the variables
+ contained in them. If those are privatized, they will not be
+Index: gcc/fortran/ChangeLog
+===================================================================
+--- gcc/fortran/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/fortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,19 @@
++2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
++
++ PR fortran/44135
++ * fortran/interface.c (get_sym_storage_size): Use signed instead of
++ unsigned mpz_get_?i routines.
++
++2010-05-13 Jakub Jelinek <jakub@redhat.com>
++
++ PR fortran/44036
++ * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
++ variable lists.
++ * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
++ by reference dummy procedures or non-dummy procedure pointers.
++ (gfc_omp_predetermined_sharing): Return
++ OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: gcc/configure.ac
+===================================================================
+--- gcc/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2094,7 +2094,35 @@
+ gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden,
+ [elf,2,13,0],,
+ [ .hidden foobar
+-foobar:])
++foobar:],[
++# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with
++# STV_HIDDEN, so disable .hidden support if so.
++case "${target}" in
++ i?86-*-solaris2*)
++ if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then
++ cat > conftest.s <<EOF
++.globl hidden
++ .hidden hidden
++hidden:
++.globl default
++ .set default,hidden
++EOF
++ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
++ && $gcc_cv_objdump -t conftest.o 2>/dev/null | \
++ grep '\.hidden default' > /dev/null; then
++ gcc_cv_as_hidden=no
++ else
++ gcc_cv_as_hidden=yes
++ fi
++ else
++ # Assume bug is present if objdump is missing.
++ gcc_cv_as_hidden=no
++ fi
++ ;;
++ *)
++ gcc_cv_as_hidden=yes
++ ;;
++esac])
+
+ AC_CACHE_CHECK(linker for .hidden support, gcc_cv_ld_hidden,
+ [if test $in_tree_ld = yes ; then
+@@ -2991,11 +3019,18 @@
+ [AC_DEFINE(HAVE_AS_IX86_FFREEP, 1,
+ [Define if your assembler supports the ffreep mnemonic.])])
+
++ gcc_GAS_CHECK_FEATURE([.quad directive],
++ gcc_cv_as_ix86_quad,,,
++ [.quad 0],,
++ [AC_DEFINE(HAVE_AS_IX86_QUAD, 1,
++ [Define if your assembler supports the .quad directive.])])
++
+ gcc_GAS_CHECK_FEATURE([sahf mnemonic],
+ gcc_cv_as_ix86_sahf,,,
+- [sahf],,
++ [.code64
++ sahf],,
+ [AC_DEFINE(HAVE_AS_IX86_SAHF, 1,
+- [Define if your assembler supports the sahf mnemonic.])])
++ [Define if your assembler supports the sahf mnemonic in 64bit mode.])])
+
+ gcc_GAS_CHECK_FEATURE([different section symbol subtraction],
+ gcc_cv_as_ix86_diff_sect_delta,,,
+@@ -3009,7 +3044,7 @@
+ [AC_DEFINE(HAVE_AS_IX86_DIFF_SECT_DELTA, 1,
+ [Define if your assembler supports the subtraction of symbols in different sections.])])
+
+- # This one is used unconditionally by i386.[ch]; it is to be defined
++ # These two are used unconditionally by i386.[ch]; it is to be defined
+ # to 1 if the feature is present, 0 otherwise.
+ gcc_GAS_CHECK_FEATURE([GOTOFF in data],
+ gcc_cv_as_ix86_gotoff_in_data, [2,11,0],,
+@@ -3021,6 +3056,15 @@
+ AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,
+ [`if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`],
+ [Define true if the assembler supports '.long foo@GOTOFF'.])
++
++ gcc_GAS_CHECK_FEATURE([rep and lock prefix],
++ gcc_cv_as_ix86_rep_lock_prefix,,,
++ [rep movsl
++ lock orl $0, (%esp)])
++ AC_DEFINE_UNQUOTED(HAVE_AS_IX86_REP_LOCK_PREFIX,
++ [`if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`],
++ [Define true if the assembler supports 'rep <insn>, lock <insn>'.])
++
+ ;;
+
+ ia64*-*-*)
+Index: gcc/BASE-VER
+===================================================================
+--- gcc/BASE-VER (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/BASE-VER (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1 +1 @@
+-4.4.4
++4.4.5
+Index: gcc/alias.c
+===================================================================
+--- gcc/alias.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/alias.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2214,8 +2214,18 @@
+ if (mem_mode == VOIDmode)
+ mem_mode = GET_MODE (mem);
+
+- x_addr = get_addr (XEXP (x, 0));
+- mem_addr = get_addr (XEXP (mem, 0));
++ x_addr = XEXP (x, 0);
++ mem_addr = XEXP (mem, 0);
++ if (!((GET_CODE (x_addr) == VALUE
++ && GET_CODE (mem_addr) != VALUE
++ && reg_mentioned_p (x_addr, mem_addr))
++ || (GET_CODE (x_addr) != VALUE
++ && GET_CODE (mem_addr) == VALUE
++ && reg_mentioned_p (mem_addr, x_addr))))
+ {
-+ return _GLIBCXX_STD_P::mismatch(begin1, end1, begin2, pred).first
-+ == end1;
++ x_addr = get_addr (x_addr);
++ mem_addr = get_addr (mem_addr);
+ }
- // Sequential fallback
- template<typename InputIterator1, typename InputIterator2>
-Index: libstdc++-v3/include/parallel/partial_sum.h
-===================================================================
---- libstdc++-v3/include/parallel/partial_sum.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/parallel/partial_sum.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -155,7 +155,7 @@
- else
- {
- ::new(&(sums[iam]))
-- value_type(std::accumulate(begin + borders[iam] + 1,
-+ value_type(__gnu_parallel::accumulate(begin + borders[iam] + 1,
- begin + borders[iam + 1],
- *(begin + borders[iam]),
- bin_op,
-Index: libstdc++-v3/include/parallel/algo.h
-===================================================================
---- libstdc++-v3/include/parallel/algo.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/parallel/algo.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -289,8 +289,8 @@
- typedef typename iteratori_traits::value_type valuei_type;
- typedef typename iteratorf_traits::value_type valuef_type;
-
-- return find_first_of(begin1, end1, begin2, end2, __gnu_parallel::
-- equal_to<valuei_type, valuef_type>());
-+ return _GLIBCXX_STD_P::find_first_of(begin1, end1, begin2, end2,
-+ __gnu_parallel::equal_to<valuei_type, valuef_type>());
- }
-
- // Sequential fallback
-@@ -1152,7 +1152,7 @@
- const T& val)
- {
- typedef typename iterator_traits<ForwardIterator>::value_type value_type;
-- return search_n(begin, end, count, val,
-+ return _GLIBCXX_STD_P::search_n(begin, end, count, val,
- __gnu_parallel::equal_to<value_type, T>());
- }
+ base = find_base_term (x_addr);
+ if (base && (GET_CODE (base) == LABEL_REF
+@@ -2287,7 +2297,16 @@
+ return 0;
-@@ -2093,7 +2093,7 @@
- typedef typename iterator1_traits::value_type value1_type;
- typedef typename iterator2_traits::value_type value2_type;
+ if (! x_addr)
+- x_addr = get_addr (XEXP (x, 0));
++ {
++ x_addr = XEXP (x, 0);
++ if (!((GET_CODE (x_addr) == VALUE
++ && GET_CODE (mem_addr) != VALUE
++ && reg_mentioned_p (x_addr, mem_addr))
++ || (GET_CODE (x_addr) != VALUE
++ && GET_CODE (mem_addr) == VALUE
++ && reg_mentioned_p (mem_addr, x_addr))))
++ x_addr = get_addr (x_addr);
++ }
-- return merge(begin1, end1, begin2, end2, result,
-+ return _GLIBCXX_STD_P::merge(begin1, end1, begin2, end2, result,
- __gnu_parallel::less<value1_type, value2_type>());
- }
+ if (! base_alias_check (x_addr, mem_addr, GET_MODE (x), mem_mode))
+ return 0;
+@@ -2347,8 +2366,18 @@
+ if (nonoverlapping_memrefs_p (x, mem))
+ return 0;
+
+- x_addr = get_addr (XEXP (x, 0));
+- mem_addr = get_addr (XEXP (mem, 0));
++ x_addr = XEXP (x, 0);
++ mem_addr = XEXP (mem, 0);
++ if (!((GET_CODE (x_addr) == VALUE
++ && GET_CODE (mem_addr) != VALUE
++ && reg_mentioned_p (x_addr, mem_addr))
++ || (GET_CODE (x_addr) != VALUE
++ && GET_CODE (mem_addr) == VALUE
++ && reg_mentioned_p (mem_addr, x_addr))))
++ {
++ x_addr = get_addr (x_addr);
++ mem_addr = get_addr (mem_addr);
++ }
-@@ -2134,7 +2134,7 @@
+ if (! writep)
{
- typedef iterator_traits<RandomAccessIterator> traits_type;
- typedef typename traits_type::value_type value_type;
-- nth_element(begin, nth, end, std::less<value_type>());
-+ _GLIBCXX_STD_P::nth_element(begin, nth, end, std::less<value_type>());
- }
+Index: gcc/gimplify.c
+===================================================================
+--- gcc/gimplify.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/gimplify.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -74,9 +74,10 @@
+ enum omp_region_type
+ {
+ ORT_WORKSHARE = 0,
+- ORT_TASK = 1,
+ ORT_PARALLEL = 2,
+- ORT_COMBINED_PARALLEL = 3
++ ORT_COMBINED_PARALLEL = 3,
++ ORT_TASK = 4,
++ ORT_UNTIED_TASK = 5
+ };
+
+ struct gimplify_omp_ctx
+@@ -320,7 +321,7 @@
+ c->privatized_types = pointer_set_create ();
+ c->location = input_location;
+ c->region_type = region_type;
+- if (region_type != ORT_TASK)
++ if ((region_type & ORT_TASK) == 0)
+ c->default_kind = OMP_CLAUSE_DEFAULT_SHARED;
+ else
+ c->default_kind = OMP_CLAUSE_DEFAULT_UNSPECIFIED;
+@@ -5290,6 +5291,32 @@
+ splay_tree_insert (ctx->variables, (splay_tree_key)decl, flags);
+ }
- // Sequential fallback
-@@ -2175,7 +2175,8 @@
++/* Notice a threadprivate variable DECL used in OpenMP context CTX.
++ This just prints out diagnostics about threadprivate variable uses
++ in untied tasks. If DECL2 is non-NULL, prevent this warning
++ on that variable. */
++
++static bool
++omp_notice_threadprivate_variable (struct gimplify_omp_ctx *ctx, tree decl,
++ tree decl2)
++{
++ splay_tree_node n;
++
++ if (ctx->region_type != ORT_UNTIED_TASK)
++ return false;
++ n = splay_tree_lookup (ctx->variables, (splay_tree_key)decl);
++ if (n == NULL)
++ {
++ error ("threadprivate variable %qs used in untied task",
++ IDENTIFIER_POINTER (DECL_NAME (decl)));
++ error ("%Henclosing task", &ctx->location);
++ splay_tree_insert (ctx->variables, (splay_tree_key)decl, 0);
++ }
++ if (decl2)
++ splay_tree_insert (ctx->variables, (splay_tree_key)decl2, 0);
++ return false;
++}
++
+ /* Record the fact that DECL was used within the OpenMP context CTX.
+ IN_CODE is true when real code uses DECL, and false when we should
+ merely emit default(none) errors. Return true if DECL is going to
+@@ -5310,14 +5337,14 @@
+ if (is_global_var (decl))
{
- typedef iterator_traits<RandomAccessIterator> traits_type;
- typedef typename traits_type::value_type value_type;
-- partial_sort(begin, middle, end, std::less<value_type>());
-+ _GLIBCXX_STD_P::partial_sort(begin, middle, end,
-+ std::less<value_type>());
- }
+ if (DECL_THREAD_LOCAL_P (decl))
+- return false;
++ return omp_notice_threadprivate_variable (ctx, decl, NULL_TREE);
- // Sequential fallback
-@@ -2244,7 +2245,7 @@
- max_element(ForwardIterator begin, ForwardIterator end)
- {
- typedef typename iterator_traits<ForwardIterator>::value_type value_type;
-- return max_element(begin, end, std::less<value_type>());
-+ return _GLIBCXX_STD_P::max_element(begin, end, std::less<value_type>());
- }
+ if (DECL_HAS_VALUE_EXPR_P (decl))
+ {
+ tree value = get_base_address (DECL_VALUE_EXPR (decl));
- // Public interface
-@@ -2335,7 +2336,7 @@
- min_element(ForwardIterator begin, ForwardIterator end)
- {
- typedef typename iterator_traits<ForwardIterator>::value_type value_type;
-- return min_element(begin, end, std::less<value_type>());
-+ return _GLIBCXX_STD_P::min_element(begin, end, std::less<value_type>());
+ if (value && DECL_P (value) && DECL_THREAD_LOCAL_P (value))
+- return false;
++ return omp_notice_threadprivate_variable (ctx, decl, value);
+ }
}
- // Public interface
-Index: libstdc++-v3/include/backward/hash_map
-===================================================================
---- libstdc++-v3/include/backward/hash_map (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/hash_map (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,7 @@
- // Hashing map implementation -*- C++ -*-
-
--// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010
-+// Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -53,8 +54,8 @@
- * containing extensions from the HP/SGI STL subset).
- */
-
--#ifndef _HASH_MAP
--#define _HASH_MAP 1
-+#ifndef _BACKWARD_HASH_MAP
-+#define _BACKWARD_HASH_MAP 1
-
- #include "backward_warning.h"
- #include <bits/c++config.h>
-Index: libstdc++-v3/include/backward/hash_fun.h
-===================================================================
---- libstdc++-v3/include/backward/hash_fun.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/hash_fun.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,7 @@
- // 'struct hash' from SGI -*- C++ -*-
+@@ -5343,8 +5370,11 @@
+ case OMP_CLAUSE_DEFAULT_NONE:
+ error ("%qs not specified in enclosing parallel",
+ IDENTIFIER_POINTER (DECL_NAME (decl)));
+- error ("%Henclosing parallel", &ctx->location);
+- /* FALLTHRU */
++ if ((ctx->region_type & ORT_TASK) != 0)
++ error ("%Henclosing task", &ctx->location);
++ else
++ error ("%Henclosing parallel", &ctx->location);
++ /* FALLTHRU */
+ case OMP_CLAUSE_DEFAULT_SHARED:
+ flags |= GOVD_SHARED;
+ break;
+@@ -5356,7 +5386,7 @@
+ break;
+ case OMP_CLAUSE_DEFAULT_UNSPECIFIED:
+ /* decl will be either GOVD_FIRSTPRIVATE or GOVD_SHARED. */
+- gcc_assert (ctx->region_type == ORT_TASK);
++ gcc_assert ((ctx->region_type & ORT_TASK) != 0);
+ if (ctx->outer_context)
+ omp_notice_variable (ctx->outer_context, decl, in_code);
+ for (octx = ctx->outer_context; octx; octx = octx->outer_context)
+@@ -5859,7 +5889,10 @@
+ gimple_seq body = NULL;
+ struct gimplify_ctx gctx;
+
+- gimplify_scan_omp_clauses (&OMP_TASK_CLAUSES (expr), pre_p, ORT_TASK);
++ gimplify_scan_omp_clauses (&OMP_TASK_CLAUSES (expr), pre_p,
++ find_omp_clause (OMP_TASK_CLAUSES (expr),
++ OMP_CLAUSE_UNTIED)
++ ? ORT_UNTIED_TASK : ORT_TASK);
+
+ push_gimplify_context (&gctx);
+
+Index: gcc/tree-cfgcleanup.c
+===================================================================
+--- gcc/tree-cfgcleanup.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/tree-cfgcleanup.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,5 @@
+ /* CFG cleanup for trees.
+- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
--// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
-+// Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -53,8 +54,8 @@
- * containing extensions from the HP/SGI STL subset).
- */
+ This file is part of GCC.
+@@ -224,6 +224,7 @@
+ edge_iterator ei;
+ edge e, succ;
+ basic_block dest;
++ location_t locus;
+
+ /* BB must have a single outgoing edge. */
+ if (single_succ_p (bb) != 1
+@@ -242,6 +243,8 @@
+ gcc_assert (bb != ENTRY_BLOCK_PTR);
+ #endif
--#ifndef _HASH_FUN_H
--#define _HASH_FUN_H 1
-+#ifndef _BACKWARD_HASH_FUN_H
-+#define _BACKWARD_HASH_FUN_H 1
++ locus = single_succ_edge (bb)->goto_locus;
++
+ /* Now walk through the statements backward. We can ignore labels,
+ anything else means this is not a forwarder block. */
+ for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi); gsi_prev (&gsi))
+@@ -253,6 +256,8 @@
+ case GIMPLE_LABEL:
+ if (DECL_NONLOCAL (gimple_label_label (stmt)))
+ return false;
++ if (optimize == 0 && gimple_location (stmt) != locus)
++ return false;
+ break;
- #include <cstddef>
+ default:
+@@ -289,6 +294,10 @@
+ if (!single_pred_p (dest))
+ return false;
+ }
++ /* If goto_locus of any of the edges differs, prevent removing
++ the forwarder block for -O0. */
++ if (optimize == 0 && e->goto_locus != locus)
++ return false;
+ }
-Index: libstdc++-v3/include/backward/hashtable.h
-===================================================================
---- libstdc++-v3/include/backward/hashtable.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/hashtable.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- // Hashtable implementation used by containers -*- C++ -*-
-
--// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- // Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
-@@ -54,8 +54,8 @@
- * containing extensions from the HP/SGI STL subset).
- */
-
--#ifndef _HASHTABLE_H
--#define _HASHTABLE_H 1
-+#ifndef _BACKWARD_HASHTABLE_H
-+#define _BACKWARD_HASHTABLE_H 1
-
- // Hashtable class, used to implement the hashed associative containers
- // hash_set, hash_map, hash_multiset, and hash_multimap.
-Index: libstdc++-v3/include/backward/auto_ptr.h
-===================================================================
---- libstdc++-v3/include/backward/auto_ptr.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/auto_ptr.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -27,8 +27,8 @@
- * You should not attempt to use it directly.
- */
-
--#ifndef _STL_AUTO_PTR_H
--#define _STL_AUTO_PTR_H 1
-+#ifndef _BACKWARD_AUTO_PTR_H
-+#define _BACKWARD_AUTO_PTR_H 1
-
- #include <bits/c++config.h>
- #include <debug/debug.h>
-@@ -289,4 +289,4 @@
-
- _GLIBCXX_END_NAMESPACE
-
--#endif /* _STL_AUTO_PTR_H */
-+#endif /* _BACKWARD_AUTO_PTR_H */
-Index: libstdc++-v3/include/backward/strstream
-===================================================================
---- libstdc++-v3/include/backward/strstream (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/strstream (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,7 @@
- // Backward-compat support -*- C++ -*-
-
--// Copyright (C) 2001, 2002, 2004, 2005, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002, 2004, 2005, 2009, 2010
-+// Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -40,8 +41,8 @@
- // MAY BE REMOVED in a future standard revision. One should use the
- // header <sstream> instead.
-
--#ifndef _GLIBCXX_STRSTREAM
--#define _GLIBCXX_STRSTREAM
-+#ifndef _BACKWARD_STRSTREAM
-+#define _BACKWARD_STRSTREAM
-
- #include "backward_warning.h"
- #include <iosfwd>
-Index: libstdc++-v3/include/backward/binders.h
-===================================================================
---- libstdc++-v3/include/backward/binders.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/binders.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -54,8 +54,8 @@
- * You should not attempt to use it directly.
- */
-
--#ifndef _GLIBCXX_BINDERS_H
--#define _GLIBCXX_BINDERS_H 1
-+#ifndef _BACKWARD_BINDERS_H
-+#define _BACKWARD_BINDERS_H 1
-
- _GLIBCXX_BEGIN_NAMESPACE(std)
-
-@@ -165,4 +165,4 @@
-
- _GLIBCXX_END_NAMESPACE
-
--#endif /* _GLIBCXX_BINDERS_H */
-+#endif /* _BACKWARD_BINDERS_H */
-Index: libstdc++-v3/include/backward/hash_set
-===================================================================
---- libstdc++-v3/include/backward/hash_set (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/include/backward/hash_set (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,7 @@
- // Hashing set implementation -*- C++ -*-
-
--// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010
-+// Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -53,8 +54,8 @@
- * containing extensions from the HP/SGI STL subset).
- */
-
--#ifndef _HASH_SET
--#define _HASH_SET 1
-+#ifndef _BACKWARD_HASH_SET
-+#define _BACKWARD_HASH_SET 1
-
- #include "backward_warning.h"
- #include <bits/c++config.h>
-Index: libstdc++-v3/ChangeLog
-===================================================================
---- libstdc++-v3/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,36 @@
-+2010-03-22 Johannes Singler <singler@kit.edu>
-+
-+ * include/parallel/numeric (inner_product, partial_sum):
-+ Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity
-+ between __gnu_parallel:: and std::
-+ * include/parallel/algobase.h (equal): Likewise.
-+ * include/parallel/algo.h (find_first_of, search_n, merge, nth_element,
-+ partial_sort, max_element, min_element): Likewise.
-+ * include/parallel/partial_sum.h (parallel_partial_sum_linear):
-+ Qualify accumulate call with __gnu_parallel::.
-+
-+2010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ * include/backward/hash_map: Use consistently the _BACKWARD_*
-+ prefix for the include guard.
-+ * include/backward/hash_fun.h: Likewise.
-+ * include/backward/hashtable.h: Likewise.
-+ * include/backward/auto_ptr.h: Likewise.
-+ * include/backward/strstream: Likewise.
-+ * include/backward/binders.h: Likewise.
-+ * include/backward/hash_set: Likewise.
-+
-+2010-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-+
-+ Backport:
-+ 2010-01-20 Janis Johnson <janis187@us.ibm.com>
-+ Paolo Carlini <paolo.carlini@oracle.com>
-+
-+ PR libstdc++/21769
-+ * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
-+ * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
-+ Use it.
-+
- 2010-01-21 Release Manager
-
- * GCC 4.4.3 released.
-Index: libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
-===================================================================
---- libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- // 2001-04-06 gdr
+ return true;
+@@ -543,12 +552,8 @@
+ return true;
--// Copyright (C) 2001, 2005, 2009 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2005, 2009, 2010 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library. This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -17,8 +17,9 @@
- // with this library; see the file COPYING3. If not see
- // <http://www.gnu.org/licenses/>.
+ retval = cleanup_control_flow_bb (bb);
+-
+- /* Forwarder blocks can carry line number information which is
+- useful when debugging, so we only clean them up when
+- optimizing. */
+- if (optimize > 0
+- && tree_forwarder_block_p (bb, false)
++
++ if (tree_forwarder_block_p (bb, false)
+ && remove_forwarder_block (bb))
+ return true;
-+// { dg-do compile }
-+// { dg-add-options no_pch }
+Index: gcc/tree-ssa-pre.c
+===================================================================
+--- gcc/tree-ssa-pre.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/tree-ssa-pre.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2509,31 +2509,46 @@
+ {
+ case CALL_EXPR:
+ {
+- tree folded, sc = currop->op1;
++ tree folded, sc = NULL_TREE;
+ unsigned int nargs = 0;
+- tree *args = XNEWVEC (tree, VEC_length (vn_reference_op_s,
+- ref->operands) - 1);
++ tree fn, *args;
++ if (TREE_CODE (currop->op0) == FUNCTION_DECL)
++ fn = currop->op0;
++ else
++ {
++ pre_expr op0 = get_or_alloc_expr_for (currop->op0);
++ fn = find_or_generate_expression (block, op0, stmts, domstmt);
++ if (!fn)
++ return NULL_TREE;
++ }
++ if (currop->op1)
++ {
++ pre_expr scexpr = get_or_alloc_expr_for (currop->op1);
++ sc = find_or_generate_expression (block, scexpr, stmts, domstmt);
++ if (!sc)
++ return NULL_TREE;
++ }
++ args = XNEWVEC (tree, VEC_length (vn_reference_op_s,
++ ref->operands) - 1);
+ while (*operand < VEC_length (vn_reference_op_s, ref->operands))
+ {
+ args[nargs] = create_component_ref_by_pieces_1 (block, ref,
+ operand, stmts,
+ domstmt);
++ if (!args[nargs])
++ {
++ free (args);
++ return NULL_TREE;
++ }
+ nargs++;
+ }
+ folded = build_call_array (currop->type,
+- TREE_CODE (currop->op0) == FUNCTION_DECL
+- ? build_fold_addr_expr (currop->op0)
+- : currop->op0,
++ (TREE_CODE (fn) == FUNCTION_DECL
++ ? build_fold_addr_expr (fn) : fn),
+ nargs, args);
+ free (args);
+ if (sc)
+- {
+- pre_expr scexpr = get_or_alloc_expr_for (sc);
+- sc = find_or_generate_expression (block, scexpr, stmts, domstmt);
+- if (!sc)
+- return NULL_TREE;
+- CALL_EXPR_STATIC_CHAIN (folded) = sc;
+- }
++ CALL_EXPR_STATIC_CHAIN (folded) = sc;
+ return folded;
+ }
+ break;
+Index: gcc/c-omp.c
+===================================================================
+--- gcc/c-omp.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/c-omp.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,7 +1,7 @@
+ /* This file contains routines to construct GNU OpenMP constructs,
+ called from parsing in the C and C++ front ends.
--// { dg-do compile }
- // { dg-xfail-if "" { { *-*-linux* *-*-darwin[3-7]* } || { uclibc || newlib } } { "*" } { "" } }
- // { dg-excess-errors "" { target { { *-*-linux* *-*-darwin[3-7]* } || { uclibc || newlib } } } }
+- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
++ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>,
+ Diego Novillo <dnovillo@redhat.com>.
+
+@@ -281,7 +281,8 @@
+ || TREE_CODE (cond) == LE_EXPR
+ || TREE_CODE (cond) == GT_EXPR
+ || TREE_CODE (cond) == GE_EXPR
+- || TREE_CODE (cond) == NE_EXPR)
++ || TREE_CODE (cond) == NE_EXPR
++ || TREE_CODE (cond) == EQ_EXPR)
+ {
+ tree op0 = TREE_OPERAND (cond, 0);
+ tree op1 = TREE_OPERAND (cond, 1);
+@@ -326,18 +327,21 @@
+ cond_ok = true;
+ }
-Index: libstdc++-v3/testsuite/lib/dg-options.exp
+- if (TREE_CODE (cond) == NE_EXPR)
++ if (TREE_CODE (cond) == NE_EXPR
++ || TREE_CODE (cond) == EQ_EXPR)
+ {
+ if (!INTEGRAL_TYPE_P (TREE_TYPE (decl)))
+ cond_ok = false;
+ else if (operand_equal_p (TREE_OPERAND (cond, 1),
+ TYPE_MIN_VALUE (TREE_TYPE (decl)),
+ 0))
+- TREE_SET_CODE (cond, GT_EXPR);
++ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR
++ ? GT_EXPR : LE_EXPR);
+ else if (operand_equal_p (TREE_OPERAND (cond, 1),
+ TYPE_MAX_VALUE (TREE_TYPE (decl)),
+ 0))
+- TREE_SET_CODE (cond, LT_EXPR);
++ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR
++ ? LT_EXPR : GE_EXPR);
+ else
+ cond_ok = false;
+ }
+Index: gcc/c-common.c
===================================================================
---- libstdc++-v3/testsuite/lib/dg-options.exp (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libstdc++-v3/testsuite/lib/dg-options.exp (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- # Handlers for additional dg-xxx keywords in tests.
+--- gcc/c-common.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/c-common.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -5957,10 +5957,12 @@
+ }
+ else if (is_type)
+ {
++ if ((flags & (int) ATTR_FLAG_TYPE_IN_PLACE))
++ /* OK, modify the type in place. */;
+ /* If we have a TYPE_DECL, then copy the type, so that we
+ don't accidentally modify a builtin type. See pushdecl. */
+- if (decl && TREE_TYPE (decl) != error_mark_node
+- && DECL_ORIGINAL_TYPE (decl) == NULL_TREE)
++ else if (decl && TREE_TYPE (decl) != error_mark_node
++ && DECL_ORIGINAL_TYPE (decl) == NULL_TREE)
+ {
+ tree tt = TREE_TYPE (decl);
+ *type = build_variant_type_copy (*type);
+@@ -5969,7 +5971,7 @@
+ TREE_USED (*type) = TREE_USED (decl);
+ TREE_TYPE (decl) = *type;
+ }
+- else if (!(flags & (int) ATTR_FLAG_TYPE_IN_PLACE))
++ else
+ *type = build_variant_type_copy (*type);
--# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
-+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
- # Free Software Foundation, Inc.
- #
- # This program is free software; you can redistribute it and/or modify
-@@ -142,3 +142,8 @@
+ TYPE_ALIGN (*type) = (1 << i) * BITS_PER_UNIT;
+Index: gcc/config/s390/s390.c
+===================================================================
+--- gcc/config/s390/s390.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/s390/s390.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1657,7 +1657,7 @@
+ if (!PARAM_SET_P (PARAM_MAX_UNROLL_TIMES))
+ set_param_value ("max-unroll-times", 32);
+ if (!PARAM_SET_P (PARAM_MAX_COMPLETELY_PEELED_INSNS))
+- set_param_value ("max-completely-peeled-insns", 800);
++ set_param_value ("max-completely-peeled-insns", 2000);
+ if (!PARAM_SET_P (PARAM_MAX_COMPLETELY_PEEL_TIMES))
+ set_param_value ("max-completely-peel-times", 64);
}
- return
- }
-+
-+proc add_options_for_no_pch { flags } {
-+ # This forces any generated and possibly included PCH to be invalid.
-+ return "-D__GLIBCXX__=99999999"
-+}
-Index: libgfortran/ChangeLog
+Index: gcc/config/s390/s390.md
===================================================================
---- libgfortran/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgfortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,50 @@
-+2010-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43517
-+ * io/read.c (read_x): Return if seen EOR condition.
-+
-+2010-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43265
-+ * io/io.h: Delete prototype for read_sf, making it static.
-+ * io/read.c (read_x): Modify to call hit_eof if PAD="no".
-+ * io/transfer.c (read_sf_internal): New static function extracted from
-+ read_sf for use on internal units only. Handle empty string case.
-+ (read_sf): New factoring of this function, make it static. Add special
-+ conditions for EOF based on ADVANCE="no", PAD="no", and whether any
-+ bytes have been previously read from the record.
-+ (read_block_form): Modify to call read_sf or read_sf_internal.
-+ (next_record_r): Add a done flag similar to next_record_w. Call hit_eof
-+ if internal array unit next record returns finished, meaning an EOF was
-+ found and not done, ie not the last record expected. For external
-+ units call hit_eof if item_count is 1 or there are no pending spaces.
-+ (next_record): Update call to next_record_r.
-+
-+2010-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/43265
-+ Backport from trunk.
-+ * io/read.c (read_x): Replace the use of read_sf with equivalent lower
-+ level I/O, eliminating unneeded code and handling EOF and EOR
-+ conditions.
-+ * io/io.h: Revise prototype for read_sf.
-+ * io/transfer.c (read_sf): Delete no_error parameter and all uses of it.
-+ Set eof and eor condition flags. (read_block_form): Likewise.
-+ (next_record_r): Add condition to call to hit_eof.
-+
-+2010-03-11 Tobias Burnus <burnus@net-b.de>
-+
-+ PR fortran/43228
-+ * io/list_read.c (nml_parse_qualifier): Disable expanded_read
-+ for array sections.
-+
-+2010-02-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-+
-+ PR libfortran/42901
-+ * io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up
-+ code, and adjust logic to set namelist info pointer correctly for array
-+ qualifiers of derived type components.
-+
- 2010-01-21 Release Manager
-
- * GCC 4.4.3 released.
-Index: libgfortran/io/list_read.c
+--- gcc/config/s390/s390.md (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/s390/s390.md (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1876,7 +1876,7 @@
+ stcy\t%1,%0
+ mvi\t%S0,%b1
+ mviy\t%S0,%b1
+- *"
++ #"
+ [(set_attr "op_type" "RR,RI,RX,RXY,RX,RXY,SI,SIY,SS")
+ (set_attr "type" "lr,*,*,*,store,store,store,store,*")
+ (set_attr "z10prop" "z10_fr_E1,
+Index: gcc/config/i386/i386.md
===================================================================
---- libgfortran/io/list_read.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgfortran/io/list_read.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -287,10 +287,10 @@
- eat_line (st_parameter_dt *dtp)
+--- gcc/config/i386/i386.md (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/i386/i386.md (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1314,11 +1314,12 @@
+ UNSPEC_SAHF))]
+ "TARGET_SAHF"
{
- char c;
-- if (!is_internal_unit (dtp))
-- do
-- c = next_char (dtp);
-- while (c != '\n');
-+
-+ do
-+ c = next_char (dtp);
-+ while (c != '\n');
+-#ifdef HAVE_AS_IX86_SAHF
++#ifndef HAVE_AS_IX86_SAHF
++ if (TARGET_64BIT)
++ return ".byte\t0x9e";
++ else
++#endif
+ return "sahf";
+-#else
+- return ".byte\t0x9e";
+-#endif
}
+ [(set_attr "length" "1")
+ (set_attr "athlon_decode" "vector")
+@@ -19144,7 +19145,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movsq"
++ "rep{%;} movsq"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -19163,7 +19164,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "!TARGET_64BIT"
+- "rep movs{l|d}"
++ "rep{%;} movs{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -19182,7 +19183,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movs{l|d}"
++ "rep{%;} movs{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -19199,7 +19200,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "!TARGET_64BIT"
+- "rep movsb"
++ "rep{%;} movsb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -19216,7 +19217,7 @@
+ (mem:BLK (match_dup 4)))
+ (use (match_dup 5))]
+ "TARGET_64BIT"
+- "rep movsb"
++ "rep{%;} movsb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "both")
+@@ -19396,7 +19397,7 @@
+ (use (match_operand:DI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stosq"
++ "rep{%;} stosq"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -19413,7 +19414,7 @@
+ (use (match_operand:SI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "!TARGET_64BIT"
+- "rep stos{l|d}"
++ "rep{%;} stos{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -19430,7 +19431,7 @@
+ (use (match_operand:SI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stos{l|d}"
++ "rep{%;} stos{l|d}"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -19446,7 +19447,7 @@
+ (use (match_operand:QI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "!TARGET_64BIT"
+- "rep stosb"
++ "rep{%;} stosb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -19462,7 +19463,7 @@
+ (use (match_operand:QI 2 "register_operand" "a"))
+ (use (match_dup 4))]
+ "TARGET_64BIT"
+- "rep stosb"
++ "rep{%;} stosb"
+ [(set_attr "type" "str")
+ (set_attr "prefix_rep" "1")
+ (set_attr "memory" "store")
+@@ -19574,7 +19575,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
+ "!TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -19589,7 +19590,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (match_operand:DI 2 "register_operand" "=c"))]
+ "TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -19624,7 +19625,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
+ "!TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -19642,7 +19643,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (match_operand:DI 2 "register_operand" "=c"))]
+ "TARGET_64BIT"
+- "repz cmpsb"
++ "repz{%;} cmpsb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -19689,7 +19690,7 @@
+ (clobber (match_operand:SI 1 "register_operand" "=D"))
+ (clobber (reg:CC FLAGS_REG))]
+ "!TARGET_64BIT"
+- "repnz scasb"
++ "repnz{%;} scasb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+@@ -19703,7 +19704,7 @@
+ (clobber (match_operand:DI 1 "register_operand" "=D"))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_64BIT"
+- "repnz scasb"
++ "repnz{%;} scasb"
+ [(set_attr "type" "str")
+ (set_attr "mode" "QI")
+ (set_attr "prefix_rep" "1")])
+Index: gcc/config/i386/sol2.h
+===================================================================
+--- gcc/config/i386/sol2.h (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/i386/sol2.h (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -72,7 +72,7 @@
+ #define LOCAL_LABEL_PREFIX "."
+
+ /* The 32-bit Solaris assembler does not support .quad. Do not use it. */
+-#ifndef TARGET_BI_ARCH
++#ifndef HAVE_AS_IX86_QUAD
+ #undef ASM_QUAD
+ #endif
-
-@@ -2092,6 +2092,14 @@
- }
- }
-
-+ if (is_array_section == 1 && dtp->u.p.expanded_read == 1)
-+ {
-+ int i;
-+ dtp->u.p.expanded_read = 0;
-+ for (i = 0; i < dim; i++)
-+ ls[i].end = ls[i].start;
-+ }
-+
- /* Check the values of the triplet indices. */
- if ((ls[dim].start > (ssize_t)ad[dim].ubound)
- || (ls[dim].start < (ssize_t)ad[dim].lbound)
-@@ -2563,7 +2571,7 @@
- namelist_info * first_nl = NULL;
- namelist_info * root_nl = NULL;
- int dim, parsed_rank;
-- int component_flag;
-+ int component_flag, qualifier_flag;
- index_type clow, chigh;
- int non_zero_rank_count;
-
-@@ -2612,11 +2620,12 @@
- break;
+Index: gcc/config/i386/sync.md
+===================================================================
+--- gcc/config/i386/sync.md (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/i386/sync.md (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,5 @@
+ ;; GCC machine description for i386 synchronization instructions.
+-;; Copyright (C) 2005, 2006, 2007, 2008, 2009
++;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+ ;; Free Software Foundation, Inc.
+ ;;
+ ;; This file is part of GCC.
+@@ -51,7 +51,7 @@
+ (unspec:BLK [(match_dup 0)] UNSPEC_MFENCE))
+ (clobber (reg:CC FLAGS_REG))]
+ "!(TARGET_64BIT || TARGET_SSE2)"
+- "lock{%;| }or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
++ "lock{%;} or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
+ [(set_attr "memory" "unknown")])
+
+ ;; ??? It would be possible to use cmpxchg8b on pentium for DImode
+@@ -111,7 +111,7 @@
+ UNSPECV_CMPXCHG))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_CMPXCHG"
+- "lock{%;| }cmpxchg{<modesuffix>}\t{%3, %1|%1, %3}")
++ "lock{%;} cmpxchg{<modesuffix>}\t{%3, %1|%1, %3}")
+
+ (define_insn "sync_double_compare_and_swap<mode>"
+ [(set (match_operand:DCASMODE 0 "register_operand" "=A")
+@@ -125,7 +125,7 @@
+ UNSPECV_CMPXCHG))
+ (clobber (reg:CC FLAGS_REG))]
+ ""
+- "lock{%;| }cmpxchg<doublemodesuffix>b\t%1")
++ "lock{%;} cmpxchg<doublemodesuffix>b\t%1")
+
+ ;; Theoretically we'd like to use constraint "r" (any reg) for operand
+ ;; 3, but that includes ecx. If operand 3 and 4 are the same (like when
+@@ -148,7 +148,7 @@
+ UNSPECV_CMPXCHG))
+ (clobber (reg:CC FLAGS_REG))]
+ "!TARGET_64BIT && TARGET_CMPXCHG8B && flag_pic"
+- "xchg{l}\t%%ebx, %3\;lock{%;| }cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
++ "xchg{l}\t%%ebx, %3\;lock{%;} cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
+
+ (define_expand "sync_compare_and_swap_cc<mode>"
+ [(parallel
+@@ -213,7 +213,7 @@
+ [(match_dup 1) (match_dup 2) (match_dup 3)] UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ "TARGET_CMPXCHG"
+- "lock{%;| }cmpxchg{<modesuffix>}\t{%3, %1|%1, %3}")
++ "lock{%;} cmpxchg{<modesuffix>}\t{%3, %1|%1, %3}")
+
+ (define_insn "sync_double_compare_and_swap_cc<mode>"
+ [(set (match_operand:DCASMODE 0 "register_operand" "=A")
+@@ -232,7 +232,7 @@
+ UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ ""
+- "lock{%;| }cmpxchg<doublemodesuffix>b\t%1")
++ "lock{%;} cmpxchg<doublemodesuffix>b\t%1")
+
+ ;; See above for the explanation of using the constraint "SD" for
+ ;; operand 3.
+@@ -253,7 +253,7 @@
+ UNSPECV_CMPXCHG)
+ (match_dup 2)))]
+ "!TARGET_64BIT && TARGET_CMPXCHG8B && flag_pic"
+- "xchg{l}\t%%ebx, %3\;lock{%;| }cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
++ "xchg{l}\t%%ebx, %3\;lock{%;} cmpxchg8b\t%1\;xchg{l}\t%%ebx, %3")
+
+ (define_insn "sync_old_add<mode>"
+ [(set (match_operand:IMODE 0 "register_operand" "=<modeconstraint>")
+@@ -264,7 +264,7 @@
+ (match_operand:IMODE 2 "register_operand" "0")))
+ (clobber (reg:CC FLAGS_REG))]
+ "TARGET_XADD"
+- "lock{%;| }xadd{<modesuffix>}\t{%0, %1|%1, %0}")
++ "lock{%;} xadd{<modesuffix>}\t{%0, %1|%1, %0}")
+
+ ;; Recall that xchg implicitly sets LOCK#, so adding it again wastes space.
+ (define_insn "sync_lock_test_and_set<mode>"
+@@ -288,12 +288,12 @@
+ if (TARGET_USE_INCDEC)
+ {
+ if (operands[1] == const1_rtx)
+- return "lock{%;| }inc{<modesuffix>}\t%0";
++ return "lock{%;} inc{<modesuffix>}\t%0";
+ if (operands[1] == constm1_rtx)
+- return "lock{%;| }dec{<modesuffix>}\t%0";
++ return "lock{%;} dec{<modesuffix>}\t%0";
}
-- /* Untouch all nodes of the namelist and reset the flag that is set for
-+ /* Untouch all nodes of the namelist and reset the flags that are set for
- derived type components. */
-
- nml_untouch_nodes (dtp);
- component_flag = 0;
-+ qualifier_flag = 0;
- non_zero_rank_count = 0;
-
- /* Get the object name - should '!' and '\n' be permitted separators? */
-@@ -2698,10 +2707,11 @@
- " for namelist variable %s", nl->var_name);
- goto nml_err_ret;
- }
--
- if (parsed_rank > 0)
- non_zero_rank_count++;
-
-+ qualifier_flag = 1;
-+
- c = next_char (dtp);
- unget_char (dtp, c);
- }
-@@ -2726,6 +2736,7 @@
+- return "lock{%;| }add{<modesuffix>}\t{%1, %0|%0, %1}";
++ return "lock{%;} add{<modesuffix>}\t{%1, %0|%0, %1}";
+ })
- root_nl = nl;
- component_flag = 1;
-+
- c = next_char (dtp);
- goto get_name;
- }
-@@ -2766,15 +2777,6 @@
- unget_char (dtp, c);
+ (define_insn "sync_sub<mode>"
+@@ -308,12 +308,12 @@
+ if (TARGET_USE_INCDEC)
+ {
+ if (operands[1] == const1_rtx)
+- return "lock{%;| }dec{<modesuffix>}\t%0";
++ return "lock{%;} dec{<modesuffix>}\t%0";
+ if (operands[1] == constm1_rtx)
+- return "lock{%;| }inc{<modesuffix>}\t%0";
++ return "lock{%;} inc{<modesuffix>}\t%0";
}
-- /* If a derived type touch its components and restore the root
-- namelist_info if we have parsed a qualified derived type
-- component. */
--
-- if (nl->type == GFC_DTYPE_DERIVED)
-- nml_touch_nodes (nl);
-- if (component_flag && nl->var_rank > 0 && nl->next)
-- nl = first_nl;
--
- /* Make sure no extraneous qualifiers are there. */
+- return "lock{%;| }sub{<modesuffix>}\t{%1, %0|%0, %1}";
++ return "lock{%;} sub{<modesuffix>}\t{%1, %0|%0, %1}";
+ })
- if (c == '(')
-@@ -2819,10 +2821,24 @@
- nl->var_name);
- goto nml_err_ret;
+ (define_insn "sync_ior<mode>"
+@@ -324,7 +324,7 @@
+ UNSPECV_LOCK))
+ (clobber (reg:CC FLAGS_REG))]
+ ""
+- "lock{%;| }or{<modesuffix>}\t{%1, %0|%0, %1}")
++ "lock{%;} or{<modesuffix>}\t{%1, %0|%0, %1}")
+
+ (define_insn "sync_and<mode>"
+ [(set (match_operand:IMODE 0 "memory_operand" "+m")
+@@ -334,7 +334,7 @@
+ UNSPECV_LOCK))
+ (clobber (reg:CC FLAGS_REG))]
+ ""
+- "lock{%;| }and{<modesuffix>}\t{%1, %0|%0, %1}")
++ "lock{%;} and{<modesuffix>}\t{%1, %0|%0, %1}")
+
+ (define_insn "sync_xor<mode>"
+ [(set (match_operand:IMODE 0 "memory_operand" "+m")
+@@ -344,4 +344,4 @@
+ UNSPECV_LOCK))
+ (clobber (reg:CC FLAGS_REG))]
+ ""
+- "lock{%;| }xor{<modesuffix>}\t{%1, %0|%0, %1}")
++ "lock{%;} xor{<modesuffix>}\t{%1, %0|%0, %1}")
+Index: gcc/config/i386/i386.c
+===================================================================
+--- gcc/config/i386/i386.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/i386/i386.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -2358,7 +2358,7 @@
+ if (flags && add_nl_p)
+ {
+ opts[num++][0] = target_other;
+- sprintf (target_other, "(other flags: 0x%x)", isa);
++ sprintf (target_other, "(other flags: 0x%x)", flags);
}
-+ /* If a derived type, touch its components and restore the root
-+ namelist_info if we have parsed a qualified derived type
-+ component. */
-- if (first_nl != NULL && first_nl->var_rank > 0)
-- nl = first_nl;
--
-+ if (nl->type == GFC_DTYPE_DERIVED)
-+ nml_touch_nodes (nl);
-+
-+ if (first_nl)
-+ {
-+ if (first_nl->var_rank == 0)
-+ {
-+ if (component_flag && qualifier_flag)
-+ nl = first_nl;
-+ }
-+ else
-+ nl = first_nl;
-+ }
-+
- if (nml_read_obj (dtp, nl, 0, pprev_nl, nml_err_msg, nml_err_msg_size,
- clow, chigh) == FAILURE)
- goto nml_err_ret;
-Index: libgfortran/io/read.c
-===================================================================
---- libgfortran/io/read.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgfortran/io/read.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1019,16 +1019,84 @@
- * and never look at it. */
+ /* Add -fpmath= option. */
+@@ -11277,10 +11277,8 @@
+ return;
- void
--read_x (st_parameter_dt * dtp, int n)
-+read_x (st_parameter_dt *dtp, int n)
- {
-+ int length;
-+ char *p, q;
-+
- if ((dtp->u.p.current_unit->pad_status == PAD_NO || is_internal_unit (dtp))
- && dtp->u.p.current_unit->bytes_left < n)
- n = dtp->u.p.current_unit->bytes_left;
-+
-+ if (n == 0)
-+ return;
+ case ';':
+-#if TARGET_MACHO
+- fputs (" ; ", file);
+-#else
+- fputc (' ', file);
++#if TARGET_MACHO || !HAVE_AS_IX86_REP_LOCK_PREFIX
++ fputs (";", file);
+ #endif
+ return;
-- dtp->u.p.sf_read_comma = 0;
-- if (n > 0)
-- read_sf (dtp, &n, 1);
-- dtp->u.p.sf_read_comma = 1;
-+ length = n;
-+
-+ if (is_internal_unit (dtp))
-+ {
-+ p = mem_alloc_r (dtp->u.p.current_unit->s, &length);
-+ if (unlikely (length < n))
-+ n = length;
-+ goto done;
-+ }
-+
-+ if (dtp->u.p.sf_seen_eor)
-+ return;
-+
-+ p = fbuf_read (dtp->u.p.current_unit, &length);
-+ if (p == NULL)
-+ {
-+ hit_eof (dtp);
-+ return;
-+ }
-+
-+ if (length == 0 && dtp->u.p.item_count == 1)
-+ {
-+ if (dtp->u.p.current_unit->pad_status == PAD_NO)
-+ {
-+ hit_eof (dtp);
-+ return;
-+ }
-+ else
-+ return;
-+ }
-+
-+ n = 0;
-+ while (n < length)
-+ {
-+ q = *p;
-+ if (q == '\n' || q == '\r')
-+ {
-+ /* Unexpected end of line. Set the position. */
-+ fbuf_seek (dtp->u.p.current_unit, n + 1 ,SEEK_CUR);
-+ dtp->u.p.sf_seen_eor = 1;
-+
-+ /* If we encounter a CR, it might be a CRLF. */
-+ if (q == '\r') /* Probably a CRLF */
-+ {
-+ /* See if there is an LF. Use fbuf_read rather then fbuf_getc so
-+ the position is not advanced unless it really is an LF. */
-+ int readlen = 1;
-+ p = fbuf_read (dtp->u.p.current_unit, &readlen);
-+ if (*p == '\n' && readlen == 1)
-+ {
-+ dtp->u.p.sf_seen_eor = 2;
-+ fbuf_seek (dtp->u.p.current_unit, 1 ,SEEK_CUR);
-+ }
-+ }
-+ goto done;
-+ }
-+ n++;
-+ p++;
-+ }
-+
-+ fbuf_seek (dtp->u.p.current_unit, n, SEEK_CUR);
-+
-+ done:
-+ if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
-+ dtp->u.p.size_used += (GFC_IO_INT) n;
-+ dtp->u.p.current_unit->bytes_left -= n;
- dtp->u.p.current_unit->strm_pos += (gfc_offset) n;
- }
+@@ -20618,6 +20616,7 @@
+ {
+ ix86_builtins_isa[(int) code].isa = mask;
-Index: libgfortran/io/io.h
++ mask &= ~OPTION_MASK_ISA_64BIT;
+ if ((mask & ix86_isa_flags) != 0
+ || (lang_hooks.builtin_function
+ == lang_hooks.builtin_function_ext_scope))
+Index: gcc/config/sh/sh.c
===================================================================
---- libgfortran/io/io.h (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgfortran/io/io.h (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -848,9 +848,6 @@
- extern void * read_block_form (st_parameter_dt *, int *);
- internal_proto(read_block_form);
-
--extern char *read_sf (st_parameter_dt *, int *, int);
--internal_proto(read_sf);
--
- extern void *write_block (st_parameter_dt *, int);
- internal_proto(write_block);
-
-Index: libgfortran/io/transfer.c
+--- gcc/config/sh/sh.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/sh/sh.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -3884,6 +3884,7 @@
+ int si_limit;
+ int hi_limit;
+ rtx orig = from;
++ rtx last_symoff = NULL_RTX;
+
+ /* For HImode: range is 510, add 4 because pc counts from address of
+ second instruction after this one, subtract 2 for the jump instruction
+@@ -4015,6 +4016,16 @@
+ {
+ switch (untangle_mova (&num_mova, &mova, from))
+ {
++ case 1:
++ if (flag_pic)
++ {
++ rtx src = SET_SRC (PATTERN (from));
++ if (GET_CODE (src) == CONST
++ && GET_CODE (XEXP (src, 0)) == UNSPEC
++ && XINT (XEXP (src, 0), 1) == UNSPEC_SYMOFF)
++ last_symoff = from;
++ }
++ break;
+ case 0: return find_barrier (0, 0, mova);
+ case 2:
+ {
+@@ -4120,6 +4131,12 @@
+ so we'll make one. */
+ rtx label = gen_label_rtx ();
+
++ /* Don't emit a constant table in the middle of insns for
++ casesi_worker_2. This is a bit overkill but is enough
++ because casesi_worker_2 wouldn't appear so frequently. */
++ if (last_symoff)
++ from = last_symoff;
++
+ /* If we exceeded the range, then we must back up over the last
+ instruction we looked at. Otherwise, we just need to undo the
+ NEXT_INSN at the end of the loop. */
+Index: gcc/config/cris/cris.md
+===================================================================
+--- gcc/config/cris/cris.md (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/cris/cris.md (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1868,7 +1868,7 @@
+ add%u2 %2,%0
+ addo.%Z2 %2,%1,%0"
+ [(set_attr "slottable" "yes,yes,yes,yes,yes,yes,yes,no,no,no,no,no,no")
+- (set_attr "cc" "*,none,*,none,*,*,none,*,*,*,*,*,none")])
++ (set_attr "cc" "*,none,*,none,*,*,none,*,none,*,*,*,none")])
+ \f
+ (define_insn "*addhi3_non_v32"
+ [(set (match_operand:HI 0 "register_operand" "=r,r, r,r,r,r")
+Index: gcc/config/rs6000/rs6000.c
===================================================================
---- libgfortran/io/transfer.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libgfortran/io/transfer.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -162,9 +162,7 @@
+--- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -759,7 +759,6 @@
+ static void emit_frame_save (rtx, rtx, enum machine_mode, unsigned int,
+ int, HOST_WIDE_INT);
+ static rtx gen_frame_mem_offset (enum machine_mode, rtx, int);
+-static void rs6000_emit_allocate_stack (HOST_WIDE_INT, int, int);
+ static unsigned rs6000_hash_constant (rtx);
+ static unsigned toc_hash_function (const void *);
+ static int toc_hash_eq (const void *, const void *);
+@@ -15548,13 +15547,11 @@
}
+ /* Emit the correct code for allocating stack space, as insns.
+- If COPY_R12, make sure a copy of the old frame is left in r12.
+- If COPY_R11, make sure a copy of the old frame is left in r11,
+- in preference to r12 if COPY_R12.
++ If COPY_REG, make sure a copy of the old frame is left there.
+ The generated code may use hard register 0 as a temporary. */
--/* Mid level data transfer statements. These subroutines do reading
-- and writing in the style of salloc_r()/salloc_w() within the
-- current record. */
-+/* Mid level data transfer statements. */
-
- /* When reading sequential formatted records we have a problem. We
- don't know how long the line is until we read the trailing newline,
-@@ -177,24 +175,56 @@
- we hit the newline. For small allocations, we use a static buffer.
- For larger allocations, we are forced to allocate memory on the
- heap. Hopefully this won't happen very often. */
-+
-+/* Read sequential file - internal unit */
-
--char *
--read_sf (st_parameter_dt *dtp, int * length, int no_error)
-+static char *
-+read_sf_internal (st_parameter_dt *dtp, int * length)
+ static void
+-rs6000_emit_allocate_stack (HOST_WIDE_INT size, int copy_r12, int copy_r11)
++rs6000_emit_allocate_stack (HOST_WIDE_INT size, rtx copy_reg)
{
- static char *empty_string[0];
-- char *base, *p, q;
-- int n, lorig, memread, seen_comma;
-+ char *base;
-+ int lorig;
-
-- /* If we hit EOF previously with the no_error flag set (i.e. X, T,
-- TR edit descriptors), and we now try to read again, this time
-- without setting no_error. */
-- if (!no_error && dtp->u.p.at_eof)
-+ if (dtp->internal_unit_len == 0
-+ && dtp->u.p.current_unit->pad_status == PAD_NO)
-+ hit_eof (dtp);
-+
-+ /* If we have seen an eor previously, return a length of 0. The
-+ caller is responsible for correctly padding the input field. */
-+ if (dtp->u.p.sf_seen_eor)
- {
- *length = 0;
-+ /* Just return something that isn't a NULL pointer, otherwise the
-+ caller thinks an error occured. */
-+ return (char*) empty_string;
-+ }
-+
-+ lorig = *length;
-+ base = mem_alloc_r (dtp->u.p.current_unit->s, length);
-+ if (unlikely (lorig > *length))
-+ {
- hit_eof (dtp);
- return NULL;
- }
-
-+ dtp->u.p.current_unit->bytes_left -= *length;
-+
-+ if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
-+ dtp->u.p.size_used += (GFC_IO_INT) *length;
-+
-+ return base;
-+
-+}
-+
-+/* Read sequential file - external unit */
-+
-+static char *
-+read_sf (st_parameter_dt *dtp, int * length)
-+{
-+ static char *empty_string[0];
-+ char *base, *p, q;
-+ int n, lorig, seen_comma;
-+
- /* If we have seen an eor previously, return a length of 0. The
- caller is responsible for correctly padding the input field. */
- if (dtp->u.p.sf_seen_eor)
-@@ -205,19 +235,6 @@
- return (char*) empty_string;
+ rtx insn;
+ rtx stack_reg = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM);
+@@ -15604,11 +15601,8 @@
+ warning (0, "stack limit expression is not supported");
}
-- if (is_internal_unit (dtp))
-- {
-- memread = *length;
-- base = mem_alloc_r (dtp->u.p.current_unit->s, length);
-- if (unlikely (memread > *length))
-- {
-- hit_eof (dtp);
-- return NULL;
-- }
-- n = *length;
-- goto done;
-- }
--
- n = seen_comma = 0;
+- if (copy_r12 || copy_r11)
+- emit_move_insn (copy_r11
+- ? gen_rtx_REG (Pmode, 11)
+- : gen_rtx_REG (Pmode, 12),
+- stack_reg);
++ if (copy_reg)
++ emit_move_insn (copy_reg, stack_reg);
- /* Read data into format buffer and scan through it. */
-@@ -260,8 +277,6 @@
- so we can just continue with a short read. */
- if (dtp->u.p.current_unit->pad_status == PAD_NO)
- {
-- if (likely (no_error))
-- break;
- generate_error (&dtp->common, LIBERROR_EOR, NULL);
- return NULL;
- }
-@@ -291,13 +306,29 @@
- some other stuff. Set the relevant flags. */
- if (lorig > *length && !dtp->u.p.sf_seen_eor && !seen_comma)
+ if (size > 32767)
{
-- if (n > 0 || no_error)
-- dtp->u.p.at_eof = 1;
-- else
-+ if (n > 0)
- {
-- hit_eof (dtp);
-- return NULL;
-- }
-+ if (dtp->u.p.advance_status == ADVANCE_NO)
-+ {
-+ if (dtp->u.p.current_unit->pad_status == PAD_NO)
-+ {
-+ hit_eof (dtp);
-+ return NULL;
-+ }
-+ else
-+ dtp->u.p.eor_condition = 1;
-+ }
-+ else
-+ dtp->u.p.at_eof = 1;
+@@ -16180,20 +16174,33 @@
+ ? (!saving_GPRs_inline
+ && info->spe_64bit_regs_used == 0)
+ : (!saving_FPRs_inline || !saving_GPRs_inline));
++ rtx copy_reg = need_r11 ? gen_rtx_REG (Pmode, 11) : NULL;
++
+ if (info->total_size < 32767)
+ sp_offset = info->total_size;
++ else if (need_r11)
++ frame_reg_rtx = copy_reg;
++ else if (info->cr_save_p
++ || info->lr_save_p
++ || info->first_fp_reg_save < 64
++ || info->first_gp_reg_save < 32
++ || info->altivec_size != 0
++ || info->vrsave_mask != 0
++ || crtl->calls_eh_return)
++ {
++ copy_reg = frame_ptr_rtx;
++ frame_reg_rtx = copy_reg;
+ }
-+ else if (dtp->u.p.advance_status == ADVANCE_NO
-+ || dtp->u.p.current_unit->pad_status == PAD_NO
-+ || dtp->u.p.current_unit->bytes_left
-+ == dtp->u.p.current_unit->recl)
+ else
+- frame_reg_rtx = (need_r11
+- ? gen_rtx_REG (Pmode, 11)
+- : frame_ptr_rtx);
+- rs6000_emit_allocate_stack (info->total_size,
+- (frame_reg_rtx != sp_reg_rtx
+- && (info->cr_save_p
+- || info->lr_save_p
+- || info->first_fp_reg_save < 64
+- || info->first_gp_reg_save < 32
+- )),
+- need_r11);
+ {
-+ hit_eof (dtp);
-+ return NULL;
++ /* The prologue won't be saving any regs so there is no need
++ to set up a frame register to access any frame save area.
++ We also won't be using sp_offset anywhere below, but set
++ the correct value anyway to protect against future
++ changes to this function. */
++ sp_offset = info->total_size;
+ }
++ rs6000_emit_allocate_stack (info->total_size, copy_reg);
+ if (frame_reg_rtx != sp_reg_rtx)
+ rs6000_emit_stack_tie ();
}
-
- done:
-@@ -338,7 +369,8 @@
- dtp->u.p.current_unit->bytes_left = dtp->u.p.current_unit->recl;
- else
- {
-- if (unlikely (dtp->u.p.current_unit->pad_status == PAD_NO))
-+ if (unlikely (dtp->u.p.current_unit->pad_status == PAD_NO)
-+ && !is_internal_unit (dtp))
- {
- /* Not enough data left. */
- generate_error (&dtp->common, LIBERROR_EOR, NULL);
-@@ -346,9 +378,10 @@
- }
- }
-
-- if (unlikely (dtp->u.p.current_unit->bytes_left == 0))
-+ if (unlikely (dtp->u.p.current_unit->bytes_left == 0
-+ && !is_internal_unit(dtp)))
- {
-- hit_eof (dtp);
-+ hit_eof (dtp);
- return NULL;
- }
-
-@@ -360,7 +393,11 @@
- (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL ||
- dtp->u.p.current_unit->flags.access == ACCESS_STREAM))
+@@ -16627,16 +16634,19 @@
+ if (!WORLD_SAVE_P (info) && info->push_p
+ && !(DEFAULT_ABI == ABI_V4 || crtl->calls_eh_return))
{
-- source = read_sf (dtp, nbytes, 0);
-+ if (is_internal_unit (dtp))
-+ source = read_sf_internal (dtp, nbytes);
-+ else
-+ source = read_sf (dtp, nbytes);
++ rtx copy_reg = NULL;
+
- dtp->u.p.current_unit->strm_pos +=
- (gfc_offset) (*nbytes + dtp->u.p.sf_seen_eor);
- return source;
-@@ -2641,7 +2678,7 @@
- /* Space to the next record for read mode. */
-
- static void
--next_record_r (st_parameter_dt *dtp)
-+next_record_r (st_parameter_dt *dtp, int done)
- {
- gfc_offset record;
- int bytes_left;
-@@ -2668,10 +2705,9 @@
- case FORMATTED_SEQUENTIAL:
- /* read_sf has already terminated input because of an '\n', or
- we have hit EOF. */
-- if (dtp->u.p.sf_seen_eor || dtp->u.p.at_eof)
-+ if (dtp->u.p.sf_seen_eor)
- {
- dtp->u.p.sf_seen_eor = 0;
-- dtp->u.p.at_eof = 0;
- break;
- }
-
-@@ -2683,6 +2719,8 @@
-
- record = next_array_record (dtp, dtp->u.p.current_unit->ls,
- &finished);
-+ if (!done && finished)
-+ hit_eof (dtp);
-
- /* Now seek to this record. */
- record = record * dtp->u.p.current_unit->recl;
-@@ -2720,8 +2758,9 @@
- {
- if (errno != 0)
- generate_error (&dtp->common, LIBERROR_OS, NULL);
-- else
-- hit_eof (dtp);
-+ else if (dtp->u.p.item_count == 1
-+ || dtp->u.p.pending_spaces == 0)
-+ hit_eof (dtp);
- break;
- }
-
-@@ -3061,7 +3100,7 @@
- dtp->u.p.current_unit->read_bad = 0;
-
- if (dtp->u.p.mode == READING)
-- next_record_r (dtp);
-+ next_record_r (dtp, done);
- else
- next_record_w (dtp, done);
+ if (info->total_size < 32767)
+- sp_offset = info->total_size;
++ sp_offset = info->total_size;
++ else if (info->altivec_size != 0
++ || info->vrsave_mask != 0)
++ {
++ copy_reg = frame_ptr_rtx;
++ frame_reg_rtx = copy_reg;
++ }
+ else
+- frame_reg_rtx = frame_ptr_rtx;
+- rs6000_emit_allocate_stack (info->total_size,
+- (frame_reg_rtx != sp_reg_rtx
+- && ((info->altivec_size != 0)
+- || (info->vrsave_mask != 0)
+- )),
+- FALSE);
++ sp_offset = info->total_size;
++ rs6000_emit_allocate_stack (info->total_size, copy_reg);
+ if (frame_reg_rtx != sp_reg_rtx)
+ rs6000_emit_stack_tie ();
+ }
+@@ -17152,6 +17162,16 @@
+ frame_reg_rtx = sp_reg_rtx;
+ if (DEFAULT_ABI == ABI_V4)
+ frame_reg_rtx = gen_rtx_REG (Pmode, 11);
++ /* Prevent reordering memory accesses against stack pointer restore. */
++ else if (cfun->calls_alloca
++ || info->total_size > (TARGET_32BIT ? 220 : 288))
++ {
++ rtx mem1 = gen_rtx_MEM (BLKmode, hard_frame_pointer_rtx);
++ rtx mem2 = gen_rtx_MEM (BLKmode, sp_reg_rtx);
++ MEM_NOTRAP_P (mem1) = 1;
++ MEM_NOTRAP_P (mem2) = 1;
++ emit_insn (gen_frame_tie (mem1, mem2));
++ }
-Index: libmudflap/ChangeLog
+ emit_insn (TARGET_32BIT
+ ? gen_addsi3 (frame_reg_rtx, hard_frame_pointer_rtx,
+@@ -17164,6 +17184,14 @@
+ && DEFAULT_ABI != ABI_V4
+ && !crtl->calls_eh_return)
+ {
++ /* Prevent reordering memory accesses against stack pointer restore. */
++ if (cfun->calls_alloca
++ || info->total_size > (TARGET_32BIT ? 220 : 288))
++ {
++ rtx mem = gen_rtx_MEM (BLKmode, sp_reg_rtx);
++ MEM_NOTRAP_P (mem) = 1;
++ emit_insn (gen_stack_tie (mem));
++ }
+ emit_insn (TARGET_32BIT
+ ? gen_addsi3 (sp_reg_rtx, sp_reg_rtx,
+ GEN_INT (info->total_size))
+Index: gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc/config/rs6000/rs6000.md (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ gcc/config/rs6000/rs6000.md (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -14732,7 +14732,16 @@
+ ""
+ [(set_attr "length" "0")])
+
++; Like stack_tie, but depend on both fp and sp based memory.
++(define_insn "frame_tie"
++ [(set (match_operand:BLK 0 "memory_operand" "+m")
++ (unspec:BLK [(match_dup 0)
++ (match_operand:BLK 1 "memory_operand" "m")] UNSPEC_TIE))]
++ ""
++ ""
++ [(set_attr "length" "0")])
+
++
+ (define_expand "epilogue"
+ [(use (const_int 0))]
+ "TARGET_SCHED_PROLOG"
+Index: libstdc++-v3/Makefile.in
+===================================================================
+--- libstdc++-v3/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libstdc++-v3/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -36,13 +36,14 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
+- $(srcdir)/../config.sub $(srcdir)/../install-sh \
+- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+- $(top_srcdir)/configure $(top_srcdir)/fragment.am \
+- $(top_srcdir)/scripts/testsuite_flags.in ChangeLog
++DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub README ChangeLog $(srcdir)/Makefile.in \
++ $(srcdir)/Makefile.am $(top_srcdir)/configure \
++ $(am__configure_deps) $(srcdir)/config.h.in \
++ $(srcdir)/../mkinstalldirs \
++ $(top_srcdir)/scripts/testsuite_flags.in \
++ $(srcdir)/../ltmain.sh $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
+@@ -72,7 +73,6 @@
+ depcomp =
+ am__depfiles_maybe =
+ SOURCES =
+-DIST_SOURCES =
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -88,17 +88,6 @@
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = include libsupc++ doc src po testsuite
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
+ ACLOCAL = @ACLOCAL@
+ ALLOCATOR_H = @ALLOCATOR_H@
+@@ -557,149 +546,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/scripts
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile all-multi config.h
+@@ -783,16 +629,14 @@
+
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
+ am--refresh check check-am clean clean-generic clean-libtool \
+- clean-multi clean-recursive ctags ctags-recursive dist \
+- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
+- distcheck distclean distclean-generic distclean-hdr \
+- distclean-libtool distclean-multi distclean-recursive \
+- distclean-tags distcleancheck distdir distuninstallcheck dvi \
+- dvi-am html html-am info info-am install install-am \
+- install-data install-data-am install-exec install-exec-am \
+- install-info install-info-am install-man install-multi \
+- install-strip installcheck installcheck-am installdirs \
+- installdirs-am maintainer-clean maintainer-clean-generic \
++ clean-multi clean-recursive ctags ctags-recursive distclean \
++ distclean-generic distclean-hdr distclean-libtool \
++ distclean-multi distclean-recursive distclean-tags dvi dvi-am \
++ html html-am info info-am install install-am install-data \
++ install-data-am install-exec install-exec-am install-info \
++ install-info-am install-man install-multi install-strip \
++ installcheck installcheck-am installdirs installdirs-am \
++ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-multi maintainer-clean-recursive mostlyclean \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-multi \
+ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+Index: libstdc++-v3/ChangeLog
===================================================================
---- libmudflap/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libmudflap/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,8 @@
-+2010-03-15 David S. Miller <davem@davemloft.net>
+--- libstdc++-v3/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libstdc++-v3/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,9 @@
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
+
-+ * testsuite/libmudflap.c/pass54-frag.c: Add explicit return from
-+ main.
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
+
- 2010-01-21 Release Manager
+ 2010-04-29 Release Manager
- * GCC 4.4.3 released.
-Index: libmudflap/testsuite/libmudflap.c/pass54-frag.c
+ * GCC 4.4.4 released.
+Index: libstdc++-v3/configure.ac
===================================================================
---- libmudflap/testsuite/libmudflap.c/pass54-frag.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libmudflap/testsuite/libmudflap.c/pass54-frag.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -30,4 +30,5 @@
- foo ();
- bar ();
- __mf_set_options ("-mode-check");
-+ return 0;
- }
-Index: libiberty/ChangeLog
+--- libstdc++-v3/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libstdc++-v3/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -74,7 +74,7 @@
+ # no-dependencies: turns off auto dependency generation (just for now)
+ # -Wall: turns on all automake warnings...
+ # -Wno-portability: ...except this one, since GNU make is now required.
+-AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dependencies -Wall -Wno-portability -Wno-override])
++AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dependencies no-dist -Wall -Wno-portability -Wno-override])
+ AH_TEMPLATE(PACKAGE, [Name of package])
+ AH_TEMPLATE(VERSION, [Version number of package])
+
+Index: libgfortran/Makefile.in
+===================================================================
+--- libgfortran/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgfortran/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -40,12 +40,12 @@
+
+ # dummy sources for libtool
+ @onestep_TRUE@am__append_1 = libgfortran_c.c libgfortran_f.f90
+-DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
+- $(srcdir)/../config.sub $(srcdir)/../depcomp \
+- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
+- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
+- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(srcdir)/config.h.in $(top_srcdir)/configure ChangeLog
++DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \
++ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
++ $(srcdir)/../depcomp $(srcdir)/../ltmain.sh \
++ $(srcdir)/../config.guess $(srcdir)/../config.sub
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+@@ -78,508 +78,6 @@
+ toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
+ LTLIBRARIES = $(myexeclib_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
+ libgfortran_la_LIBADD =
+-am__libgfortran_la_SOURCES_DIST = runtime/backtrace.c \
+- runtime/compile_options.c runtime/convert_char.c \
+- runtime/environ.c runtime/error.c runtime/fpu.c runtime/main.c \
+- runtime/memory.c runtime/pause.c runtime/stop.c \
+- runtime/string.c runtime/select.c $(srcdir)/generated/all_l1.c \
+- $(srcdir)/generated/all_l2.c $(srcdir)/generated/all_l4.c \
+- $(srcdir)/generated/all_l8.c $(srcdir)/generated/all_l16.c \
+- $(srcdir)/generated/any_l1.c $(srcdir)/generated/any_l2.c \
+- $(srcdir)/generated/any_l4.c $(srcdir)/generated/any_l8.c \
+- $(srcdir)/generated/any_l16.c $(srcdir)/generated/count_1_l.c \
+- $(srcdir)/generated/count_2_l.c \
+- $(srcdir)/generated/count_4_l.c \
+- $(srcdir)/generated/count_8_l.c \
+- $(srcdir)/generated/count_16_l.c \
+- $(srcdir)/generated/maxloc0_4_i1.c \
+- $(srcdir)/generated/maxloc0_8_i1.c \
+- $(srcdir)/generated/maxloc0_16_i1.c \
+- $(srcdir)/generated/maxloc0_4_i2.c \
+- $(srcdir)/generated/maxloc0_8_i2.c \
+- $(srcdir)/generated/maxloc0_16_i2.c \
+- $(srcdir)/generated/maxloc0_4_i4.c \
+- $(srcdir)/generated/maxloc0_8_i4.c \
+- $(srcdir)/generated/maxloc0_16_i4.c \
+- $(srcdir)/generated/maxloc0_4_i8.c \
+- $(srcdir)/generated/maxloc0_8_i8.c \
+- $(srcdir)/generated/maxloc0_16_i8.c \
+- $(srcdir)/generated/maxloc0_4_i16.c \
+- $(srcdir)/generated/maxloc0_8_i16.c \
+- $(srcdir)/generated/maxloc0_16_i16.c \
+- $(srcdir)/generated/maxloc0_4_r4.c \
+- $(srcdir)/generated/maxloc0_8_r4.c \
+- $(srcdir)/generated/maxloc0_16_r4.c \
+- $(srcdir)/generated/maxloc0_4_r8.c \
+- $(srcdir)/generated/maxloc0_8_r8.c \
+- $(srcdir)/generated/maxloc0_16_r8.c \
+- $(srcdir)/generated/maxloc0_4_r10.c \
+- $(srcdir)/generated/maxloc0_8_r10.c \
+- $(srcdir)/generated/maxloc0_16_r10.c \
+- $(srcdir)/generated/maxloc0_4_r16.c \
+- $(srcdir)/generated/maxloc0_8_r16.c \
+- $(srcdir)/generated/maxloc0_16_r16.c \
+- $(srcdir)/generated/maxloc1_4_i1.c \
+- $(srcdir)/generated/maxloc1_8_i1.c \
+- $(srcdir)/generated/maxloc1_16_i1.c \
+- $(srcdir)/generated/maxloc1_4_i2.c \
+- $(srcdir)/generated/maxloc1_8_i2.c \
+- $(srcdir)/generated/maxloc1_16_i2.c \
+- $(srcdir)/generated/maxloc1_4_i4.c \
+- $(srcdir)/generated/maxloc1_8_i4.c \
+- $(srcdir)/generated/maxloc1_16_i4.c \
+- $(srcdir)/generated/maxloc1_4_i8.c \
+- $(srcdir)/generated/maxloc1_8_i8.c \
+- $(srcdir)/generated/maxloc1_16_i8.c \
+- $(srcdir)/generated/maxloc1_4_i16.c \
+- $(srcdir)/generated/maxloc1_8_i16.c \
+- $(srcdir)/generated/maxloc1_16_i16.c \
+- $(srcdir)/generated/maxloc1_4_r4.c \
+- $(srcdir)/generated/maxloc1_8_r4.c \
+- $(srcdir)/generated/maxloc1_16_r4.c \
+- $(srcdir)/generated/maxloc1_4_r8.c \
+- $(srcdir)/generated/maxloc1_8_r8.c \
+- $(srcdir)/generated/maxloc1_16_r8.c \
+- $(srcdir)/generated/maxloc1_4_r10.c \
+- $(srcdir)/generated/maxloc1_8_r10.c \
+- $(srcdir)/generated/maxloc1_16_r10.c \
+- $(srcdir)/generated/maxloc1_4_r16.c \
+- $(srcdir)/generated/maxloc1_8_r16.c \
+- $(srcdir)/generated/maxloc1_16_r16.c \
+- $(srcdir)/generated/maxval_i1.c \
+- $(srcdir)/generated/maxval_i2.c \
+- $(srcdir)/generated/maxval_i4.c \
+- $(srcdir)/generated/maxval_i8.c \
+- $(srcdir)/generated/maxval_i16.c \
+- $(srcdir)/generated/maxval_r4.c \
+- $(srcdir)/generated/maxval_r8.c \
+- $(srcdir)/generated/maxval_r10.c \
+- $(srcdir)/generated/maxval_r16.c \
+- $(srcdir)/generated/minloc0_4_i1.c \
+- $(srcdir)/generated/minloc0_8_i1.c \
+- $(srcdir)/generated/minloc0_16_i1.c \
+- $(srcdir)/generated/minloc0_4_i2.c \
+- $(srcdir)/generated/minloc0_8_i2.c \
+- $(srcdir)/generated/minloc0_16_i2.c \
+- $(srcdir)/generated/minloc0_4_i4.c \
+- $(srcdir)/generated/minloc0_8_i4.c \
+- $(srcdir)/generated/minloc0_16_i4.c \
+- $(srcdir)/generated/minloc0_4_i8.c \
+- $(srcdir)/generated/minloc0_8_i8.c \
+- $(srcdir)/generated/minloc0_16_i8.c \
+- $(srcdir)/generated/minloc0_4_i16.c \
+- $(srcdir)/generated/minloc0_8_i16.c \
+- $(srcdir)/generated/minloc0_16_i16.c \
+- $(srcdir)/generated/minloc0_4_r4.c \
+- $(srcdir)/generated/minloc0_8_r4.c \
+- $(srcdir)/generated/minloc0_16_r4.c \
+- $(srcdir)/generated/minloc0_4_r8.c \
+- $(srcdir)/generated/minloc0_8_r8.c \
+- $(srcdir)/generated/minloc0_16_r8.c \
+- $(srcdir)/generated/minloc0_4_r10.c \
+- $(srcdir)/generated/minloc0_8_r10.c \
+- $(srcdir)/generated/minloc0_16_r10.c \
+- $(srcdir)/generated/minloc0_4_r16.c \
+- $(srcdir)/generated/minloc0_8_r16.c \
+- $(srcdir)/generated/minloc0_16_r16.c \
+- $(srcdir)/generated/minloc1_4_i1.c \
+- $(srcdir)/generated/minloc1_8_i1.c \
+- $(srcdir)/generated/minloc1_16_i1.c \
+- $(srcdir)/generated/minloc1_4_i2.c \
+- $(srcdir)/generated/minloc1_8_i2.c \
+- $(srcdir)/generated/minloc1_16_i2.c \
+- $(srcdir)/generated/minloc1_4_i4.c \
+- $(srcdir)/generated/minloc1_8_i4.c \
+- $(srcdir)/generated/minloc1_16_i4.c \
+- $(srcdir)/generated/minloc1_4_i8.c \
+- $(srcdir)/generated/minloc1_8_i8.c \
+- $(srcdir)/generated/minloc1_16_i8.c \
+- $(srcdir)/generated/minloc1_4_i16.c \
+- $(srcdir)/generated/minloc1_8_i16.c \
+- $(srcdir)/generated/minloc1_16_i16.c \
+- $(srcdir)/generated/minloc1_4_r4.c \
+- $(srcdir)/generated/minloc1_8_r4.c \
+- $(srcdir)/generated/minloc1_16_r4.c \
+- $(srcdir)/generated/minloc1_4_r8.c \
+- $(srcdir)/generated/minloc1_8_r8.c \
+- $(srcdir)/generated/minloc1_16_r8.c \
+- $(srcdir)/generated/minloc1_4_r10.c \
+- $(srcdir)/generated/minloc1_8_r10.c \
+- $(srcdir)/generated/minloc1_16_r10.c \
+- $(srcdir)/generated/minloc1_4_r16.c \
+- $(srcdir)/generated/minloc1_8_r16.c \
+- $(srcdir)/generated/minloc1_16_r16.c \
+- $(srcdir)/generated/minval_i1.c \
+- $(srcdir)/generated/minval_i2.c \
+- $(srcdir)/generated/minval_i4.c \
+- $(srcdir)/generated/minval_i8.c \
+- $(srcdir)/generated/minval_i16.c \
+- $(srcdir)/generated/minval_r4.c \
+- $(srcdir)/generated/minval_r8.c \
+- $(srcdir)/generated/minval_r10.c \
+- $(srcdir)/generated/minval_r16.c \
+- $(srcdir)/generated/product_i1.c \
+- $(srcdir)/generated/product_i2.c \
+- $(srcdir)/generated/product_i4.c \
+- $(srcdir)/generated/product_i8.c \
+- $(srcdir)/generated/product_i16.c \
+- $(srcdir)/generated/product_r4.c \
+- $(srcdir)/generated/product_r8.c \
+- $(srcdir)/generated/product_r10.c \
+- $(srcdir)/generated/product_r16.c \
+- $(srcdir)/generated/product_c4.c \
+- $(srcdir)/generated/product_c8.c \
+- $(srcdir)/generated/product_c10.c \
+- $(srcdir)/generated/product_c16.c $(srcdir)/generated/sum_i1.c \
+- $(srcdir)/generated/sum_i2.c $(srcdir)/generated/sum_i4.c \
+- $(srcdir)/generated/sum_i8.c $(srcdir)/generated/sum_i16.c \
+- $(srcdir)/generated/sum_r4.c $(srcdir)/generated/sum_r8.c \
+- $(srcdir)/generated/sum_r10.c $(srcdir)/generated/sum_r16.c \
+- $(srcdir)/generated/sum_c4.c $(srcdir)/generated/sum_c8.c \
+- $(srcdir)/generated/sum_c10.c $(srcdir)/generated/sum_c16.c \
+- $(srcdir)/generated/matmul_i1.c \
+- $(srcdir)/generated/matmul_i2.c \
+- $(srcdir)/generated/matmul_i4.c \
+- $(srcdir)/generated/matmul_i8.c \
+- $(srcdir)/generated/matmul_i16.c \
+- $(srcdir)/generated/matmul_r4.c \
+- $(srcdir)/generated/matmul_r8.c \
+- $(srcdir)/generated/matmul_r10.c \
+- $(srcdir)/generated/matmul_r16.c \
+- $(srcdir)/generated/matmul_c4.c \
+- $(srcdir)/generated/matmul_c8.c \
+- $(srcdir)/generated/matmul_c10.c \
+- $(srcdir)/generated/matmul_c16.c \
+- $(srcdir)/generated/matmul_l4.c \
+- $(srcdir)/generated/matmul_l8.c \
+- $(srcdir)/generated/matmul_l16.c \
+- $(srcdir)/generated/transpose_i4.c \
+- $(srcdir)/generated/transpose_i8.c \
+- $(srcdir)/generated/transpose_i16.c \
+- $(srcdir)/generated/transpose_r4.c \
+- $(srcdir)/generated/transpose_r8.c \
+- $(srcdir)/generated/transpose_r10.c \
+- $(srcdir)/generated/transpose_r16.c \
+- $(srcdir)/generated/transpose_c4.c \
+- $(srcdir)/generated/transpose_c8.c \
+- $(srcdir)/generated/transpose_c10.c \
+- $(srcdir)/generated/transpose_c16.c \
+- $(srcdir)/generated/shape_i4.c $(srcdir)/generated/shape_i8.c \
+- $(srcdir)/generated/shape_i16.c \
+- $(srcdir)/generated/eoshift1_4.c \
+- $(srcdir)/generated/eoshift1_8.c \
+- $(srcdir)/generated/eoshift1_16.c \
+- $(srcdir)/generated/eoshift3_4.c \
+- $(srcdir)/generated/eoshift3_8.c \
+- $(srcdir)/generated/eoshift3_16.c \
+- $(srcdir)/generated/cshift1_4.c \
+- $(srcdir)/generated/cshift1_8.c \
+- $(srcdir)/generated/cshift1_16.c \
+- $(srcdir)/generated/reshape_i4.c \
+- $(srcdir)/generated/reshape_i8.c \
+- $(srcdir)/generated/reshape_i16.c \
+- $(srcdir)/generated/reshape_r4.c \
+- $(srcdir)/generated/reshape_r8.c \
+- $(srcdir)/generated/reshape_r10.c \
+- $(srcdir)/generated/reshape_r16.c \
+- $(srcdir)/generated/reshape_c4.c \
+- $(srcdir)/generated/reshape_c8.c \
+- $(srcdir)/generated/reshape_c10.c \
+- $(srcdir)/generated/reshape_c16.c \
+- $(srcdir)/generated/in_pack_i1.c \
+- $(srcdir)/generated/in_pack_i2.c \
+- $(srcdir)/generated/in_pack_i4.c \
+- $(srcdir)/generated/in_pack_i8.c \
+- $(srcdir)/generated/in_pack_i16.c \
+- $(srcdir)/generated/in_pack_r4.c \
+- $(srcdir)/generated/in_pack_r8.c \
+- $(srcdir)/generated/in_pack_r10.c \
+- $(srcdir)/generated/in_pack_r16.c \
+- $(srcdir)/generated/in_pack_c4.c \
+- $(srcdir)/generated/in_pack_c8.c \
+- $(srcdir)/generated/in_pack_c10.c \
+- $(srcdir)/generated/in_pack_c16.c \
+- $(srcdir)/generated/in_unpack_i1.c \
+- $(srcdir)/generated/in_unpack_i2.c \
+- $(srcdir)/generated/in_unpack_i4.c \
+- $(srcdir)/generated/in_unpack_i8.c \
+- $(srcdir)/generated/in_unpack_i16.c \
+- $(srcdir)/generated/in_unpack_r4.c \
+- $(srcdir)/generated/in_unpack_r8.c \
+- $(srcdir)/generated/in_unpack_r10.c \
+- $(srcdir)/generated/in_unpack_r16.c \
+- $(srcdir)/generated/in_unpack_c4.c \
+- $(srcdir)/generated/in_unpack_c8.c \
+- $(srcdir)/generated/in_unpack_c10.c \
+- $(srcdir)/generated/in_unpack_c16.c \
+- $(srcdir)/generated/exponent_r4.c \
+- $(srcdir)/generated/exponent_r8.c \
+- $(srcdir)/generated/exponent_r10.c \
+- $(srcdir)/generated/exponent_r16.c \
+- $(srcdir)/generated/fraction_r4.c \
+- $(srcdir)/generated/fraction_r8.c \
+- $(srcdir)/generated/fraction_r10.c \
+- $(srcdir)/generated/fraction_r16.c \
+- $(srcdir)/generated/nearest_r4.c \
+- $(srcdir)/generated/nearest_r8.c \
+- $(srcdir)/generated/nearest_r10.c \
+- $(srcdir)/generated/nearest_r16.c \
+- $(srcdir)/generated/set_exponent_r4.c \
+- $(srcdir)/generated/set_exponent_r8.c \
+- $(srcdir)/generated/set_exponent_r10.c \
+- $(srcdir)/generated/set_exponent_r16.c \
+- $(srcdir)/generated/pow_i4_i4.c \
+- $(srcdir)/generated/pow_i8_i4.c \
+- $(srcdir)/generated/pow_i16_i4.c \
+- $(srcdir)/generated/pow_c4_i4.c \
+- $(srcdir)/generated/pow_c8_i4.c \
+- $(srcdir)/generated/pow_c10_i4.c \
+- $(srcdir)/generated/pow_c16_i4.c \
+- $(srcdir)/generated/pow_i4_i8.c \
+- $(srcdir)/generated/pow_i8_i8.c \
+- $(srcdir)/generated/pow_i16_i8.c \
+- $(srcdir)/generated/pow_r4_i8.c \
+- $(srcdir)/generated/pow_r8_i8.c \
+- $(srcdir)/generated/pow_r10_i8.c \
+- $(srcdir)/generated/pow_r16_i8.c \
+- $(srcdir)/generated/pow_c4_i8.c \
+- $(srcdir)/generated/pow_c8_i8.c \
+- $(srcdir)/generated/pow_c10_i8.c \
+- $(srcdir)/generated/pow_c16_i8.c \
+- $(srcdir)/generated/pow_i4_i16.c \
+- $(srcdir)/generated/pow_i8_i16.c \
+- $(srcdir)/generated/pow_i16_i16.c \
+- $(srcdir)/generated/pow_r4_i16.c \
+- $(srcdir)/generated/pow_r8_i16.c \
+- $(srcdir)/generated/pow_r10_i16.c \
+- $(srcdir)/generated/pow_r16_i16.c \
+- $(srcdir)/generated/pow_c4_i16.c \
+- $(srcdir)/generated/pow_c8_i16.c \
+- $(srcdir)/generated/pow_c10_i16.c \
+- $(srcdir)/generated/pow_c16_i16.c \
+- $(srcdir)/generated/rrspacing_r4.c \
+- $(srcdir)/generated/rrspacing_r8.c \
+- $(srcdir)/generated/rrspacing_r10.c \
+- $(srcdir)/generated/rrspacing_r16.c \
+- $(srcdir)/generated/spacing_r4.c \
+- $(srcdir)/generated/spacing_r8.c \
+- $(srcdir)/generated/spacing_r10.c \
+- $(srcdir)/generated/spacing_r16.c \
+- $(srcdir)/generated/pack_i1.c $(srcdir)/generated/pack_i2.c \
+- $(srcdir)/generated/pack_i4.c $(srcdir)/generated/pack_i8.c \
+- $(srcdir)/generated/pack_i16.c $(srcdir)/generated/pack_r4.c \
+- $(srcdir)/generated/pack_r8.c $(srcdir)/generated/pack_r10.c \
+- $(srcdir)/generated/pack_r16.c $(srcdir)/generated/pack_c4.c \
+- $(srcdir)/generated/pack_c8.c $(srcdir)/generated/pack_c10.c \
+- $(srcdir)/generated/pack_c16.c $(srcdir)/generated/unpack_i1.c \
+- $(srcdir)/generated/unpack_i2.c \
+- $(srcdir)/generated/unpack_i4.c \
+- $(srcdir)/generated/unpack_i8.c \
+- $(srcdir)/generated/unpack_i16.c \
+- $(srcdir)/generated/unpack_r4.c \
+- $(srcdir)/generated/unpack_r8.c \
+- $(srcdir)/generated/unpack_r10.c \
+- $(srcdir)/generated/unpack_r16.c \
+- $(srcdir)/generated/unpack_c4.c \
+- $(srcdir)/generated/unpack_c8.c \
+- $(srcdir)/generated/unpack_c10.c \
+- $(srcdir)/generated/unpack_c16.c \
+- $(srcdir)/generated/spread_i1.c \
+- $(srcdir)/generated/spread_i2.c \
+- $(srcdir)/generated/spread_i4.c \
+- $(srcdir)/generated/spread_i8.c \
+- $(srcdir)/generated/spread_i16.c \
+- $(srcdir)/generated/spread_r4.c \
+- $(srcdir)/generated/spread_r8.c \
+- $(srcdir)/generated/spread_r10.c \
+- $(srcdir)/generated/spread_r16.c \
+- $(srcdir)/generated/spread_c4.c \
+- $(srcdir)/generated/spread_c8.c \
+- $(srcdir)/generated/spread_c10.c \
+- $(srcdir)/generated/spread_c16.c selected_int_kind.inc \
+- selected_real_kind.inc kinds.h \
+- $(srcdir)/generated/cshift0_i1.c \
+- $(srcdir)/generated/cshift0_i2.c \
+- $(srcdir)/generated/cshift0_i4.c \
+- $(srcdir)/generated/cshift0_i8.c \
+- $(srcdir)/generated/cshift0_i16.c \
+- $(srcdir)/generated/cshift0_r4.c \
+- $(srcdir)/generated/cshift0_r8.c \
+- $(srcdir)/generated/cshift0_r10.c \
+- $(srcdir)/generated/cshift0_r16.c \
+- $(srcdir)/generated/cshift0_c4.c \
+- $(srcdir)/generated/cshift0_c8.c \
+- $(srcdir)/generated/cshift0_c10.c \
+- $(srcdir)/generated/cshift0_c16.c kinds.inc c99_protos.inc \
+- fpu-target.h io/close.c io/file_pos.c io/format.c io/inquire.c \
+- io/intrinsics.c io/list_read.c io/lock.c io/open.c io/read.c \
+- io/size_from_kind.c io/transfer.c io/unit.c io/unix.c \
+- io/write.c io/fbuf.c intrinsics/associated.c \
+- intrinsics/abort.c intrinsics/access.c intrinsics/args.c \
+- intrinsics/bit_intrinsics.c intrinsics/c99_functions.c \
+- intrinsics/chdir.c intrinsics/chmod.c intrinsics/clock.c \
+- intrinsics/cpu_time.c intrinsics/cshift0.c intrinsics/ctime.c \
+- intrinsics/date_and_time.c intrinsics/dtime.c intrinsics/env.c \
+- intrinsics/eoshift0.c intrinsics/eoshift2.c \
+- intrinsics/erfc_scaled.c intrinsics/etime.c intrinsics/exit.c \
+- intrinsics/fnum.c intrinsics/gerror.c intrinsics/getcwd.c \
+- intrinsics/getlog.c intrinsics/getXid.c intrinsics/hostnm.c \
+- intrinsics/ierrno.c intrinsics/ishftc.c \
+- intrinsics/iso_c_generated_procs.c intrinsics/iso_c_binding.c \
+- intrinsics/kill.c intrinsics/link.c intrinsics/malloc.c \
+- intrinsics/mvbits.c intrinsics/move_alloc.c \
+- intrinsics/pack_generic.c intrinsics/perror.c \
+- intrinsics/selected_char_kind.c intrinsics/signal.c \
+- intrinsics/size.c intrinsics/sleep.c \
+- intrinsics/spread_generic.c intrinsics/string_intrinsics.c \
+- intrinsics/system.c intrinsics/rand.c intrinsics/random.c \
+- intrinsics/rename.c intrinsics/reshape_generic.c \
+- intrinsics/reshape_packed.c intrinsics/selected_int_kind.f90 \
+- intrinsics/selected_real_kind.f90 intrinsics/stat.c \
+- intrinsics/symlnk.c intrinsics/system_clock.c \
+- intrinsics/time.c intrinsics/transpose_generic.c \
+- intrinsics/umask.c intrinsics/unlink.c \
+- intrinsics/unpack_generic.c runtime/in_pack_generic.c \
+- runtime/in_unpack_generic.c io/io.h \
+- $(srcdir)/generated/_abs_c4.F90 \
+- $(srcdir)/generated/_abs_c8.F90 \
+- $(srcdir)/generated/_abs_c10.F90 \
+- $(srcdir)/generated/_abs_c16.F90 \
+- $(srcdir)/generated/_abs_i4.F90 \
+- $(srcdir)/generated/_abs_i8.F90 \
+- $(srcdir)/generated/_abs_i16.F90 \
+- $(srcdir)/generated/_abs_r4.F90 \
+- $(srcdir)/generated/_abs_r8.F90 \
+- $(srcdir)/generated/_abs_r10.F90 \
+- $(srcdir)/generated/_abs_r16.F90 \
+- $(srcdir)/generated/_aimag_c4.F90 \
+- $(srcdir)/generated/_aimag_c8.F90 \
+- $(srcdir)/generated/_aimag_c10.F90 \
+- $(srcdir)/generated/_aimag_c16.F90 \
+- $(srcdir)/generated/_exp_r4.F90 \
+- $(srcdir)/generated/_exp_r8.F90 \
+- $(srcdir)/generated/_exp_r10.F90 \
+- $(srcdir)/generated/_exp_r16.F90 \
+- $(srcdir)/generated/_exp_c4.F90 \
+- $(srcdir)/generated/_exp_c8.F90 \
+- $(srcdir)/generated/_exp_c10.F90 \
+- $(srcdir)/generated/_exp_c16.F90 \
+- $(srcdir)/generated/_log_r4.F90 \
+- $(srcdir)/generated/_log_r8.F90 \
+- $(srcdir)/generated/_log_r10.F90 \
+- $(srcdir)/generated/_log_r16.F90 \
+- $(srcdir)/generated/_log_c4.F90 \
+- $(srcdir)/generated/_log_c8.F90 \
+- $(srcdir)/generated/_log_c10.F90 \
+- $(srcdir)/generated/_log_c16.F90 \
+- $(srcdir)/generated/_log10_r4.F90 \
+- $(srcdir)/generated/_log10_r8.F90 \
+- $(srcdir)/generated/_log10_r10.F90 \
+- $(srcdir)/generated/_log10_r16.F90 \
+- $(srcdir)/generated/_sqrt_r4.F90 \
+- $(srcdir)/generated/_sqrt_r8.F90 \
+- $(srcdir)/generated/_sqrt_r10.F90 \
+- $(srcdir)/generated/_sqrt_r16.F90 \
+- $(srcdir)/generated/_sqrt_c4.F90 \
+- $(srcdir)/generated/_sqrt_c8.F90 \
+- $(srcdir)/generated/_sqrt_c10.F90 \
+- $(srcdir)/generated/_sqrt_c16.F90 \
+- $(srcdir)/generated/_asin_r4.F90 \
+- $(srcdir)/generated/_asin_r8.F90 \
+- $(srcdir)/generated/_asin_r10.F90 \
+- $(srcdir)/generated/_asin_r16.F90 \
+- $(srcdir)/generated/_asinh_r4.F90 \
+- $(srcdir)/generated/_asinh_r8.F90 \
+- $(srcdir)/generated/_asinh_r10.F90 \
+- $(srcdir)/generated/_asinh_r16.F90 \
+- $(srcdir)/generated/_acos_r4.F90 \
+- $(srcdir)/generated/_acos_r8.F90 \
+- $(srcdir)/generated/_acos_r10.F90 \
+- $(srcdir)/generated/_acos_r16.F90 \
+- $(srcdir)/generated/_acosh_r4.F90 \
+- $(srcdir)/generated/_acosh_r8.F90 \
+- $(srcdir)/generated/_acosh_r10.F90 \
+- $(srcdir)/generated/_acosh_r16.F90 \
+- $(srcdir)/generated/_atan_r4.F90 \
+- $(srcdir)/generated/_atan_r8.F90 \
+- $(srcdir)/generated/_atan_r10.F90 \
+- $(srcdir)/generated/_atan_r16.F90 \
+- $(srcdir)/generated/_atanh_r4.F90 \
+- $(srcdir)/generated/_atanh_r8.F90 \
+- $(srcdir)/generated/_atanh_r10.F90 \
+- $(srcdir)/generated/_atanh_r16.F90 \
+- $(srcdir)/generated/_sin_r4.F90 \
+- $(srcdir)/generated/_sin_r8.F90 \
+- $(srcdir)/generated/_sin_r10.F90 \
+- $(srcdir)/generated/_sin_r16.F90 \
+- $(srcdir)/generated/_sin_c4.F90 \
+- $(srcdir)/generated/_sin_c8.F90 \
+- $(srcdir)/generated/_sin_c10.F90 \
+- $(srcdir)/generated/_sin_c16.F90 \
+- $(srcdir)/generated/_cos_r4.F90 \
+- $(srcdir)/generated/_cos_r8.F90 \
+- $(srcdir)/generated/_cos_r10.F90 \
+- $(srcdir)/generated/_cos_r16.F90 \
+- $(srcdir)/generated/_cos_c4.F90 \
+- $(srcdir)/generated/_cos_c8.F90 \
+- $(srcdir)/generated/_cos_c10.F90 \
+- $(srcdir)/generated/_cos_c16.F90 \
+- $(srcdir)/generated/_tan_r4.F90 \
+- $(srcdir)/generated/_tan_r8.F90 \
+- $(srcdir)/generated/_tan_r10.F90 \
+- $(srcdir)/generated/_tan_r16.F90 \
+- $(srcdir)/generated/_sinh_r4.F90 \
+- $(srcdir)/generated/_sinh_r8.F90 \
+- $(srcdir)/generated/_sinh_r10.F90 \
+- $(srcdir)/generated/_sinh_r16.F90 \
+- $(srcdir)/generated/_cosh_r4.F90 \
+- $(srcdir)/generated/_cosh_r8.F90 \
+- $(srcdir)/generated/_cosh_r10.F90 \
+- $(srcdir)/generated/_cosh_r16.F90 \
+- $(srcdir)/generated/_tanh_r4.F90 \
+- $(srcdir)/generated/_tanh_r8.F90 \
+- $(srcdir)/generated/_tanh_r10.F90 \
+- $(srcdir)/generated/_tanh_r16.F90 \
+- $(srcdir)/generated/_conjg_c4.F90 \
+- $(srcdir)/generated/_conjg_c8.F90 \
+- $(srcdir)/generated/_conjg_c10.F90 \
+- $(srcdir)/generated/_conjg_c16.F90 \
+- $(srcdir)/generated/_aint_r4.F90 \
+- $(srcdir)/generated/_aint_r8.F90 \
+- $(srcdir)/generated/_aint_r10.F90 \
+- $(srcdir)/generated/_aint_r16.F90 \
+- $(srcdir)/generated/_anint_r4.F90 \
+- $(srcdir)/generated/_anint_r8.F90 \
+- $(srcdir)/generated/_anint_r10.F90 \
+- $(srcdir)/generated/_anint_r16.F90 \
+- $(srcdir)/generated/_sign_i4.F90 \
+- $(srcdir)/generated/_sign_i8.F90 \
+- $(srcdir)/generated/_sign_i16.F90 \
+- $(srcdir)/generated/_sign_r4.F90 \
+- $(srcdir)/generated/_sign_r8.F90 \
+- $(srcdir)/generated/_sign_r10.F90 \
+- $(srcdir)/generated/_sign_r16.F90 \
+- $(srcdir)/generated/_dim_i4.F90 \
+- $(srcdir)/generated/_dim_i8.F90 \
+- $(srcdir)/generated/_dim_i16.F90 \
+- $(srcdir)/generated/_dim_r4.F90 \
+- $(srcdir)/generated/_dim_r8.F90 \
+- $(srcdir)/generated/_dim_r10.F90 \
+- $(srcdir)/generated/_dim_r16.F90 \
+- $(srcdir)/generated/_atan2_r4.F90 \
+- $(srcdir)/generated/_atan2_r8.F90 \
+- $(srcdir)/generated/_atan2_r10.F90 \
+- $(srcdir)/generated/_atan2_r16.F90 \
+- $(srcdir)/generated/_mod_i4.F90 \
+- $(srcdir)/generated/_mod_i8.F90 \
+- $(srcdir)/generated/_mod_i16.F90 \
+- $(srcdir)/generated/_mod_r4.F90 \
+- $(srcdir)/generated/_mod_r8.F90 \
+- $(srcdir)/generated/_mod_r10.F90 \
+- $(srcdir)/generated/_mod_r16.F90 \
+- $(srcdir)/generated/misc_specifics.F90 intrinsics/dprod_r8.f90 \
+- intrinsics/f2c_specifics.F90 libgfortran_c.c $(filter-out \
+- %.c,$(prereq_SRC))
+ am__objects_1 = backtrace.lo compile_options.lo convert_char.lo \
+ environ.lo error.lo fpu.lo main.lo memory.lo pause.lo stop.lo \
+ string.lo select.lo
+@@ -788,8 +286,6 @@
+ FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
+ LTFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
+ SOURCES = $(libgfortran_la_SOURCES) $(libgfortranbegin_la_SOURCES)
+-DIST_SOURCES = $(am__libgfortran_la_SOURCES_DIST) \
+- $(libgfortranbegin_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -798,17 +294,6 @@
+ MULTICLEAN = true
+ ETAGS = etags
+ CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -5798,134 +5283,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/m4
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+@@ -6019,14 +5376,12 @@
+ .PHONY: CTAGS GTAGS all all-am all-multi am--refresh check check-am \
+ clean clean-generic clean-libtool clean-multi \
+ clean-myexeclibLTLIBRARIES clean-toolexeclibLTLIBRARIES ctags \
+- dist dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ \
+- dist-zip distcheck distclean distclean-compile \
+- distclean-generic distclean-hdr distclean-libtool \
+- distclean-multi distclean-tags distcleancheck distdir \
+- distuninstallcheck dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am install-man \
+- install-multi install-myexeclibLTLIBRARIES install-strip \
++ distclean distclean-compile distclean-generic distclean-hdr \
++ distclean-libtool distclean-multi distclean-tags dvi dvi-am \
++ html html-am info info-am install install-am install-data \
++ install-data-am install-exec install-exec-am install-info \
++ install-info-am install-man install-multi \
++ install-myexeclibLTLIBRARIES install-strip \
+ install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ maintainer-clean-multi mostlyclean mostlyclean-compile \
+Index: libgfortran/ChangeLog
+===================================================================
+--- libgfortran/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgfortran/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,9 @@
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libgfortran/configure.ac
+===================================================================
+--- libgfortran/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libgfortran/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -62,7 +62,7 @@
+ # file in the top srcdir, etc, etc), so stop complaining.
+ # -Wall: turns on all automake warnings...
+ # -Wno-portability: ...except this one, since GNU make is required.
+-AM_INIT_AUTOMAKE([1.9.6 no-define foreign -Wall -Wno-portability])
++AM_INIT_AUTOMAKE([1.9.6 no-define foreign no-dist -Wall -Wno-portability])
+
+ AM_MAINTAINER_MODE
+ AM_ENABLE_MULTILIB(, ..)
+Index: libmudflap/Makefile.in
+===================================================================
+--- libmudflap/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libmudflap/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -38,13 +38,14 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-DIST_COMMON = $(am__configure_deps) $(nobase_libsubinclude_HEADERS) \
+- $(srcdir)/../compile $(srcdir)/../config.guess \
+- $(srcdir)/../config.sub $(srcdir)/../depcomp \
+- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
+- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
+- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(srcdir)/config.h.in $(top_srcdir)/configure ChangeLog
++DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \
++ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../depcomp \
++ $(srcdir)/../ltmain.sh $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub $(nobase_libsubinclude_HEADERS)
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
+@@ -95,7 +96,6 @@
+ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libmudflap_la_SOURCES) $(libmudflapth_la_SOURCES)
+-DIST_SOURCES = $(libmudflap_la_SOURCES) $(libmudflapth_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -113,17 +113,6 @@
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = $(SUBDIRS)
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -662,149 +651,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/testsuite
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile $(LTLIBRARIES) all-multi $(HEADERS) config.h
+@@ -897,17 +743,14 @@
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
+ am--refresh check check-am clean clean-generic clean-libtool \
+ clean-multi clean-recursive clean-toolexeclibLTLIBRARIES ctags \
+- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+- dist-tarZ dist-zip distcheck distclean distclean-compile \
+- distclean-generic distclean-hdr distclean-libtool \
+- distclean-multi distclean-recursive distclean-tags \
+- distcleancheck distdir distuninstallcheck dvi dvi-am html \
+- html-am info info-am install install-am install-data \
+- install-data-am install-exec install-exec-am install-info \
+- install-info-am install-man install-multi \
+- install-nobase_libsubincludeHEADERS install-strip \
+- install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+- installdirs installdirs-am maintainer-clean \
++ ctags-recursive distclean distclean-compile distclean-generic \
++ distclean-hdr distclean-libtool distclean-multi \
++ distclean-recursive distclean-tags dvi dvi-am html html-am \
++ info info-am install install-am install-data install-data-am \
++ install-exec install-exec-am install-info install-info-am \
++ install-man install-multi install-nobase_libsubincludeHEADERS \
++ install-strip install-toolexeclibLTLIBRARIES installcheck \
++ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-multi \
+ maintainer-clean-recursive mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-multi \
+Index: libmudflap/ChangeLog
===================================================================
---- libiberty/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libiberty/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
+--- libmudflap/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libmudflap/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
@@ -1,3 +1,9 @@
-+2010-01-25 Ian Lance Taylor <iant@google.com>
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libmudflap/configure.ac
+===================================================================
+--- libmudflap/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libmudflap/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -7,7 +7,7 @@
+ AC_CANONICAL_SYSTEM
+ ACX_NONCANONICAL_TARGET
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([no-dist])
+
+ AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
+ AC_ARG_ENABLE(version-specific-runtime-libs,
+Index: libffi/configure
+===================================================================
+--- libffi/configure (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/configure (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -13272,7 +13272,7 @@
+
+ libffi_cv_as_x86_pcrel=yes
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+ libffi_cv_as_x86_pcrel=no
+ fi
+
+@@ -13286,8 +13286,163 @@
+ _ACEOF
+
+ fi
++
++ echo "$as_me:$LINENO: checking assembler .ascii pseudo-op support" >&5
++echo $ECHO_N "checking assembler .ascii pseudo-op support... $ECHO_C" >&6
++if test "${libffi_cv_as_ascii_pseudo_op+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ libffi_cv_as_ascii_pseudo_op=unknown
++ # Check if we have .ascii
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++asm (".ascii \"string\"");
++int
++main ()
++{
+
-+ * cp-demangle.c (cplus_demangle_type): Check for invalid type
-+ after "DF".
-+ * testsuite/demangle-expected: Add test.
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ libffi_cv_as_ascii_pseudo_op=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++libffi_cv_as_ascii_pseudo_op=no
+ fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++echo "$as_me:$LINENO: result: $libffi_cv_as_ascii_pseudo_op" >&5
++echo "${ECHO_T}$libffi_cv_as_ascii_pseudo_op" >&6
++ if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_AS_ASCII_PSEUDO_OP 1
++_ACEOF
++
++ fi
++
++ echo "$as_me:$LINENO: checking assembler .string pseudo-op support" >&5
++echo $ECHO_N "checking assembler .string pseudo-op support... $ECHO_C" >&6
++if test "${libffi_cv_as_string_pseudo_op+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ libffi_cv_as_string_pseudo_op=unknown
++ # Check if we have .string
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++asm (".string \"string\"");
++int
++main ()
++{
+
- 2010-01-21 Release Manager
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ libffi_cv_as_string_pseudo_op=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++libffi_cv_as_string_pseudo_op=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:$LINENO: result: $libffi_cv_as_string_pseudo_op" >&5
++echo "${ECHO_T}$libffi_cv_as_string_pseudo_op" >&6
++ if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_AS_STRING_PSEUDO_OP 1
++_ACEOF
++
++ fi
++fi
++
++if test x$TARGET = xX86_64; then
++ echo "$as_me:$LINENO: checking assembler supports unwind section type" >&5
++echo $ECHO_N "checking assembler supports unwind section type... $ECHO_C" >&6
++if test "${libffi_cv_as_x86_64_unwind_section_type+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ libffi_cv_as_x86_64_unwind_section_type=yes
++ echo '.section .eh_frame,"a",@unwind' > conftest.s
++ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ libffi_cv_as_x86_64_unwind_section_type=no
++ fi
++
++fi
++echo "$as_me:$LINENO: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
++echo "${ECHO_T}$libffi_cv_as_x86_64_unwind_section_type" >&6
++ if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1
++_ACEOF
++
++ fi
++fi
++
+ echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
+ echo $ECHO_N "checking whether .eh_frame section should be read-only... $ECHO_C" >&6
+ if test "${libffi_cv_ro_eh_frame+set}" = set; then
+Index: libffi/Makefile.in
+===================================================================
+--- libffi/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -59,13 +59,32 @@
+ @SH64_TRUE@am__append_20 = src/sh64/sysv.S src/sh64/ffi.c
+ @PA_LINUX_TRUE@am__append_21 = src/pa/linux.S src/pa/ffi.c
+ @PA_HPUX_TRUE@am__append_22 = src/pa/hpux32.S src/pa/ffi.c
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
+- $(srcdir)/../config.guess $(srcdir)/../config.sub \
+- $(srcdir)/../depcomp $(srcdir)/../install-sh \
+- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
+- $(top_srcdir)/configure ChangeLog
++DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub README \
++ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/fficonfig.h.in $(srcdir)/../mkinstalldirs \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../compile \
++ $(srcdir)/../depcomp $(srcdir)/../ltmain.sh \
++ $(srcdir)/../config.guess $(srcdir)/../config.sub
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+@@ -174,7 +193,6 @@
+ SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
+ $(libffi_convenience_la_SOURCES) \
+ $(nodist_libffi_convenience_la_SOURCES)
+-DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -190,17 +208,6 @@
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = $(SUBDIRS)
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ ALLOCA = @ALLOCA@
+ ALPHA_FALSE = @ALPHA_FALSE@
+@@ -1087,149 +1094,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/include $(distdir)/src/alpha $(distdir)/src/arm $(distdir)/src/cris $(distdir)/src/frv $(distdir)/src/ia64 $(distdir)/src/m32r $(distdir)/src/m68k $(distdir)/src/mips $(distdir)/src/pa $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh $(distdir)/src/sh64 $(distdir)/src/sparc $(distdir)/src/x86
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
+@@ -1353,13 +1217,11 @@
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
+ am--refresh check check-am clean clean-generic clean-libtool \
+ clean-multi clean-noinstLTLIBRARIES clean-recursive \
+- clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
+- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
+- distcheck distclean distclean-compile distclean-generic \
+- distclean-hdr distclean-libtool distclean-multi \
+- distclean-recursive distclean-tags distcleancheck distdir \
+- distuninstallcheck dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
++ clean-toolexeclibLTLIBRARIES ctags ctags-recursive distclean \
++ distclean-compile distclean-generic distclean-hdr \
++ distclean-libtool distclean-multi distclean-recursive \
++ distclean-tags dvi dvi-am html html-am info info-am install \
++ install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-multi install-strip install-toolexeclibLTLIBRARIES \
+ installcheck installcheck-am installdirs installdirs-am \
+Index: libffi/fficonfig.h.in
+===================================================================
+--- libffi/fficonfig.h.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/fficonfig.h.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -27,6 +27,9 @@
+ */
+ #undef HAVE_ALLOCA_H
+
++/* Define if your assembler supports .ascii. */
++#undef HAVE_AS_ASCII_PSEUDO_OP
++
+ /* Define if your assembler supports .cfi_* directives. */
+ #undef HAVE_AS_CFI_PSEUDO_OP
+
+@@ -37,6 +40,12 @@
+ */
+ #undef HAVE_AS_SPARC_UA_PCREL
+
++/* Define if your assembler supports .string. */
++#undef HAVE_AS_STRING_PSEUDO_OP
++
++/* Define if your assembler supports unwind section type. */
++#undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
++
+ /* Define if your assembler supports PC relative relocs. */
+ #undef HAVE_AS_X86_PCREL
- * GCC 4.4.3 released.
-Index: libiberty/testsuite/demangle-expected
-===================================================================
---- libiberty/testsuite/demangle-expected (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libiberty/testsuite/demangle-expected (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -3910,3 +3910,8 @@
- --format=gnu-v3
- _Z1gIIidEEDTclL_Z1fEspplfp_Li1EEEDpT_
- decltype (f((parm#1+(1))...)) g<int, double>(int, double)
-+#
-+# Used to crash the demangler.
-+--format=gnu-v3
-+DFA
-+DFA
-Index: libiberty/cp-demangle.c
-===================================================================
---- libiberty/cp-demangle.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libiberty/cp-demangle.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,5 +1,5 @@
- /* Demangler for g++ V3 ABI.
-- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
-+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
- Written by Ian Lance Taylor <ian@wasabisystems.com>.
-
-@@ -2149,6 +2149,8 @@
- /* For demangling we don't care about the bits. */
- d_number (di);
- ret->u.s_fixed.length = cplus_demangle_type (di);
-+ if (ret->u.s_fixed.length == NULL)
-+ return NULL;
- d_number (di);
- peek = d_next_char (di);
- ret->u.s_fixed.sat = (peek == 's');
Index: libffi/ChangeLog
===================================================================
---- libffi/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libffi/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,8 @@
-+2010-02-15 Matthias Klose <doko@ubuntu.com>
+--- libffi/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,34 @@
++2010-05-21 Jakub Jelinek <jakub@redhat.com>
++
++ * configure: Regenerate.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
++ output, too.
++ (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
++ (libffi_cv_as_string_pseudo_op): Check for .string.
++ * configure: Regenerate.
++ * fficonfig.h.in: Regenerate.
++ * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
++
++2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ Backport from mainline:
++ 2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
++ * configure: Regenerate.
++ * fficonfig.h.in: Regenerate.
++ * libffi/src/x86/unix64.S (.eh_frame)
++ [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
+
-+ * src/arm/sysv.S (__ARM_ARCH__): Define for processor
-+ __ARM_ARCH_7EM__.
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
+
- 2010-01-21 Release Manager
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
- * GCC 4.4.3 released.
-Index: libffi/src/arm/sysv.S
+ * GCC 4.4.4 released.
+Index: libffi/src/x86/sysv.S
===================================================================
---- libffi/src/arm/sysv.S (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libffi/src/arm/sysv.S (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -73,7 +73,8 @@
+--- libffi/src/x86/sysv.S (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/src/x86/sysv.S (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,5 +1,5 @@
+ /* -----------------------------------------------------------------------
+- sysv.S - Copyright (c) 1996, 1998, 2001, 2002, 2003, 2005, 2008
++ sysv.S - Copyright (c) 1996, 1998, 2001, 2002, 2003, 2005, 2008, 2010
+ Red Hat, Inc.
+
+ X86 Foreign Function Interface
+@@ -331,11 +331,21 @@
+ .LSCIE1:
+ .long 0x0 /* CIE Identifier Tag */
+ .byte 0x1 /* CIE Version */
++#ifdef HAVE_AS_ASCII_PSEUDO_OP
+ #ifdef __PIC__
+ .ascii "zR\0" /* CIE Augmentation */
+ #else
+ .ascii "\0" /* CIE Augmentation */
#endif
++#elif defined HAVE_AS_STRING_PSEUDO_OP
++#ifdef __PIC__
++ .string "zR" /* CIE Augmentation */
++#else
++ .string "" /* CIE Augmentation */
++#endif
++#else
++#error missing .ascii/.string
++#endif
+ .byte 0x1 /* .uleb128 0x1; CIE Code Alignment Factor */
+ .byte 0x7c /* .sleb128 -4; CIE Data Alignment Factor */
+ .byte 0x8 /* CIE RA Column */
+Index: libffi/src/x86/unix64.S
+===================================================================
+--- libffi/src/x86/unix64.S (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/src/x86/unix64.S (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -322,7 +322,11 @@
+ .LUW9:
+ .size ffi_closure_unix64,.-ffi_closure_unix64
+
++#ifdef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
++ .section .eh_frame,"a",@unwind
++#else
+ .section .eh_frame,"a",@progbits
++#endif
+ .Lframe1:
+ .long .LECIE1-.LSCIE1 /* CIE Length */
+ .LSCIE1:
+Index: libffi/configure.ac
+===================================================================
+--- libffi/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libffi/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -12,7 +12,7 @@
+
+ . ${srcdir}/configure.host
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([no-dist])
+
+ # The same as in boehm-gc and libstdc++. Have to borrow it from there.
+ # We must force CC to /not/ be precious variables; otherwise
+@@ -245,7 +245,7 @@
+ libffi_cv_as_x86_pcrel, [
+ libffi_cv_as_x86_pcrel=yes
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
+- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+ libffi_cv_as_x86_pcrel=no
+ fi
+ ])
+@@ -253,8 +253,49 @@
+ AC_DEFINE(HAVE_AS_X86_PCREL, 1,
+ [Define if your assembler supports PC relative relocs.])
+ fi
++
++ AC_CACHE_CHECK([assembler .ascii pseudo-op support],
++ libffi_cv_as_ascii_pseudo_op, [
++ libffi_cv_as_ascii_pseudo_op=unknown
++ # Check if we have .ascii
++ AC_TRY_COMPILE([asm (".ascii \"string\"");],,
++ [libffi_cv_as_ascii_pseudo_op=yes],
++ [libffi_cv_as_ascii_pseudo_op=no])
++ ])
++ if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
++ AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
++ [Define if your assembler supports .ascii.])
++ fi
++
++ AC_CACHE_CHECK([assembler .string pseudo-op support],
++ libffi_cv_as_string_pseudo_op, [
++ libffi_cv_as_string_pseudo_op=unknown
++ # Check if we have .string
++ AC_TRY_COMPILE([asm (".string \"string\"");],,
++ [libffi_cv_as_string_pseudo_op=yes],
++ [libffi_cv_as_string_pseudo_op=no])
++ ])
++ if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
++ AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
++ [Define if your assembler supports .string.])
++ fi
+ fi
+
++if test x$TARGET = xX86_64; then
++ AC_CACHE_CHECK([assembler supports unwind section type],
++ libffi_cv_as_x86_64_unwind_section_type, [
++ libffi_cv_as_x86_64_unwind_section_type=yes
++ echo '.section .eh_frame,"a",@unwind' > conftest.s
++ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ libffi_cv_as_x86_64_unwind_section_type=no
++ fi
++ ])
++ if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
++ AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
++ [Define if your assembler supports unwind section type.])
++ fi
++fi
++
+ AC_CACHE_CHECK([whether .eh_frame section should be read-only],
+ libffi_cv_ro_eh_frame, [
+ libffi_cv_ro_eh_frame=no
+Index: libssp/Makefile.in
+===================================================================
+--- libssp/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libssp/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -38,14 +38,14 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-DIST_COMMON = $(am__configure_deps) $(nobase_libsubinclude_HEADERS) \
+- $(srcdir)/../compile $(srcdir)/../config.guess \
+- $(srcdir)/../config.sub $(srcdir)/../depcomp \
+- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
+- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
+- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(srcdir)/config.h.in $(top_srcdir)/configure \
+- $(top_srcdir)/ssp/ssp.h.in ChangeLog
++DIST_COMMON = $(srcdir)/../config.guess $(srcdir)/../config.sub \
++ ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/config.h.in $(srcdir)/../mkinstalldirs \
++ $(top_srcdir)/ssp/ssp.h.in $(srcdir)/../compile \
++ $(srcdir)/../depcomp $(srcdir)/../ltmain.sh \
++ $(srcdir)/../config.guess $(srcdir)/../config.sub \
++ $(nobase_libsubinclude_HEADERS)
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
+@@ -94,7 +94,6 @@
+ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libssp_la_SOURCES) $(libssp_nonshared_la_SOURCES)
+-DIST_SOURCES = $(libssp_la_SOURCES) $(libssp_nonshared_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -105,17 +104,6 @@
+ HEADERS = $(nobase_libsubinclude_HEADERS)
+ ETAGS = etags
+ CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -546,134 +534,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/ssp
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-am
+ all-am: Makefile $(LTLIBRARIES) all-multi $(HEADERS) config.h
+@@ -762,20 +622,18 @@
+
+ .PHONY: CTAGS GTAGS all all-am all-multi am--refresh check check-am \
+ clean clean-generic clean-libtool clean-multi \
+- clean-toolexeclibLTLIBRARIES ctags dist dist-all dist-bzip2 \
+- dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
+- distclean-compile distclean-generic distclean-hdr \
+- distclean-libtool distclean-multi distclean-tags \
+- distcleancheck distdir distuninstallcheck dvi dvi-am html \
+- html-am info info-am install install-am install-data \
+- install-data-am install-exec install-exec-am install-info \
+- install-info-am install-man install-multi \
+- install-nobase_libsubincludeHEADERS install-strip \
+- install-toolexeclibLTLIBRARIES installcheck installcheck-am \
+- installdirs maintainer-clean maintainer-clean-generic \
+- maintainer-clean-multi mostlyclean mostlyclean-compile \
+- mostlyclean-generic mostlyclean-libtool mostlyclean-multi pdf \
+- pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \
++ clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \
++ distclean-generic distclean-hdr distclean-libtool \
++ distclean-multi distclean-tags dvi dvi-am html html-am info \
++ info-am install install-am install-data install-data-am \
++ install-exec install-exec-am install-info install-info-am \
++ install-man install-multi install-nobase_libsubincludeHEADERS \
++ install-strip install-toolexeclibLTLIBRARIES installcheck \
++ installcheck-am installdirs maintainer-clean \
++ maintainer-clean-generic maintainer-clean-multi mostlyclean \
++ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
++ mostlyclean-multi pdf pdf-am ps ps-am tags uninstall \
++ uninstall-am uninstall-info-am \
+ uninstall-nobase_libsubincludeHEADERS \
+ uninstall-toolexeclibLTLIBRARIES
+
+Index: libssp/ChangeLog
+===================================================================
+--- libssp/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libssp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,9 @@
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
- #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
-- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
-+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
-+ || defined(__ARM_ARCH_7EM__)
- # undef __ARM_ARCH__
- # define __ARM_ARCH__ 7
- #endif
-Index: libcpp/init.c
+ * GCC 4.4.4 released.
+Index: libssp/configure.ac
===================================================================
---- libcpp/init.c (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libcpp/init.c (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,6 +1,6 @@
- /* CPP Library.
- Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009
-+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
- Free Software Foundation, Inc.
- Contributed by Per Bothner, 1994-95.
- Based on CCCP program by Paul Rubin, June 1986
-@@ -570,9 +570,9 @@
- pfile->state.in_directive = 0;
-
- /* If it's a #line directive, handle it. */
-- if (token1->type == CPP_NUMBER)
-+ if (token1->type == CPP_NUMBER
-+ && _cpp_handle_directive (pfile, token->flags & PREV_WHITE))
- {
-- _cpp_handle_directive (pfile, token->flags & PREV_WHITE);
- read_original_directory (pfile);
- return;
- }
-Index: libcpp/ChangeLog
+--- libssp/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libssp/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -8,7 +8,7 @@
+ AC_CANONICAL_SYSTEM
+ ACX_NONCANONICAL_TARGET
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([no-dist])
+
+ AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
+ AC_ARG_ENABLE(version-specific-runtime-libs,
+Index: contrib/ChangeLog
===================================================================
---- libcpp/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 157785)
-+++ libcpp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 157785)
-@@ -1,3 +1,8 @@
-+2010-02-11 Jakub Jelinek <jakub@redhat.com>
+--- contrib/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ contrib/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,13 @@
++2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
-+ * init.c (read_original_filename): Don't call read_original_directory
-+ if _cpp_handle_directive returns 0.
++ * dg-extract-results.sh: Redirect grep output to /dev/null instead
++ of grep -q.
+
- 2010-01-21 Release Manager
++ Backport from mainline:
++ 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * dg-extract-results.sh: Don't use tail -n.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: contrib/dg-extract-results.sh
+===================================================================
+--- contrib/dg-extract-results.sh (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ contrib/dg-extract-results.sh (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -224,7 +224,7 @@
+ VARIANTS=""
+ for VAR in $VARS
+ do
+- grep -q "Running target $VAR" $SUM_FILES && VARIANTS="$VARIANTS $VAR"
++ grep "Running target $VAR" $SUM_FILES > /dev/null && VARIANTS="$VARIANTS $VAR"
+ done
+ fi
+
+@@ -418,6 +418,6 @@
+ # This is ugly, but if there's version output from the compiler under test
+ # at the end of the file, we want it. The other thing that might be there
+ # is the final summary counts.
+-tail -n 2 $FIRST_SUM | grep -q '^#' || tail -n 2 $FIRST_SUM
++tail -2 $FIRST_SUM | grep '^#' > /dev/null || tail -2 $FIRST_SUM
+
+ exit 0
+Index: libjava/Makefile.in
+===================================================================
+--- libjava/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -61,20 +61,21 @@
+ @USING_WIN32_THREADS_TRUE@am__append_16 = win32-threads.cc
+ @USING_NO_THREADS_TRUE@am__append_17 = no-threads.cc
+ @ANONVERSCRIPT_TRUE@am__append_18 = $(srcdir)/libgcj.ver
+-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
+- $(srcdir)/../config.guess $(srcdir)/../config.sub \
+- $(srcdir)/../depcomp $(srcdir)/../install-sh \
+- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
+- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in $(srcdir)/libgcj-test.spec.in \
+- $(srcdir)/libgcj.pc.in $(srcdir)/libgcj.spec.in \
+- $(srcdir)/sources.am $(top_srcdir)/configure \
+- $(top_srcdir)/contrib/aot-compile-rpm.in \
+- $(top_srcdir)/contrib/aot-compile.in \
++DIST_COMMON = $(srcdir)/sources.am $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub NEWS README ChangeLog THANKS \
++ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/../mkinstalldirs $(srcdir)/libgcj.pc.in \
++ $(srcdir)/libgcj.spec.in $(srcdir)/libgcj-test.spec.in \
+ $(top_srcdir)/contrib/aotcompile.py.in \
++ $(top_srcdir)/contrib/aot-compile.in \
++ $(top_srcdir)/contrib/aot-compile-rpm.in \
+ $(top_srcdir)/contrib/generate-cacerts.pl.in \
+ $(top_srcdir)/contrib/rebuild-gcj-db.in \
+- $(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS
++ $(top_srcdir)/scripts/jar.in $(srcdir)/../compile \
++ $(srcdir)/../compile $(srcdir)/../compile $(srcdir)/../depcomp \
++ $(srcdir)/../ltmain.sh $(srcdir)/../config.guess \
++ $(srcdir)/../config.sub
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@am__append_19 = gen-from-JIS
+ @NATIVE_TRUE@@USE_LIBGCJ_BC_TRUE@am__append_20 = libgcj_bc.la
+ @NATIVE_TRUE@@USE_LIBGCJ_BC_FALSE@am__append_21 = libgcj.la
+@@ -307,72 +308,6 @@
+ am__DEPENDENCIES_4 = $(patsubst classpath/resource/%,%,$(addsuffix \
+ .lo,$(property_files)))
+ am__DEPENDENCIES_5 =
+-am__libgcj_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
+- stacktrace.cc link.cc defineclass.cc verify.cc jvmti.cc \
+- interpret.cc gnu/classpath/jdwp/natVMFrame.cc \
+- gnu/classpath/jdwp/natVMMethod.cc \
+- gnu/classpath/jdwp/natVMVirtualMachine.cc \
+- gnu/classpath/natConfiguration.cc \
+- gnu/classpath/natSystemProperties.cc \
+- gnu/classpath/natVMStackWalker.cc gnu/gcj/natCore.cc \
+- gnu/gcj/convert/JIS0208_to_Unicode.cc \
+- gnu/gcj/convert/JIS0212_to_Unicode.cc \
+- gnu/gcj/convert/Unicode_to_JIS.cc gnu/gcj/convert/natIconv.cc \
+- gnu/gcj/convert/natInput_EUCJIS.cc \
+- gnu/gcj/convert/natInput_SJIS.cc \
+- gnu/gcj/convert/natOutput_EUCJIS.cc \
+- gnu/gcj/convert/natOutput_SJIS.cc \
+- gnu/gcj/io/natSimpleSHSStream.cc gnu/gcj/io/shs.cc \
+- gnu/gcj/jvmti/natBreakpoint.cc \
+- gnu/gcj/jvmti/natNormalBreakpoint.cc \
+- gnu/gcj/runtime/natFinalizerThread.cc \
+- gnu/gcj/runtime/natSharedLibLoader.cc \
+- gnu/gcj/runtime/natSystemClassLoader.cc \
+- gnu/gcj/runtime/natStringBuffer.cc gnu/gcj/util/natDebug.cc \
+- gnu/gcj/util/natGCInfo.cc gnu/java/lang/natMainThread.cc \
+- gnu/java/lang/management/natVMClassLoadingMXBeanImpl.cc \
+- gnu/java/lang/management/natVMCompilationMXBeanImpl.cc \
+- gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \
+- gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \
+- gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \
+- gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \
+- gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \
+- gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \
+- gnu/java/lang/management/natVMThreadMXBeanImpl.cc \
+- gnu/java/net/natPlainDatagramSocketImpl.cc \
+- gnu/java/net/natPlainSocketImpl.cc \
+- gnu/java/net/protocol/core/natCoreInputStream.cc \
+- gnu/java/nio/natVMPipe.cc gnu/java/nio/natVMSelector.cc \
+- gnu/java/nio/natNIOServerSocket.cc \
+- gnu/java/nio/natVMChannel.cc \
+- gnu/java/nio/channels/natFileChannelImpl.cc \
+- gnu/java/security/jce/prng/natVMSecureRandom.cc \
+- java/io/natFile.cc java/io/natVMObjectInputStream.cc \
+- java/io/natVMObjectStreamClass.cc java/lang/natCharacter.cc \
+- java/lang/natClass.cc java/lang/natClassLoader.cc \
+- java/lang/natConcreteProcess.cc java/lang/natVMDouble.cc \
+- java/lang/natVMFloat.cc java/lang/natMath.cc \
+- java/lang/natObject.cc java/lang/natRuntime.cc \
+- java/lang/natString.cc java/lang/natAbstractStringBuffer.cc \
+- java/lang/natSystem.cc java/lang/natThread.cc \
+- java/lang/natThreadLocal.cc java/lang/natVMClassLoader.cc \
+- java/lang/natVMProcess.cc java/lang/natVMThrowable.cc \
+- java/lang/ref/natReference.cc java/lang/reflect/natArray.cc \
+- java/lang/reflect/natConstructor.cc \
+- java/lang/reflect/natField.cc java/lang/reflect/natMethod.cc \
+- java/lang/reflect/natVMProxy.cc java/net/natVMInetAddress.cc \
+- java/net/natVMNetworkInterface.cc \
+- java/net/natVMURLConnection.cc \
+- java/nio/channels/natVMChannels.cc \
+- java/nio/natVMDirectByteBufferImpl.cc \
+- java/security/natVMAccessController.cc \
+- java/security/natVMAccessControlState.cc \
+- java/text/natCollator.cc java/util/natVMTimeZone.cc \
+- java/util/concurrent/atomic/natAtomicLong.cc \
+- java/util/logging/natLogger.cc java/util/zip/natDeflater.cc \
+- java/util/zip/natInflater.cc sun/misc/natUnsafe.cc boehm.cc \
+- nogc.cc posix.cc win32.cc darwin.cc posix-threads.cc \
+- win32-threads.cc no-threads.cc
+ @INTERPRETER_TRUE@am__objects_2 = jvmti.lo interpret.lo
+ @INTERPRETER_TRUE@am__objects_3 = gnu/classpath/jdwp/natVMFrame.lo \
+ @INTERPRETER_TRUE@ gnu/classpath/jdwp/natVMMethod.lo \
+@@ -484,8 +419,6 @@
+ gcj_dbtool_OBJECTS = $(am_gcj_dbtool_OBJECTS)
+ am_gcjh_OBJECTS =
+ gcjh_OBJECTS = $(am_gcjh_OBJECTS)
+-am__gen_from_JIS_SOURCES_DIST = gnu/gcj/convert/gen-from-JIS.c \
+- gnu/gcj/convert/make-trie.c gnu/gcj/convert/make-trie.h
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@am_gen_from_JIS_OBJECTS = gnu/gcj/convert/gen-from-JIS.$(OBJEXT) \
+ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ gnu/gcj/convert/make-trie.$(OBJEXT)
+ gen_from_JIS_OBJECTS = $(am_gen_from_JIS_OBJECTS)
+@@ -552,18 +485,6 @@
+ $(grmic_SOURCES) $(grmid_SOURCES) $(grmiregistry_SOURCES) \
+ $(gserialver_SOURCES) $(gtnameserv_SOURCES) \
+ $(jv_convert_SOURCES)
+-DIST_SOURCES = $(lib_gnu_awt_xlib_la_SOURCES) \
+- $(libgcj_tools_la_SOURCES) $(am__libgcj_la_SOURCES_DIST) \
+- $(EXTRA_libgcj_la_SOURCES) $(libgcj_bc_la_SOURCES) \
+- $(libgij_la_SOURCES) $(libjvm_la_SOURCES) $(ecjx_SOURCES) \
+- $(gappletviewer_SOURCES) $(gc_analyze_SOURCES) \
+- $(gcj_dbtool_SOURCES) $(gcjh_SOURCES) \
+- $(am__gen_from_JIS_SOURCES_DIST) $(gij_SOURCES) \
+- $(gjar_SOURCES) $(gjarsigner_SOURCES) $(gjavah_SOURCES) \
+- $(gjdoc_SOURCES) $(gkeytool_SOURCES) $(gnative2ascii_SOURCES) \
+- $(gorbd_SOURCES) $(grmic_SOURCES) $(grmid_SOURCES) \
+- $(grmiregistry_SOURCES) $(gserialver_SOURCES) \
+- $(gtnameserv_SOURCES) $(jv_convert_SOURCES)
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-exec-recursive install-info-recursive \
+@@ -577,17 +498,6 @@
+ ETAGS = etags
+ CTAGS = ctags
+ DIST_SUBDIRS = @DIRLTDL@ gcj include classpath testsuite
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -10179,149 +10089,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../config $(distdir)/contrib $(distdir)/libltdl $(distdir)/scripts
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) all-multi \
+@@ -10491,18 +10258,16 @@
+ am--refresh check check-am clean clean-binPROGRAMS \
+ clean-dbexecLTLIBRARIES clean-generic clean-libexecsubPROGRAMS \
+ clean-libtool clean-multi clean-noinstPROGRAMS clean-recursive \
+- clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
+- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
+- distcheck distclean distclean-compile distclean-generic \
+- distclean-libtool distclean-local distclean-multi \
+- distclean-recursive distclean-tags distcleancheck distdir \
+- distuninstallcheck dvi dvi-am html html-am info info-am \
+- install install-am install-binPROGRAMS install-binSCRIPTS \
+- install-data install-data-am install-data-local \
+- install-dbexecDATA install-dbexecLTLIBRARIES install-exec \
+- install-exec-am install-exec-hook install-info install-info-am \
+- install-jarDATA install-libexecsubPROGRAMS install-man \
+- install-multi install-strip install-toolexeclibLTLIBRARIES \
++ clean-toolexeclibLTLIBRARIES ctags ctags-recursive distclean \
++ distclean-compile distclean-generic distclean-libtool \
++ distclean-local distclean-multi distclean-recursive \
++ distclean-tags dvi dvi-am html html-am info info-am install \
++ install-am install-binPROGRAMS install-binSCRIPTS install-data \
++ install-data-am install-data-local install-dbexecDATA \
++ install-dbexecLTLIBRARIES install-exec install-exec-am \
++ install-exec-hook install-info install-info-am install-jarDATA \
++ install-libexecsubPROGRAMS install-man install-multi \
++ install-strip install-toolexeclibLTLIBRARIES \
+ install-toolexecmainlibDATA installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-multi \
+Index: libjava/libltdl/Makefile.in
+===================================================================
+--- libjava/libltdl/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/libltdl/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -37,11 +37,11 @@
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \
+- $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
+- $(srcdir)/Makefile.in $(srcdir)/config-h.in \
+- $(top_srcdir)/configure COPYING.LIB ChangeLog config.guess \
+- config.sub install-sh ltmain.sh missing
++DIST_COMMON = config.guess config.sub README ChangeLog \
++ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++ $(top_srcdir)/configure $(am__configure_deps) \
++ $(srcdir)/config-h.in ltmain.sh config.guess config.sub \
++ $(am__include_HEADERS_DIST) $(am__noinst_HEADERS_DIST)
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+@@ -87,7 +87,6 @@
+ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES)
+-DIST_SOURCES = $(libltdl_la_SOURCES) $(libltdlc_la_SOURCES)
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -100,17 +99,6 @@
+ HEADERS = $(include_HEADERS) $(noinst_HEADERS)
+ ETAGS = etags
+ CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -223,7 +211,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-AUTOMAKE_OPTIONS = no-dependencies foreign
++AUTOMAKE_OPTIONS = no-dependencies foreign no-dist
+ ACLOCAL_AMFLAGS = -I ../.. -I ../../config
+ INCLUDES = $(GCINCS)
+ @INSTALL_LTDL_TRUE@include_HEADERS = ltdl.h
+@@ -445,134 +433,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/../../config
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-am
+ all-am: Makefile $(LTLIBRARIES) all-multi $(HEADERS) config.h
+@@ -661,12 +521,10 @@
+
+ .PHONY: CTAGS GTAGS all all-am all-multi am--refresh check check-am \
+ clean clean-generic clean-libLTLIBRARIES clean-libtool \
+- clean-multi clean-noinstLTLIBRARIES ctags dist dist-all \
+- dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip distcheck \
+- distclean distclean-compile distclean-generic distclean-hdr \
+- distclean-libtool distclean-multi distclean-tags \
+- distcleancheck distdir distuninstallcheck dvi dvi-am html \
+- html-am info info-am install install-am install-data \
++ clean-multi clean-noinstLTLIBRARIES ctags distclean \
++ distclean-compile distclean-generic distclean-hdr \
++ distclean-libtool distclean-multi distclean-tags dvi dvi-am \
++ html html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-exec \
+ install-exec-am install-includeHEADERS install-info \
+ install-info-am install-libLTLIBRARIES install-man \
+Index: libjava/libltdl/ChangeLog
+===================================================================
+--- libjava/libltdl/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/libltdl/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,9 @@
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * Makefile.am (AUTOMAKE_OPTIONS): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libjava/libltdl/Makefile.am
+===================================================================
+--- libjava/libltdl/Makefile.am (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/libltdl/Makefile.am (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-AUTOMAKE_OPTIONS = no-dependencies foreign
++AUTOMAKE_OPTIONS = no-dependencies foreign no-dist
+
+ ACLOCAL_AMFLAGS = -I ../.. -I ../../config
+
+Index: libjava/configure.ac
+===================================================================
+--- libjava/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -164,7 +164,7 @@
+ AC_SUBST(CXXFLAGS)
+ AC_SUBST(LDFLAGS)
+
+-AM_INIT_AUTOMAKE([1.9.0])
++AM_INIT_AUTOMAKE([1.9.0 no-dist])
+
+ AC_CHECK_TOOL(AS, as)
+ AC_CHECK_TOOL(LD, ld)
+@@ -1712,8 +1712,8 @@
+ # Check if linker supports static linking on a per library basis
+ LD_START_STATIC_SPEC=
+ LD_FINISH_STATIC_SPEC=
+-if $LD --help 2>&1 | grep -q -e -call_shared ; then
+- if $LD --help 2>&1 | grep -q -e -non_shared ; then
++if $LD --help 2>&1 | grep -- -call_shared >/dev/null 2>&1; then
++ if $LD --help 2>&1 | grep -- -non_shared >/dev/null 2>&1; then
+ LD_START_STATIC_SPEC='%{static-libgcj:-non_shared}'
+ LD_FINISH_STATIC_SPEC='%{static-libgcj:-call_shared}'
+ fi
+Index: libjava/classpath/Makefile.in
+===================================================================
+--- libjava/classpath/Makefile.in (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/classpath/Makefile.in (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -36,25 +36,17 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-DIST_COMMON = README $(am__configure_deps) \
+- $(srcdir)/../../config.guess $(srcdir)/../../config.sub \
+- $(srcdir)/../../install-sh $(srcdir)/../../ltmain.sh \
+- $(srcdir)/../../missing $(srcdir)/../../mkinstalldirs \
+- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+- $(top_srcdir)/configure \
++DIST_COMMON = $(srcdir)/../../config.guess $(srcdir)/../../config.sub \
++ INSTALL NEWS README AUTHORS ChangeLog $(srcdir)/Makefile.in \
++ $(srcdir)/Makefile.am $(top_srcdir)/configure \
++ $(am__configure_deps) $(srcdir)/../../mkinstalldirs \
+ $(top_srcdir)/gnu/classpath/Configuration.java.in \
+ $(top_srcdir)/gnu/java/security/Configuration.java.in \
+ $(top_srcdir)/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
+ $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader.in \
+ $(top_srcdir)/resource/META-INF/services/javax.sound.sampled.spi.MixerProvider.in \
+- ../../ABOUT-NLS ../../COPYING ../../COPYING.LIB \
+- ../../ChangeLog ../../README ../../compile ../../config.guess \
+- ../../config.rpath ../../config.sub ../../depcomp \
+- ../../install-sh ../../ltmain.sh ../../missing \
+- ../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \
+- INSTALL NEWS TODO compile config.guess config.sub depcomp \
+- install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
+- ltmain.sh missing mkinstalldirs
++ $(srcdir)/../../ltmain.sh $(srcdir)/../../config.guess \
++ $(srcdir)/../../config.sub
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+@@ -93,7 +85,6 @@
+ resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader \
+ resource/META-INF/services/javax.sound.sampled.spi.MixerProvider
+ SOURCES =
+-DIST_SOURCES =
+ MULTISRCTOP =
+ MULTIBUILDTOP =
+ MULTIDIRS =
+@@ -108,17 +99,6 @@
+ uninstall-recursive
+ ETAGS = etags
+ CTAGS = ctags
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-distdir = $(PACKAGE)-$(VERSION)
+-top_distdir = $(distdir)
+-am__remove_distdir = \
+- { test ! -d $(distdir) \
+- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+- && rm -fr $(distdir); }; }
+-DIST_ARCHIVES = $(distdir).tar.gz
+-GZIP_ENV = --best
+-distuninstallcheck_listfiles = find . -type f -print
+-distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+ AMDEP_FALSE = @AMDEP_FALSE@
+ AMDEP_TRUE = @AMDEP_TRUE@
+@@ -605,152 +585,6 @@
+
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/../.. $(distdir)/../../config $(distdir)/examples $(distdir)/gnu/classpath $(distdir)/gnu/java/security $(distdir)/lib $(distdir)/m4 $(distdir)/resource/META-INF/services $(distdir)/scripts $(distdir)/tools
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+- if test "$$subdir" = .; then :; else \
+- test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
+- || exit 1; \
+- distdir=`$(am__cd) $(distdir) && pwd`; \
+- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+- (cd $$subdir && \
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$$top_distdir" \
+- distdir="$$distdir/$$subdir" \
+- distdir) \
+- || exit 1; \
+- fi; \
+- done
+- $(MAKE) $(AM_MAKEFLAGS) \
+- top_distdir="$(top_distdir)" distdir="$(distdir)" \
+- dist-hook
+- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+- || chmod -R a+r $(distdir)
+-dist-gzip: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-dist-bzip2: distdir
+- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+- $(am__remove_distdir)
+-
+-dist-tarZ: distdir
+- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+- $(am__remove_distdir)
+-
+-dist-shar: distdir
+- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+- $(am__remove_distdir)
+-
+-dist-zip: distdir
+- -rm -f $(distdir).zip
+- zip -rq $(distdir).zip $(distdir)
+- $(am__remove_distdir)
+-
+-dist dist-all: distdir
+- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+- $(am__remove_distdir)
+-
+-# This target untars the dist file and tries a VPATH configuration. Then
+-# it guarantees that the distribution is self-contained by making another
+-# tarfile.
+-distcheck: dist
+- case '$(DIST_ARCHIVES)' in \
+- *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+- *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+- *.tar.Z*) \
+- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+- *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+- *.zip*) \
+- unzip $(distdir).zip ;;\
+- esac
+- chmod -R a-w $(distdir); chmod a+w $(distdir)
+- mkdir $(distdir)/_build
+- mkdir $(distdir)/_inst
+- chmod a-w $(distdir)
+- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+- && cd $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+- $(DISTCHECK_CONFIGURE_FLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) \
+- && $(MAKE) $(AM_MAKEFLAGS) dvi \
+- && $(MAKE) $(AM_MAKEFLAGS) check \
+- && $(MAKE) $(AM_MAKEFLAGS) install \
+- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+- distuninstallcheck \
+- && chmod -R a-w "$$dc_install_base" \
+- && ({ \
+- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+- } || { rm -rf "$$dc_destdir"; exit 1; }) \
+- && rm -rf "$$dc_destdir" \
+- && $(MAKE) $(AM_MAKEFLAGS) dist \
+- && rm -rf $(DIST_ARCHIVES) \
+- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+- $(am__remove_distdir)
+- @(echo "$(distdir) archives ready for distribution: "; \
+- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+-distuninstallcheck:
+- @cd $(distuninstallcheck_dir) \
+- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+- || { echo "ERROR: files left after uninstall:" ; \
+- if test -n "$(DESTDIR)"; then \
+- echo " (check DESTDIR support)"; \
+- fi ; \
+- $(distuninstallcheck_listfiles) ; \
+- exit 1; } >&2
+-distcleancheck: distclean
+- @if test '$(srcdir)' = . ; then \
+- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+- exit 1 ; \
+- fi
+- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+- || { echo "ERROR: files left in build directory after distclean:" ; \
+- $(distcleancheck_listfiles) ; \
+- exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile all-multi
+@@ -834,20 +668,18 @@
+
+ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
+ am--refresh check check-am clean clean-generic clean-libtool \
+- clean-multi clean-recursive ctags ctags-recursive dist \
+- dist-all dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ \
+- dist-zip distcheck distclean distclean-generic \
+- distclean-libtool distclean-multi distclean-recursive \
+- distclean-tags distcleancheck distdir distuninstallcheck dvi \
+- dvi-am html html-am info info-am install install-am \
+- install-data install-data-am install-exec install-exec-am \
+- install-info install-info-am install-man install-multi \
+- install-strip installcheck installcheck-am installdirs \
+- installdirs-am maintainer-clean maintainer-clean-generic \
+- maintainer-clean-multi maintainer-clean-recursive mostlyclean \
+- mostlyclean-generic mostlyclean-libtool mostlyclean-multi \
+- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+- uninstall uninstall-am uninstall-info-am
++ clean-multi clean-recursive ctags ctags-recursive distclean \
++ distclean-generic distclean-libtool distclean-multi \
++ distclean-recursive distclean-tags dvi dvi-am html html-am \
++ info info-am install install-am install-data install-data-am \
++ install-exec install-exec-am install-info install-info-am \
++ install-man install-multi install-strip installcheck \
++ installcheck-am installdirs installdirs-am maintainer-clean \
++ maintainer-clean-generic maintainer-clean-multi \
++ maintainer-clean-recursive mostlyclean mostlyclean-generic \
++ mostlyclean-libtool mostlyclean-multi mostlyclean-recursive \
++ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
++ uninstall-info-am
+
+
+ native: lib
+Index: libjava/classpath/configure.ac
+===================================================================
+--- libjava/classpath/configure.ac (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/classpath/configure.ac (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -74,7 +74,7 @@
+ AC_SUBST(CLASSPATH_CONVENIENCE)
+
+ AC_PREREQ(2.59)
+-AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability])
++AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar no-dist -Wno-portability])
+ AC_CONFIG_HEADERS([include/config.h])
+ AC_PREFIX_DEFAULT(/usr/local/classpath)
- * GCC 4.4.3 released.
-
-Zmiany atrybutów dla: .
-___________________________________________________________________
-Dodane: svn:mergeinfo
- Połączono zmiany /trunk:r155835,156042
-
+Index: libjava/classpath/ChangeLog
+===================================================================
+--- libjava/classpath/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/classpath/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,9 @@
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libjava/ChangeLog
+===================================================================
+--- libjava/ChangeLog (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/ChangeLog (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -1,3 +1,16 @@
++2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ * configure.ac: Redirect grep stdout, stderr to /dev/null instead
++ of grep -q.
++ Use -- instead of grep -e.
++ * configure: Regenerate.
++
++2010-04-29 Jakub Jelinek <jakub@redhat.com>
++
++ PR other/43620
++ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist option.
++ * Makefile.in: Regenerated.
++
+ 2010-04-29 Release Manager
+
+ * GCC 4.4.4 released.
+Index: libjava/configure
+===================================================================
+--- libjava/configure (.../tags/gcc_4_4_4_release) (wersja 160097)
++++ libjava/configure (.../branches/gcc-4_4-branch) (wersja 160097)
+@@ -28079,8 +28079,8 @@
+ # Check if linker supports static linking on a per library basis
+ LD_START_STATIC_SPEC=
+ LD_FINISH_STATIC_SPEC=
+-if $LD --help 2>&1 | grep -q -e -call_shared ; then
+- if $LD --help 2>&1 | grep -q -e -non_shared ; then
++if $LD --help 2>&1 | grep -- -call_shared >/dev/null 2>&1; then
++ if $LD --help 2>&1 | grep -- -non_shared >/dev/null 2>&1; then
+ LD_START_STATIC_SPEC='%{static-libgcj:-non_shared}'
+ LD_FINISH_STATIC_SPEC='%{static-libgcj:-call_shared}'
+ fi