[gcc] 4.6.0-0.2
Jakub Jelinek
jakub at fedoraproject.org
Sat Jan 22 10:26:52 UTC 2011
commit 759d90703df5a33f20b45147feabf073143fa845
Author: Jakub Jelinek <jakub at redhat.com>
Date: Sat Jan 22 11:26:14 2011 +0100
4.6.0-0.2
.gitignore | 2 +
gcc.spec | 284 +++++++-----------
gcc45-libstdc++-docs.patch | 47 ---
gcc45-rh330771.patch | 27 --
...-redecl.patch => gcc46-c++-builtin-redecl.patch | 0
gcc45-cloog-dl.patch => gcc46-cloog-dl.patch | 312 +++++++++++++-------
gcc45-hack.patch => gcc46-hack.patch | 15 +-
...-i386-libgomp.patch => gcc46-i386-libgomp.patch | 0
...-java-nomulti.patch => gcc46-java-nomulti.patch | 0
...lib.patch => gcc46-libgomp-omp_h-multilib.patch | 0
gcc46-libstdc++-docs.patch | 36 +++
...-no-rpath.patch => gcc46-libtool-no-rpath.patch | 0
...o-add-needed.patch => gcc46-no-add-needed.patch | 28 +-
...pc32-retaddr.patch => gcc46-ppc32-retaddr.patch | 0
gcc45-pr33763.patch => gcc46-pr33763.patch | 0
gcc45-pr38757.patch => gcc46-pr38757.patch | 67 ++---
gcc46-pr46890.patch | 110 +++++++
gcc46-pr47106-revert.patch | 31 ++
gcc46-rh330771.patch | 27 ++
...ion.patch => gcc46-sparc-config-detection.patch | 28 +-
gcc46-unwind-debughook-sdt.patch | 88 ++++++
sources | 2 +-
22 files changed, 667 insertions(+), 437 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ce24fb8..cd9e64e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
fastjar-0.97.tar.gz
gcc-4.5.1-20101130.tar.bz2
+/fastjar-0.97.tar.gz
+/gcc-4.6.0-20110122.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index 19ceb37..a15de73 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,9 @@
-%global DATE 20101130
-%global SVNREV 167299
-%global gcc_version 4.5.1
+%global DATE 20110122
+%global SVNREV 169125
+%global gcc_version 4.6.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 6
+%global gcc_release 0.2
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
@@ -12,6 +12,7 @@
%global build_ada 0
%endif
%global build_java 1
+%global build_go 1
%global build_cloog 1
%global build_libstdcxx_docs 1
# If you don't have already a usable gcc-java and libgcj for your arch,
@@ -42,7 +43,7 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
Group: Development/Languages
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
-# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch@%{SVNREV} gcc-%{version}-%{DATE}
+# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_6-branch@%{SVNREV} gcc-%{version}-%{DATE}
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
Source0: gcc-%{version}-%{DATE}.tar.bz2
Source1: libgcc_post_upgrade.c
@@ -65,6 +66,7 @@ BuildRequires: binutils >= 2.20.51.0.2-12
# -static is used several times.
BuildRequires: glibc-static
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
+BuildRequires: systemtap-sdt-devel >= 1.3
# For VTA guality testing
BuildRequires: gdb
%if %{build_java}
@@ -138,20 +140,23 @@ Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
AutoReq: true
-Patch0: gcc45-hack.patch
-Patch2: gcc45-c++-builtin-redecl.patch
-Patch4: gcc45-java-nomulti.patch
-Patch5: gcc45-ppc32-retaddr.patch
-Patch6: gcc45-pr33763.patch
-Patch7: gcc45-rh330771.patch
-Patch8: gcc45-i386-libgomp.patch
-Patch9: gcc45-sparc-config-detection.patch
-Patch10: gcc45-libgomp-omp_h-multilib.patch
-Patch11: gcc45-libtool-no-rpath.patch
-Patch12: gcc45-cloog-dl.patch
-Patch14: gcc45-pr38757.patch
-Patch15: gcc45-libstdc++-docs.patch
-Patch17: gcc45-no-add-needed.patch
+Patch0: gcc46-hack.patch
+Patch2: gcc46-c++-builtin-redecl.patch
+Patch4: gcc46-java-nomulti.patch
+Patch5: gcc46-ppc32-retaddr.patch
+Patch6: gcc46-pr33763.patch
+Patch7: gcc46-rh330771.patch
+Patch8: gcc46-i386-libgomp.patch
+Patch9: gcc46-sparc-config-detection.patch
+Patch10: gcc46-libgomp-omp_h-multilib.patch
+Patch11: gcc46-libtool-no-rpath.patch
+Patch12: gcc46-cloog-dl.patch
+Patch14: gcc46-pr38757.patch
+Patch15: gcc46-libstdc++-docs.patch
+Patch17: gcc46-no-add-needed.patch
+Patch18: gcc46-unwind-debughook-sdt.patch
+Patch19: gcc46-pr47106-revert.patch
+Patch20: gcc46-pr46890.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@@ -175,11 +180,11 @@ Patch1004: fastjar-man.patch
%endif
%description
-The gcc package contains the GNU Compiler Collection version 4.5.
+The gcc package contains the GNU Compiler Collection version 4.6.
You'll need this package in order to compile C code.
%package -n libgcc
-Summary: GCC version 4.5 shared support library
+Summary: GCC version 4.6 shared support library
Group: System Environment/Libraries
Autoreq: false
@@ -481,6 +486,9 @@ GNAT is a GNU Ada 95 front-end to GCC. This package includes static libraries.
%patch15 -p0 -b .libstdc++-docs~
%endif
%patch17 -p0 -b .no-add-needed~
+%patch18 -p0 -b .unwind-debughook-sdt~
+%patch19 -p0 -b .pr47106-revert~
+%patch20 -p0 -b .pr46890~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@@ -497,11 +505,8 @@ tar xzf %{SOURCE4}
tar xjf %{SOURCE10}
%endif
-sed -i -e 's/4\.5\.2/4.5.1/' gcc/BASE-VER
+sed -i -e 's/4\.6\.0/4.6.0/' gcc/BASE-VER
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
-%if 0%{?fedora} <= 14
-sed -i -e 's/#define EMIT_IMPLICIT_PTR 1/#define EMIT_IMPLICIT_PTR 0/' gcc/cfgexpand.c
-%endif
# Default to -gdwarf-3 rather than -gdwarf-2
sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt
@@ -538,6 +543,9 @@ if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
fi
%endif
+# This test causes fork failures, because it spawns way too many threads
+rm -f gcc/testsuite/go.test/test/chan/goroutines.go
+
%build
%if %{build_java}
@@ -627,9 +635,9 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
--enable-gnu-unique-object --enable-linker-build-id \
%if !%{build_ada}
- --enable-languages=c,c++,objc,obj-c++,java,fortran,lto \
+ --enable-languages=c,c++,objc,obj-c++,java,fortran,go,lto \
%else
- --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,lto \
+ --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto \
%endif
--enable-plugin \
%if !%{build_java}
@@ -724,9 +732,6 @@ done)
(cd libgfortran; for i in ChangeLog*; do
cp -p $i ../rpm.doc/gfortran/$i.libgfortran
done)
-(cd gcc/objc; for i in README*; do
- cp -p $i ../../rpm.doc/objc/$i.objc
-done)
(cd libobjc; for i in README*; do
cp -p $i ../rpm.doc/objc/$i.libobjc
done)
@@ -950,28 +955,28 @@ popd
pushd $FULLPATH
if [ "%{_lib}" = "lib" ]; then
-ln -sf ../../../libobjc.so.2 libobjc.so
+ln -sf ../../../libobjc.so.3 libobjc.so
ln -sf ../../../libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../libgfortran.so.3.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
ln -sf ../../../libmudflap.so.0.* libmudflap.so
ln -sf ../../../libmudflapth.so.0.* libmudflapth.so
%if %{build_java}
-ln -sf ../../../libgcj.so.11.* libgcj.so
-ln -sf ../../../libgcj-tools.so.11.* libgcj-tools.so
-ln -sf ../../../libgij.so.11.* libgij.so
+ln -sf ../../../libgcj.so.12.* libgcj.so
+ln -sf ../../../libgcj-tools.so.12.* libgcj-tools.so
+ln -sf ../../../libgij.so.12.* libgij.so
%endif
else
-ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so
+ln -sf ../../../../%{_lib}/libobjc.so.3 libobjc.so
ln -sf ../../../../%{_lib}/libstdc++.so.6.*[0-9] libstdc++.so
ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so
%if %{build_java}
-ln -sf ../../../../%{_lib}/libgcj.so.11.* libgcj.so
-ln -sf ../../../../%{_lib}/libgcj-tools.so.11.* libgcj-tools.so
-ln -sf ../../../../%{_lib}/libgij.so.11.* libgij.so
+ln -sf ../../../../%{_lib}/libgcj.so.12.* libgcj.so
+ln -sf ../../../../%{_lib}/libgcj-tools.so.12.* libgcj-tools.so
+ln -sf ../../../../%{_lib}/libgij.so.12.* libgij.so
%endif
fi
%if %{build_java}
@@ -996,35 +1001,35 @@ mv -f $FULLPATH/ada{include,lib} $FULLLPATH/
pushd $FULLLPATH/adalib
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../../libgnarl-*.so libgnarl-4.5.so
+ln -sf ../../../../../libgnarl-*.so libgnarl-4.6.so
ln -sf ../../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../../libgnat-*.so libgnat-4.5.so
+ln -sf ../../../../../libgnat-*.so libgnat-4.6.so
else
ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so
+ln -sf ../../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so
ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so
+ln -sf ../../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so
fi
popd
else
pushd $FULLPATH/adalib
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../../libgnarl-*.so libgnarl.so
-ln -sf ../../../../libgnarl-*.so libgnarl-4.5.so
+ln -sf ../../../../libgnarl-*.so libgnarl-4.6.so
ln -sf ../../../../libgnat-*.so libgnat.so
-ln -sf ../../../../libgnat-*.so libgnat-4.5.so
+ln -sf ../../../../libgnat-*.so libgnat-4.6.so
else
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
-ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.5.so
+ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.6.so
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
-ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.5.so
+ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.6.so
fi
popd
fi
%endif
%ifarch sparcv9 ppc
-ln -sf ../../../../../lib64/libobjc.so.2 64/libobjc.so
+ln -sf ../../../../../lib64/libobjc.so.3 64/libobjc.so
ln -sf ../`echo ../../../../lib/libstdc++.so.6.*[0-9] | sed s~/lib/~/lib64/~` 64/libstdc++.so
ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
@@ -1034,9 +1039,9 @@ echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so
%if %{build_java}
-ln -sf ../`echo ../../../../lib/libgcj.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj.so
-ln -sf ../`echo ../../../../lib/libgcj-tools.so.11.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
-ln -sf ../`echo ../../../../lib/libgij.so.11.* | sed s~/lib/~/lib64/~` 64/libgij.so
+ln -sf ../`echo ../../../../lib/libgcj.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj.so
+ln -sf ../`echo ../../../../lib/libgcj-tools.so.12.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
+ln -sf ../`echo ../../../../lib/libgij.so.12.* | sed s~/lib/~/lib64/~` 64/libgij.so
ln -sf lib32/libgcj_bc.so libgcj_bc.so
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
%endif
@@ -1060,7 +1065,7 @@ ln -sf ../lib64/adalib 64/adalib
%endif
%ifarch %{multilib_64_archs}
mkdir -p 32
-ln -sf ../../../../libobjc.so.2 32/libobjc.so
+ln -sf ../../../../libobjc.so.3 32/libobjc.so
ln -sf ../`echo ../../../../lib64/libstdc++.so.6.*[0-9] | sed s~/../lib64/~/~` 32/libstdc++.so
ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
@@ -1070,9 +1075,9 @@ echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | se
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
%if %{build_java}
-ln -sf ../`echo ../../../../lib64/libgcj.so.11.* | sed s~/../lib64/~/~` 32/libgcj.so
-ln -sf ../`echo ../../../../lib64/libgcj-tools.so.11.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
-ln -sf ../`echo ../../../../lib64/libgij.so.11.* | sed s~/../lib64/~/~` 32/libgij.so
+ln -sf ../`echo ../../../../lib64/libgcj.so.12.* | sed s~/../lib64/~/~` 32/libgcj.so
+ln -sf ../`echo ../../../../lib64/libgcj-tools.so.12.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
+ln -sf ../`echo ../../../../lib64/libgij.so.12.* | sed s~/../lib64/~/~` 32/libgij.so
%endif
mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/
mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
@@ -1121,7 +1126,7 @@ popd
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.3.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
-chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.2.*
+chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.3.*
%if %{build_ada}
chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgnarl*so*
@@ -1636,7 +1641,7 @@ fi
%files -n libobjc
%defattr(-,root,root,-)
-%{_prefix}/%{_lib}/libobjc.so.2*
+%{_prefix}/%{_lib}/libobjc.so.3*
%files gfortran
%defattr(-,root,root,-)
@@ -1955,119 +1960,54 @@ fi
%endif
%changelog
-* Tue Nov 30 2010 Jakub Jelinek <jakub at redhat.com> 4.5.1-6
-- update from gcc-4_5-branch
- - PRs ada/40777, c/46547, debug/46258, fortran/45742, fortran/46638,
- fortran/46668, middle-end/43057, middle-end/46651,
- rtl-optimization/46315, rtl-optimization/46571, target/31100,
- target/44266, target/45807, tree-optimization/44545,
- tree-optimization/46491, tree-optimization/46498,
- tree-optimization/46675
-%if 0%{fedora} >= 15
-- rebuilt against new mpfr and libmpc
-%endif
-
-* Fri Nov 12 2010 Jakub Jelinek <jakub at redhat.com> 4.5.1-5
-- update from gcc-4_5-branch
- - PRs bootstrap/44455, bootstrap/44621, c++/45894, c++/45983, c++/46024,
- c++/46160, c/44772, c/45969, debug/42487, debug/44832, debug/45656,
- debug/45939, fortran/42169, fortran/45748, fortran/46007,
- fortran/46140, fortran/46152, java/43839, libffi/45677,
- libfortran/45710, libgfortran/46010, libgfortran/46373,
- libstdc++/45403, libstdc++/45711, libstdc++/45924, libstdc++/45999,
- middle-end/43690, middle-end/44569, middle-end/45569,
- middle-end/45869, middle-end/46019, middle-end/46419,
- rtl-opt/46226, rtl-optimization/43358, rtl-optimization/44691,
- rtl-optimization/46237, target/42070, target/43715, target/43764,
- target/44452, target/45820, target/45843, target/45946, target/46098,
- target/46153, target/46419, tree-optimization/45314,
- tree-optimization/45752, tree-optimization/45854,
- tree-optimization/45902, tree-optimization/45982,
- tree-optimization/46099, tree-optimization/46107,
- tree-optimization/46165, tree-optimization/46167,
- tree-optimization/46177, tree-optimization/46355
-- -Wunused-but-set* fix for computed goto (PR c/46015)
-- fix -Wunused-but-set* for ObjC and ObjC++
-- VTA backports
- - PRs bootstrap/43994, bootstrap/45630, debug/43478, debug/44023,
- debug/46171, debug/46252, debug/46255, rtl-optimization/45162,
- tree-optimization/46066
-%if 0%{?fedora} > 14
-- DW_OP_GNU_implicit_pointer support
-%endif
-
-* Fri Sep 24 2010 Jakub Jelinek <jakub at redhat.com> 4.5.1-4
-- update from gcc-4_5-branch
- - PRs bootstrap/43847, debug/43628, fortran/45081, fortran/45595,
- java/44095, libfortran/45532, libstdc++/45398, middle-end/40386,
- middle-end/44554, middle-end/44763, middle-end/45312,
- middle-end/45567, middle-end/45678, middle-end/45704, other/45443,
- rtl-optimization/41085, rtl-optimization/41087,
- rtl-optimization/42775, rtl-optimization/44919,
- rtl-optimization/45051, rtl-optimization/45593,
- rtl-optimization/45728, target/35664, target/36502, target/40959,
- target/42313, target/44651, target/45694, target/45726,
- tree-optimization/45623, tree-optimization/45709
- - fix ICE in dwarf2out_finish (#632847, PR debug/45660)
- - fix combiner (#634757, PR rtl-optimization/45695)
-- yet another -Wunused-but-set* fix for C++ consts in
- templates (PR c++/45588)
-- emit slightly more compact .eh_frame
-
-* Tue Sep 7 2010 Jakub Jelinek <jakub at redhat.com> 4.5.1-3
-- update from gcc-4_5-branch
- - PRs c++/44991, c++/45315, debug/45500, fortran/45019, fortran/45186,
- fortran/45344, fortran/45489, fortran/45530, libstdc++/45283,
- lto/45496, middle-end/44632, middle-end/45292, middle-end/45423,
- middle-end/45458, middle-end/45484, rtl-optimization/44858,
- rtl-optimization/45353, rtl-optimization/45400, target/41484,
- target/45070, target/45296, target/45327, tree-optimization/45241,
- tree-optimization/45260, tree-optimization/45393
- - fix TYPENAME_TYPE handling (#620095, PRs c++/45200, c++/45293, c++/45558)
-
-* Tue Aug 31 2010 Dennis Gilmore <dennis at ausil.us> 4.5.1-2
-- enable cloog on sparc arches
-
-* Thu Aug 12 2010 Jakub Jelinek <jakub at redhat.com> 4.5.1-1
-- update from gcc-4_5-branch
- - GCC 4.5.1 release
- - PRs boehm-gc/34544, c++/45112, fortran/31588, fortran/42051,
- fortran/43954, fortran/44064, fortran/44660, fortran/44929,
- fortran/45151, libstdc++/44963, middle-end/44133, middle-end/45034,
- middle-end/45262, target/41089, target/43698, target/44805,
- testsuite/43283, tree-optimization/44914, tree-optimization/45052,
- tree-optimization/45109
- - fix VTA ICE in caller-save.c (#622060, PR debug/45259)
-- fix up gdb libstdc++ pretty printing (#621717)
-- fix up libgcj.so, libgij.so and libgcj-tools.so symlinks (#619156)
-
-* Fri Jul 30 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-4
-- update from gcc-4_5-branch
- - PRs c++/43016, c++/44996, c++/45008, c/45079, debug/45015, fortran/30668,
- fortran/31346, fortran/34260, fortran/40011, testsuite/38946,
- tree-optimization/44900, tree-optimization/44977
- - fix vectorizer ICE (#617492, PR tree-optimization/45047)
-- use --enable-linker-build-id in configury instead of patching
- --build-id support in
-- VTA backports
- - PRs debug/45055, rtl-optimization/45137, debug/45003,
- debug/45006, bootstrap/45028
-
-* Fri Jul 16 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-3
-- update from gcc-4_5-branch
- - PRs ada/43731, fortran/44773, pch/14940, testsuite/44325
- - fix vectorizer (#614375, #614814, PR tree-optimization/44886)
-- fix fortran CHARACTER type SELECT CASE handling (PR fortran/40206)
-- fix inline-asm check for auto-inc-dec operands (PR testsuite/44701)
-- fix va_start on x86_64 (PR target/44942)
-
-* Fri Jul 9 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-2
-- update from gcc-4_5-branch
- - PRs c++/44703, fortran/44847, middle-end/41355, middle-end/44828,
- target/43888, tree-optimization/44284
-- use DW_OP_const[48]u instead of DW_OP_addr before DW_OP_GNU_push_tls_address
-- fix a multilib issue with *.py[oc] files in libstdc++ (#612742)
-- fix up libgcj_bc.so
-
-* Wed Jul 7 2010 Jakub Jelinek <jakub at redhat.com> 4.5.0-1
-- initial 4.5 package, using newly created redhat/gcc-4_5-branch
+* Sat Jan 22 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.2
+- update from the trunk
+ - PRs bootstrap/47055, bootstrap/47187, bootstrap/47215, c++/33558,
+ c++/45520, c++/46552, c++/46658, c++/46688, c++/46903, c++/46977,
+ c++/47022, c++/47041, c++/47067, c++/47213, c++/47218, c++/47289,
+ c++/47291, c++/47303, c++/47388, c/47150, debug/46240, debug/46583,
+ debug/46704, debug/46724, debug/46955, debug/47079, debug/47106,
+ debug/47209, debug/47283, debug/47402, debug/PR46973, driver/42445,
+ driver/47244, fortran/33117, fortran/38536, fortran/41580,
+ fortran/45777, fortran/45848, fortran/46017, fortran/46313,
+ fortran/46402, fortran/46405, fortran/46416, fortran/46478,
+ fortran/46625, fortran/46817, fortran/46896, fortran/47024,
+ fortran/47051, fortran/47174, fortran/47177, fortran/47180,
+ fortran/47182, fortran/47189, fortran/47194, fortran/47195,
+ fortran/47204, fortran/47224, fortran/47240, fortran/47260,
+ fortran/47268, fortran/47295, fortran/47327, fortran/47331,
+ fortran/47377, fortran/47394, gcc/46902, libfortran/46267,
+ libfortran/47296, libfortran/47322, libgfortran/47154,
+ libgfortran/47296, libstdc++/36104, libstdc++/47045, libstdc++/47145,
+ libstdc++/47185, libstdc++/47320, libstdc++/47321, libstdc++/47323,
+ libstdc++/47354, lto/45375, lto/45721, lto/46083, lto/46760,
+ lto/47162, lto/47188, lto/47222, lto/47225, lto/47259, lto/47264,
+ middle-end/32511, middle-end/45235, middle-end/45566,
+ middle-end/46823, middle-end/46894, middle-end/47281,
+ middle-end/47370, middle-end/47395, objc/45989, objc/47078,
+ objc/47232, objc/47314, other/45915, other/46946, preprocessor/39213,
+ rtl-optimization/39077, rtl-optimization/41619,
+ rtl-optimization/45352, rtl-optimization/47216,
+ rtl-optimization/47299, rtl-optimization/47337,
+ rtl-optimization/47366, target/19162, target/38118, target/43309,
+ target/45258, target/46037, target/46655, target/46997, target/47201,
+ target/47219, target/47251, target/47318, testsuite/33033,
+ testsuite/41146, testsuite/45342, testsuite/46230, testsuite/46912,
+ testsuite/47325, testsuite/47371, tree-optimization/45934,
+ tree-optimization/45967, tree-optimization/46021,
+ tree-optimization/46076, tree-optimization/46130,
+ tree-optimization/46302, tree-optimization/46367,
+ tree-optimization/47005, tree-optimization/47053,
+ tree-optimization/47056, tree-optimization/47086,
+ tree-optimization/47139, tree-optimization/47141,
+ tree-optimization/47167, tree-optimization/47179,
+ tree-optimization/47233, tree-optimization/47234,
+ tree-optimization/47239, tree-optimization/47276,
+ tree-optimization/47280, tree-optimization/47286,
+ tree-optimization/47290, tree-optimization/47313,
+ tree-optimization/47355, tree-optimization/47365,
+ tree-optimization/47391, tree-optmization/46469
+- add systemtap probe to _Unwind_DebugHook
+
+* Tue Jan 4 2011 Jakub Jelinek <jakub at redhat.com> 4.6.0-0.1
+- new package
diff --git a/gcc45-c++-builtin-redecl.patch b/gcc46-c++-builtin-redecl.patch
similarity index 100%
rename from gcc45-c++-builtin-redecl.patch
rename to gcc46-c++-builtin-redecl.patch
diff --git a/gcc45-cloog-dl.patch b/gcc46-cloog-dl.patch
similarity index 69%
rename from gcc45-cloog-dl.patch
rename to gcc46-cloog-dl.patch
index a3ea1ea..eb09a22 100644
--- a/gcc45-cloog-dl.patch
+++ b/gcc46-cloog-dl.patch
@@ -1,73 +1,111 @@
-2010-07-01 Jakub Jelinek <jakub at redhat.com>
+2011-01-04 Jakub Jelinek <jakub at redhat.com>
- * Makefile.in (BACKENDLIBS): Link against -ldl instead of -lcloog -lppl.
+ * Makefile.in (BACKENDLIBS): Link against -ldl instead of
+ -lcloog -lppl.
(graphite.o, graphite%.o): Force -O, remove -fkeep-inline-functions.
- (graphite-ppl.o): Depend on graphite.h.
- * graphite.h: Include <dlfcn.h>. Reference libcloog and libppl symbols
- through pointers in cloog_pointers__ variable.
+ (GRAPHITE_CLOOG_UTIL_H, GRAPHITE_POLY_H): New.
+ (graphite*.o): Adjust dependencies.
+ * graphite-cloog-compat.h: Include <dlfcn.h>. Reference libcloog and
+ libppl symbols through pointers in cloog_pointers__ variable.
* graphite.c (init_cloog_pointers): New function.
(graphite_transform_loops): Call init_cloog_pointers.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename stmt_for
- argument to stmt_fora.
- * graphite-ppl.c: Include graphite.h.
+ * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Rename
+ stmt_for argument to stmt_fora.
+ * graphite-poly.h: Include graphite-cloog-util.h.
---- gcc/graphite.c.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/graphite.c 2010-07-01 16:57:48.248523237 +0200
-@@ -67,6 +67,35 @@ along with GCC; see the file COPYING3.
- #include "graphite-clast-to-gimple.h"
- #include "graphite-sese-to-poly.h"
+--- gcc/Makefile.in.jj 2011-01-03 13:44:14.163900902 +0100
++++ gcc/Makefile.in 2011-01-04 17:48:53.588775911 +0100
+@@ -985,6 +985,8 @@ GCC_PLUGIN_H = gcc-plugin.h highlev-plug
+ PLUGIN_H = plugin.h $(GCC_PLUGIN_H)
+ PLUGIN_VERSION_H = plugin-version.h configargs.h
+ LIBFUNCS_H = libfuncs.h $(HASHTAB_H)
++GRAPHITE_CLOOG_UTIL_H = graphite-cloog-util.h graphite-cloog-compat.h
++GRAPHITE_POLY_H = graphite-poly.h $(GRAPHITE_CLOOG_UTIL_H)
-+__typeof (cloog_pointers__) cloog_pointers__;
-+
-+static bool
-+init_cloog_pointers (void)
-+{
-+ void *h;
-+
-+ if (cloog_pointers__.inited)
-+ return cloog_pointers__.h != NULL;
-+ h = dlopen ("libcloog.so.0", RTLD_LAZY);
-+ cloog_pointers__.h = h;
-+ if (h == NULL)
-+ return false;
-+#define DYNSYM(x) \
-+ do \
-+ { \
-+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
-+ u.q = dlsym (h, #x); \
-+ if (u.q == NULL) \
-+ return false; \
-+ cloog_pointers__.p_##x = u.p; \
-+ } \
-+ while (0)
-+ DYNSYMS
-+#undef DYNSYM
-+ return true;
-+}
-+
-+
- /* Print global statistics to FILE. */
-
- static void
-@@ -210,6 +239,12 @@ graphite_initialize (void)
- return false;
- }
+ #
+ # Now figure out from those variables how to compile and link.
+@@ -1038,7 +1040,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
+ # and the system's installed libraries.
+ LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
+ $(HOST_LIBS)
+-BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
++BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl) $(PLUGINLIBS) $(HOST_LIBS) \
+ $(ZLIB)
+ # Any system libraries needed just for GNAT.
+ SYSLIBS = @GNAT_LIBEXC@
+@@ -2671,39 +2673,39 @@ sese.o : sese.c sese.h $(CONFIG_H) $(SYS
+ $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h
+ graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \
+ $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h \
+- $(DBGCNT_H) graphite-ppl.h graphite-poly.h graphite-scop-detection.h \
++ $(DBGCNT_H) graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h \
+ graphite-clast-to-gimple.h graphite-sese-to-poly.h
+ graphite-blocking.o : graphite-blocking.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
+- sese.h graphite-ppl.h graphite-poly.h
++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
+ graphite-clast-to-gimple.o : graphite-clast-to-gimple.c $(CONFIG_H) \
+ $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
+- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-cloog-util.h \
+- graphite-ppl.h graphite-poly.h graphite-clast-to-gimple.h \
+- graphite-dependences.h graphite-cloog-compat.h
++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h $(GRAPHITE_CLOOG_UTIL_H) \
++ graphite-ppl.h $(GRAPHITE_POLY_H) graphite-clast-to-gimple.h \
++ graphite-dependences.h
+ graphite-cloog-util.o : graphite-cloog-util.c $(CONFIG_H) $(SYSTEM_H) \
+- coretypes.h graphite-cloog-util.h graphite-cloog-compat.h
++ coretypes.h $(GRAPHITE_CLOOG_UTIL_H) graphite-cloog-compat.h
+ graphite-dependences.o : graphite-dependences.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
+- sese.h graphite-ppl.h graphite-poly.h graphite-dependences.h
++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-dependences.h
+ graphite-flattening.o : graphite-flattening.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
+- sese.h graphite-ppl.h graphite-poly.h
++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
+ graphite-interchange.o : graphite-interchange.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \
+- sese.h graphite-ppl.h graphite-poly.h
++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H)
+ graphite-poly.o : graphite-poly.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ $(DIAGNOSTIC_CORE_H) $(TREE_FLOW_H) $(TREE_DUMP_H) gimple-pretty-print.h \
+- $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h graphite-poly.h \
+- graphite-dependences.h graphite-cloog-util.h
++ $(CFGLOOP_H) $(TREE_DATA_REF_H) sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
++ graphite-dependences.h $(GRAPHITE_CLOOG_UTIL_H)
+ graphite-ppl.o : graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+- graphite-cloog-util.h graphite-ppl.h
++ $(GRAPHITE_CLOOG_UTIL_H) graphite-ppl.h
+ graphite-scop-detection.o : graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) $(TREE_PASS_H) \
+- sese.h graphite-ppl.h graphite-poly.h graphite-scop-detection.h
++ sese.h graphite-ppl.h $(GRAPHITE_POLY_H) graphite-scop-detection.h
+ graphite-sese-to-poly.o : graphite-sese-to-poly.c $(CONFIG_H) \
+ $(SYSTEM_H) coretypes.h $(TREE_FLOW_H) $(TREE_DUMP_H) $(CFGLOOP_H) \
+- $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h graphite-poly.h \
++ $(TREE_DATA_REF_H) domwalk.h sese.h graphite-ppl.h $(GRAPHITE_POLY_H) \
+ graphite-sese-to-poly.h
+ tree-vect-loop.o: tree-vect-loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
+ $(TM_H) $(GGC_H) $(TREE_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) \
+@@ -3488,6 +3490,11 @@ $(out_object_file): $(out_file) $(CONFIG
+ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
+ $(out_file) $(OUTPUT_OPTION)
-+ if (!init_cloog_pointers ())
-+ {
-+ sorry ("Graphite loop optimizations cannot be used");
-+ return false;
-+ }
++graphite%.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++graphite.o : \
++ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++
+ # Build auxiliary files that support ecoff format.
+ mips-tfile: mips-tfile.o version.o $(LIBDEPS)
+ $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
+--- gcc/graphite-cloog-compat.h.jj 2011-01-03 12:53:05.000000000 +0100
++++ gcc/graphite-cloog-compat.h 2011-01-04 17:34:09.857757544 +0100
+@@ -272,4 +272,261 @@ static inline int cloog_matrix_nrows (Cl
+ return m->NbRows;
+ }
+ #endif /* CLOOG_ORG */
+
- recompute_all_dominators ();
- initialize_original_copy_tables ();
- cloog_initialize ();
---- gcc/graphite.h.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/graphite.h 2010-07-01 17:29:37.225491850 +0200
-@@ -21,4 +21,224 @@ along with GCC; see the file COPYING3.
- #ifndef GCC_GRAPHITE_H
- #define GCC_GRAPHITE_H
-
+#include <dlfcn.h>
+#define DYNSYMS \
+ DYNSYM (cloog_block_alloc); \
@@ -172,7 +210,12 @@
+ DYNSYM (stmt_for); \
+ DYNSYM (stmt_guard); \
+ DYNSYM (stmt_root); \
-+ DYNSYM (stmt_user);
++ DYNSYM (stmt_user); \
++ DYNSYM (ppl_delete_Constraint_System); \
++ DYNSYM (ppl_initialize); \
++ DYNSYM (ppl_new_Constraint_System_from_Constraint); \
++ DYNSYM (ppl_new_C_Polyhedron_from_Constraint_System); \
++ DYNSYM (ppl_Polyhedron_affine_image);
+extern struct
+{
+ bool inited;
@@ -190,7 +233,12 @@
+#define cloog_domain_free (*cloog_pointers__.p_cloog_domain_free)
+#define cloog_domain_matrix2domain (*cloog_pointers__.p_cloog_domain_matrix2domain)
+#define cloog_initialize (*cloog_pointers__.p_cloog_initialize)
++#ifndef CLOOG_ORG
++#undef cloog_loop_malloc
++#define cloog_loop_malloc(STATE) (*cloog_pointers__.p_cloog_loop_malloc) ()
++#else
+#define cloog_loop_malloc (*cloog_pointers__.p_cloog_loop_malloc)
++#endif
+#define cloog_matrix_alloc (*cloog_pointers__.p_cloog_matrix_alloc)
+#define cloog_matrix_copy (*cloog_pointers__.p_cloog_matrix_copy)
+#define cloog_matrix_free (*cloog_pointers__.p_cloog_matrix_free)
@@ -198,15 +246,35 @@
+#define cloog_names_malloc (*cloog_pointers__.p_cloog_names_malloc)
+#define cloog_names_scalarize (*cloog_pointers__.p_cloog_names_scalarize)
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
++#ifndef CLOOG_ORG
++#undef cloog_options_malloc
++#define cloog_options_malloc(STATE) (*cloog_pointers__.p_cloog_options_malloc) ()
++#undef cloog_program_dump_cloog
++#define cloog_program_dump_cloog(DUMPFILE, PROGRAM, SCATTERINGLIST) \
++ (*cloog_pointers__.p_cloog_program_dump_cloog) (DUMPFILE, PROGRAM)
++#undef cloog_program_extract_scalars
++#define cloog_program_extract_scalars(PROG, SCATT, OPT) \
++ (*cloog_pointers__.p_cloog_program_extract_scalars) (PROG, SCATT)
++#else
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
+#define cloog_program_dump_cloog (*cloog_pointers__.p_cloog_program_dump_cloog)
+#define cloog_program_extract_scalars (*cloog_pointers__.p_cloog_program_extract_scalars)
++#endif
+#define cloog_program_free (*cloog_pointers__.p_cloog_program_free)
+#define cloog_program_generate (*cloog_pointers__.p_cloog_program_generate)
+#define cloog_program_malloc (*cloog_pointers__.p_cloog_program_malloc)
+#define cloog_program_print (*cloog_pointers__.p_cloog_program_print)
++#ifndef CLOOG_ORG
++#undef cloog_program_scatter
++#define cloog_program_scatter(PROG, SCATT, OPT) \
++ (*cloog_pointers__.p_cloog_program_scatter) (PROG, SCATT)
++#undef cloog_statement_alloc
++#define cloog_statement_alloc(STATE, INDEX) \
++ (*cloog_pointers__.p_cloog_statement_alloc) (INDEX)
++#else
+#define cloog_program_scatter (*cloog_pointers__.p_cloog_program_scatter)
+#define cloog_statement_alloc (*cloog_pointers__.p_cloog_statement_alloc)
++#endif
+#define cloog_domain_union (*cloog_pointers__.p_cloog_domain_union)
+#define cloog_matrix_read (*cloog_pointers__.p_cloog_matrix_read)
+#define cloog_new_pol (*cloog_pointers__.p_cloog_new_pol)
@@ -285,66 +353,90 @@
+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
+#define stmt_root (*cloog_pointers__.p_stmt_root)
+#define stmt_user (*cloog_pointers__.p_stmt_user)
++#define ppl_delete_Constraint_System (*cloog_pointers__.p_ppl_delete_Constraint_System)
++#define ppl_initialize (*cloog_pointers__.p_ppl_initialize)
++#define ppl_new_Constraint_System_from_Constraint (*cloog_pointers__.p_ppl_new_Constraint_System_from_Constraint)
++#define ppl_new_C_Polyhedron_from_Constraint_System (*cloog_pointers__.p_ppl_new_C_Polyhedron_from_Constraint_System)
++#define ppl_Polyhedron_affine_image (*cloog_pointers__.p_ppl_Polyhedron_affine_image)
+
+#define cloog_finalize (*cloog_pointers__.p_ppl_finalize)
+
- #endif /* GCC_GRAPHITE_H */
---- gcc/Makefile.in.jj 2010-06-30 21:23:29.000000000 +0200
-+++ gcc/Makefile.in 2010-07-01 17:33:11.016479963 +0200
-@@ -1011,7 +1011,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
- # and the system's installed libraries.
- LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \
- $(HOST_LIBS)
--BACKENDLIBS = $(CLOOGLIBS) $(PPLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
-+BACKENDLIBS = $(GMPLIBS) $(if $(CLOOGLIBS),-ldl) $(PLUGINLIBS) $(HOST_LIBS) \
- $(ZLIB) $(LIBELFLIBS)
- # Any system libraries needed just for GNAT.
- SYSLIBS = @GNAT_LIBEXC@
-@@ -2607,7 +2607,7 @@ graphite-poly.o: graphite-poly.c $(CONFI
- $(TREE_DATA_REF_H) tree-pass.h domwalk.h graphite.h graphite-dependences.h \
- pointer-set.h value-prof.h graphite-ppl.h sese.h output.h graphite-poly.h
- graphite-ppl.o: graphite-ppl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-- $(GGC_H) graphite-ppl.h
-+ $(GGC_H) graphite-ppl.h graphite.h
- graphite-scop-detection.o: graphite-scop-detection.c $(CONFIG_H) $(SYSTEM_H) \
- $(GGC_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TOPLEV_H) \
- $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) $(GIMPLE_H) \
-@@ -3359,6 +3359,11 @@ $(out_object_file): $(out_file) $(CONFIG
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
- $(out_file) $(OUTPUT_OPTION)
++
+ #endif /* GRAPHITE_CLOOG_COMPAT_H */
+--- gcc/graphite.c.jj 2011-01-03 12:53:05.194056513 +0100
++++ gcc/graphite.c 2011-01-04 16:18:32.385007767 +0100
+@@ -54,6 +54,35 @@ along with GCC; see the file COPYING3.
+ #include "graphite-clast-to-gimple.h"
+ #include "graphite-sese-to-poly.h"
-+graphite%.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
-+graphite.o : \
-+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
++__typeof (cloog_pointers__) cloog_pointers__;
+
- # Build auxiliary files that support ecoff format.
- mips-tfile: mips-tfile.o version.o $(LIBDEPS)
- $(LINKER) $(LINKERFLAGS) $(LDFLAGS) -o $@ \
---- gcc/graphite-ppl.c.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/graphite-ppl.c 2010-07-01 17:08:14.161335642 +0200
-@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.
- #include "ppl_c.h"
- #include "cloog/cloog.h"
- #include "graphite-ppl.h"
-+#include "graphite.h"
++static bool
++init_cloog_pointers (void)
++{
++ void *h;
++
++ if (cloog_pointers__.inited)
++ return cloog_pointers__.h != NULL;
++ h = dlopen ("libcloog.so.0", RTLD_LAZY);
++ cloog_pointers__.h = h;
++ if (h == NULL)
++ return false;
++#define DYNSYM(x) \
++ do \
++ { \
++ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
++ u.q = dlsym (h, #x); \
++ if (u.q == NULL) \
++ return false; \
++ cloog_pointers__.p_##x = u.p; \
++ } \
++ while (0)
++ DYNSYMS
++#undef DYNSYM
++ return true;
++}
++
++
+ /* Print global statistics to FILE. */
- /* Translates row ROW of the CloogMatrix MATRIX to a PPL Constraint. */
+ static void
+@@ -199,6 +228,12 @@ graphite_initialize (void)
+ return false;
+ }
---- gcc/graphite-clast-to-gimple.c.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/graphite-clast-to-gimple.c 2010-07-01 16:50:15.812485671 +0200
-@@ -613,11 +613,11 @@ gcc_type_for_cloog_iv (const char *cloog
- STMT. */
++ if (!init_cloog_pointers ())
++ {
++ sorry ("Graphite loop optimizations cannot be used");
++ return false;
++ }
++
+ scev_reset ();
+ recompute_all_dominators ();
+ initialize_original_copy_tables ();
+--- gcc/graphite-clast-to-gimple.c.jj 2011-01-03 12:53:05.000000000 +0100
++++ gcc/graphite-clast-to-gimple.c 2011-01-04 16:29:55.738007463 +0100
+@@ -738,10 +738,10 @@ clast_get_body_of_loop (struct clast_stm
+ from STMT_FOR. */
static tree
--gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for)
-+gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora)
+-gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_for, int level,
++gcc_type_for_iv_of_clast_loop (struct clast_for *stmt_fora, int level,
+ tree lb_type, tree ub_type)
{
- struct clast_stmt *stmt = (struct clast_stmt *) stmt_for;
+ struct clast_stmt *stmt = (struct clast_stmt *) stmt_fora;
struct clast_user_stmt *body = clast_get_body_of_loop (stmt);
-- const char *cloog_iv = stmt_for->iterator;
-+ const char *cloog_iv = stmt_fora->iterator;
CloogStatement *cs = body->statement;
poly_bb_p pbb = (poly_bb_p) cloog_statement_usr (cs);
+--- gcc/graphite-poly.h.jj 2011-01-03 12:53:05.000000000 +0100
++++ gcc/graphite-poly.h 2011-01-04 17:35:53.308788629 +0100
+@@ -22,6 +22,8 @@ along with GCC; see the file COPYING3.
+ #ifndef GCC_GRAPHITE_POLY_H
+ #define GCC_GRAPHITE_POLY_H
++#include "graphite-cloog-util.h"
++
+ typedef struct poly_dr *poly_dr_p;
+ DEF_VEC_P(poly_dr_p);
+ DEF_VEC_ALLOC_P (poly_dr_p, heap);
diff --git a/gcc45-hack.patch b/gcc46-hack.patch
similarity index 88%
rename from gcc45-hack.patch
rename to gcc46-hack.patch
index 470627d..4689ce8 100644
--- a/gcc45-hack.patch
+++ b/gcc46-hack.patch
@@ -54,16 +54,6 @@
# Rules to build gnatlib.
.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared oscons
---- gcc/ada/make.adb 2008-11-07 23:00:32.000000000 +0100
-+++ gcc/ada/make.adb 2009-01-16 17:55:02.000000000 +0100
-@@ -8007,6 +8007,7 @@ package body Make is
- or else Argv (2 .. Argv'Last) = "pg"
- or else (Argv (2) = 'm' and then Argv'Last > 2)
- or else (Argv (2) = 'f' and then Argv'Last > 2)
-+ or else (Argv'Last >= 8 and then Argv (2 .. 8) = "-param=")
- then
- Add_Switch (Argv, Compiler, And_Save => And_Save);
- Add_Switch (Argv, Linker, And_Save => And_Save);
--- gcc/ada/sem_util.adb (revision 161677)
+++ gcc/ada/sem_util.adb (working copy)
@@ -2246,7 +2246,11 @@
@@ -89,14 +79,15 @@
begin
--- config-ml.in.jj 2010-06-30 09:50:44.000000000 +0200
+++ config-ml.in 2010-07-02 21:24:17.994211151 +0200
-@@ -516,6 +516,7 @@ multi-do:
+@@ -516,6 +516,8 @@ multi-do:
ADAFLAGS="$(ADAFLAGS) $${flags}" \
prefix="$(prefix)" \
exec_prefix="$(exec_prefix)" \
+ mandir="$(mandir)" \
++ infodir="$(infodir)" \
GCJFLAGS="$(GCJFLAGS) $${flags}" \
+ GOCFLAGS="$(GOCFLAGS) $${flags}" \
CXXFLAGS="$(CXXFLAGS) $${flags}" \
- LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
--- libjava/Makefile.am.jj 2010-07-09 11:17:33.729604090 +0200
+++ libjava/Makefile.am 2010-07-09 13:16:41.894375641 +0200
@@ -710,7 +710,8 @@ if USE_LIBGCJ_BC
diff --git a/gcc45-i386-libgomp.patch b/gcc46-i386-libgomp.patch
similarity index 100%
rename from gcc45-i386-libgomp.patch
rename to gcc46-i386-libgomp.patch
diff --git a/gcc45-java-nomulti.patch b/gcc46-java-nomulti.patch
similarity index 100%
rename from gcc45-java-nomulti.patch
rename to gcc46-java-nomulti.patch
diff --git a/gcc45-libgomp-omp_h-multilib.patch b/gcc46-libgomp-omp_h-multilib.patch
similarity index 100%
rename from gcc45-libgomp-omp_h-multilib.patch
rename to gcc46-libgomp-omp_h-multilib.patch
diff --git a/gcc46-libstdc++-docs.patch b/gcc46-libstdc++-docs.patch
new file mode 100644
index 0000000..a926da8
--- /dev/null
+++ b/gcc46-libstdc++-docs.patch
@@ -0,0 +1,36 @@
+--- libstdc++-v3/doc/html/index.html.jj 2011-01-03 12:53:21.282829010 +0100
++++ libstdc++-v3/doc/html/index.html 2011-01-04 18:06:28.999851145 +0100
+@@ -12,7 +12,8 @@
+ <div>
+ <h1>The GNU C++ Library Documentation</h1>
+
+-<p>Copyright 2008, 2009 FSF</p>
++<p>Release 4.6.0</p>
++<p>Copyright 2008, 2009, 2010, 2011 FSF</p>
+
+ <p>
+ Permission is granted to copy, distribute and/or modify this
+--- libstdc++-v3/doc/html/api.html.jj 2011-01-03 12:53:21.000000000 +0100
++++ libstdc++-v3/doc/html/api.html 2011-01-04 18:12:01.672757784 +0100
+@@ -3,7 +3,7 @@
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" title="API Documentation"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API Documentation</h2></div><div><p class="copyright">Copyright ©
+ 2008
+ ,
+- 2010
++ 2010, 2011
+
+ <a class="ulink" href="http://www.fsf.org/" target="_top">FSF
+ </a>
+@@ -19,8 +19,11 @@
+ member functions for the library classes, finding out what is in a
+ particular include file, looking at inheritance diagrams, etc.
+ </p><p>
+- The API documentation, rendered into HTML, can be viewed online:
++ The API documentation, rendered into HTML, can be viewed here:
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
++ <a class="ulink" href="api/index.html" target="_top">for the 4.6 release, local
++ </a>
++ </p></li><li class="listitem"><p>
+ <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
+ </a>
+ </p></li><li class="listitem"><p>
diff --git a/gcc45-libtool-no-rpath.patch b/gcc46-libtool-no-rpath.patch
similarity index 100%
rename from gcc45-libtool-no-rpath.patch
rename to gcc46-libtool-no-rpath.patch
diff --git a/gcc45-no-add-needed.patch b/gcc46-no-add-needed.patch
similarity index 62%
rename from gcc45-no-add-needed.patch
rename to gcc46-no-add-needed.patch
index 23704d3..debd655 100644
--- a/gcc45-no-add-needed.patch
+++ b/gcc46-no-add-needed.patch
@@ -6,9 +6,9 @@
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
---- gcc/config/alpha/elf.h.~1~
-+++ gcc/config/alpha/elf.h
-@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
+--- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100
++++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100
+@@ -438,7 +438,7 @@ extern int alpha_this_gpdisp_sequence_nu
I imagine that other systems will catch up. In the meantime, it
doesn't harm to make sure that the data exists to be used later. */
#if defined(HAVE_LD_EH_FRAME_HDR)
@@ -17,9 +17,9 @@
#endif
/* A C statement (sans semicolon) to output to the stdio stream STREAM
---- gcc/config/ia64/linux.h.~1~
-+++ gcc/config/ia64/linux.h
-@@ -58,7 +58,7 @@ do { \
+--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
++++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
+@@ -82,7 +82,7 @@ do { \
Signalize that because we have fde-glibc, we don't need all C shared libs
linked against -lgcc_s. */
#undef LINK_EH_SPEC
@@ -28,9 +28,9 @@
#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
---- gcc/config/linux.h.~1~
-+++ gcc/config/linux.h
-@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
+--- gcc/config/linux.h.jj 2011-01-03 12:53:03.739057299 +0100
++++ gcc/config/linux.h 2011-01-04 18:14:10.932814884 +0100
+@@ -102,7 +102,7 @@ see the files COPYING3 and COPYING.RUNTI
} while (0)
#if defined(HAVE_LD_EH_FRAME_HDR)
@@ -38,11 +38,11 @@
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
#endif
- /* Define this so we can compile MS code for use with WINE. */
---- gcc/config/rs6000/sysv4.h.~1~
-+++ gcc/config/rs6000/sysv4.h
-@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+ #undef LINK_GCC_C_SEQUENCE_SPEC
+--- gcc/config/rs6000/sysv4.h.jj 2011-01-03 13:02:18.255994215 +0100
++++ gcc/config/rs6000/sysv4.h 2011-01-04 18:14:10.933888871 +0100
+@@ -869,7 +869,7 @@ extern int fixuplabelno;
+ -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
#if defined(HAVE_LD_EH_FRAME_HDR)
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
diff --git a/gcc45-ppc32-retaddr.patch b/gcc46-ppc32-retaddr.patch
similarity index 100%
rename from gcc45-ppc32-retaddr.patch
rename to gcc46-ppc32-retaddr.patch
diff --git a/gcc45-pr33763.patch b/gcc46-pr33763.patch
similarity index 100%
rename from gcc45-pr33763.patch
rename to gcc46-pr33763.patch
diff --git a/gcc45-pr38757.patch b/gcc46-pr38757.patch
similarity index 56%
rename from gcc45-pr38757.patch
rename to gcc46-pr38757.patch
index d550988..5e6bf57 100644
--- a/gcc45-pr38757.patch
+++ b/gcc46-pr38757.patch
@@ -11,11 +11,11 @@
(gen_compile_unit_die): Use lang_hooks.source_language () to
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
---- gcc/langhooks.h.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/langhooks.h 2010-07-01 16:15:22.432616871 +0200
-@@ -454,6 +454,10 @@ struct lang_hooks
- is enabled. */
- bool eh_use_cxa_end_cleanup;
+--- gcc/langhooks.h.jj 2011-01-03 12:53:05.125745450 +0100
++++ gcc/langhooks.h 2011-01-04 17:59:43.166744926 +0100
+@@ -467,6 +467,10 @@ struct lang_hooks
+ gimplification. */
+ bool deep_unsharing;
+ /* Return year of the source language standard version if the FE supports
+ multiple versions of the standard. */
@@ -24,42 +24,29 @@
/* Whenever you add entries here, make sure you adjust langhooks-def.h
and langhooks.c accordingly. */
};
---- gcc/langhooks-def.h.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/langhooks-def.h 2010-07-01 16:16:07.427460761 +0200
-@@ -1,5 +1,5 @@
- /* Default macros to initialize the lang_hooks data structure.
-- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
- Contributed by Alexandre Oliva <aoliva at redhat.com>
-
-@@ -111,6 +111,7 @@ extern void lhd_omp_firstprivatize_type_
- #define LANG_HOOKS_EH_PERSONALITY lhd_gcc_personality
- #define LANG_HOOKS_EH_RUNTIME_TYPE lhd_pass_through_t
+--- gcc/langhooks-def.h.jj 2011-01-03 12:53:05.000000000 +0100
++++ gcc/langhooks-def.h 2011-01-04 18:00:44.858851030 +0100
+@@ -118,6 +118,7 @@ extern void lhd_omp_firstprivatize_type_
+ #define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS NULL
#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false
+ #define LANG_HOOKS_DEEP_UNSHARING false
+#define LANG_HOOKS_SOURCE_LANGUAGE NULL
/* Attribute hooks. */
#define LANG_HOOKS_ATTRIBUTE_TABLE NULL
-@@ -301,6 +302,7 @@ extern void lhd_end_section (void);
- LANG_HOOKS_EH_PERSONALITY, \
+@@ -307,7 +308,8 @@ extern void lhd_end_section (void);
LANG_HOOKS_EH_RUNTIME_TYPE, \
+ LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
-+ LANG_HOOKS_SOURCE_LANGUAGE, \
+- LANG_HOOKS_DEEP_UNSHARING \
++ LANG_HOOKS_DEEP_UNSHARING, \
++ LANG_HOOKS_SOURCE_LANGUAGE \
}
#endif /* GCC_LANG_HOOKS_DEF_H */
---- gcc/c-lang.c.jj 2010-06-30 09:48:30.000000000 +0200
-+++ gcc/c-lang.c 2010-07-01 16:14:25.396197804 +0200
-@@ -1,6 +1,6 @@
- /* Language-specific hook definitions for C front end.
- Copyright (C) 1991, 1995, 1997, 1998,
-- 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008
-+ 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2009
- Free Software Foundation, Inc.
-
- This file is part of GCC.
-@@ -37,6 +37,12 @@ along with GCC; see the file COPYING3.
+--- gcc/c-lang.c.jj 2011-01-03 12:53:05.376056936 +0100
++++ gcc/c-lang.c 2011-01-04 17:59:43.167743798 +0100
+@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3.
enum c_language_kind c_language = clk_c;
@@ -72,7 +59,7 @@
/* Lang hooks common to C and ObjC are declared in c-objc-common.h;
consequently, there should be very few hooks below. */
-@@ -44,6 +50,8 @@ enum c_language_kind c_language = clk_c;
+@@ -43,6 +49,8 @@ enum c_language_kind c_language = clk_c;
#define LANG_HOOKS_NAME "GNU C"
#undef LANG_HOOKS_INIT
#define LANG_HOOKS_INIT c_objc_common_init
@@ -81,22 +68,22 @@
/* Each front end provides its own lang hook initializer. */
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
---- gcc/dwarf2out.c.jj 2010-07-01 14:07:41.000000000 +0200
-+++ gcc/dwarf2out.c 2010-07-01 16:13:24.597354717 +0200
-@@ -17150,9 +17150,18 @@ add_bit_size_attribute (dw_die_ref die,
+--- gcc/dwarf2out.c.jj 2011-01-03 12:53:05.102056475 +0100
++++ gcc/dwarf2out.c 2011-01-04 18:03:14.534151763 +0100
+@@ -17650,9 +17650,18 @@ add_bit_size_attribute (dw_die_ref die,
static inline void
add_prototyped_attribute (dw_die_ref die, tree func_type)
{
-- if (get_AT_unsigned (comp_unit_die, DW_AT_language) == DW_LANG_C89
-- && TYPE_ARG_TYPES (func_type) != NULL)
+- if (get_AT_unsigned (comp_unit_die (), DW_AT_language) == DW_LANG_C89
+- && prototype_p (func_type))
- add_AT_flag (die, DW_AT_prototyped, 1);
-+ switch (get_AT_unsigned (comp_unit_die, DW_AT_language))
++ switch (get_AT_unsigned (comp_unit_die (), DW_AT_language))
+ {
+ case DW_LANG_C:
+ case DW_LANG_C89:
+ case DW_LANG_C99:
+ case DW_LANG_ObjC:
-+ if (TYPE_ARG_TYPES (func_type) != NULL)
++ if (prototype_p (func_type) != NULL)
+ add_AT_flag (die, DW_AT_prototyped, 1);
+ break;
+ default:
@@ -105,7 +92,7 @@
}
/* Add an 'abstract_origin' attribute below a given DIE. The DIE is found
-@@ -19246,6 +19255,10 @@ gen_compile_unit_die (const char *filena
+@@ -19875,6 +19884,10 @@ gen_compile_unit_die (const char *filena
language = DW_LANG_ObjC;
else if (strcmp (language_string, "GNU Objective-C++") == 0)
language = DW_LANG_ObjC_plus_plus;
diff --git a/gcc46-pr46890.patch b/gcc46-pr46890.patch
new file mode 100644
index 0000000..7afb3f6
--- /dev/null
+++ b/gcc46-pr46890.patch
@@ -0,0 +1,110 @@
+2010-12-17 Nathan Froyd <froydnj at codesourcery.com>
+
+ PR c++/46890
+ * parser.c (cp_parser_class_specifier): Add RID_TYPEDEF to
+ lookahead logic and fix setting of want_semicolon.
+
+ * g++.dg/pr46890.C: New test.
+ * g++.dg/parse/semicolon.C: Add new cases.
+
+--- gcc/cp/parser.c
++++ gcc/cp/parser.c
+@@ -16959,17 +16959,16 @@ cp_parser_class_specifier (cp_parser* parser)
+ static const <type> var = ...; */
+ case CPP_KEYWORD:
+ if (keyword_is_storage_class_specifier (token->keyword)
+- || keyword_is_type_qualifier (token->keyword))
++ || keyword_is_type_qualifier (token->keyword)
++ || token->keyword == RID_TYPEDEF)
+ {
+ cp_token *lookahead = cp_lexer_peek_nth_token (parser->lexer, 2);
+
+- if (lookahead->type == CPP_KEYWORD
+- && !keyword_begins_type_specifier (lookahead->keyword))
+- want_semicolon = false;
+- else if (lookahead->type == CPP_NAME)
+- /* Handling user-defined types here would be nice, but
+- very tricky. */
+- want_semicolon = false;
++ /* Handling user-defined types here would be nice, but very
++ tricky. */
++ want_semicolon
++ = (lookahead->type == CPP_KEYWORD
++ && keyword_begins_type_specifier (lookahead->keyword));
+ }
+ break;
+ default:
+--- gcc/testsuite/g++.dg/parse/semicolon3.C
++++ gcc/testsuite/g++.dg/parse/semicolon3.C
+@@ -62,6 +62,48 @@ autotest (void)
+ return ok10.a;
+ }
+
++struct OK11
++{
++ int a;
++} // no complaints
++ const *ok11_var;
++
++struct OK12
++{
++ int a;
++} // no complaints
++ const &ok12_var = *(new OK12());
++
++struct OK13
++{
++ int a;
++} // no complaints
++ static *ok13_var;
++
++class OK14
++{
++ struct OK14sub
++ {
++ int a;
++ } // no complaints
++ static &ok14_var;
++};
++
++class OK15
++{
++ int a;
++} typedef tOK15;
++
++class OK16
++{
++ int a;
++} typedef *pOK16;
++
++class OK17
++{
++ int a;
++} typedef &rOK16;
++
+ struct E1
+ {
+ int a;
+@@ -196,6 +238,13 @@ class E17
+ mutable int i;
+ } // { dg-error "after class definition" }
+
++class E18
++{
++ int a;
++} // { dg-error "after class definition" }
++
++typedef int E18int;
++
+ /* This was the original test from the PR. */
+
+ class C0
+--- gcc/testsuite/g++.dg/pr46890.C
++++ gcc/testsuite/g++.dg/pr46890.C
+@@ -0,0 +1,6 @@
++// PR c++/46890
++// { dg-do compile }
++
++struct MdatResource {
++const char *mdatAlloc;
++} const *_resource;
diff --git a/gcc46-pr47106-revert.patch b/gcc46-pr47106-revert.patch
new file mode 100644
index 0000000..9940f65
--- /dev/null
+++ b/gcc46-pr47106-revert.patch
@@ -0,0 +1,31 @@
+Temporarily revert:
+ 2011-01-21 Alexandre Oliva <aoliva at redhat.com>
+
+ PR debug/47106
+ * cfgexpand.c (account_used_vars_for_block): Only account vars
+ that are annotated as used.
+ (estimated_stack_frame_size): Don't set TREE_USED.
+
+--- gcc/cfgexpand.c (revision 169093)
++++ gcc/cfgexpand.c (revision 169092)
+@@ -1325,7 +1325,7 @@ account_used_vars_for_block (tree block,
+
+ /* Expand all variables at this level. */
+ for (t = BLOCK_VARS (block); t ; t = DECL_CHAIN (t))
+- if (var_ann (t) && var_ann (t)->used)
++ if (TREE_USED (t))
+ size += expand_one_var (t, toplevel, false);
+
+ /* Expand all variables at containing levels. */
+@@ -1389,10 +1389,9 @@ estimated_stack_frame_size (tree decl)
+
+ FOR_EACH_LOCAL_DECL (cfun, ix, var)
+ {
+- /* TREE_USED marks local variables that do not appear in lexical
+- blocks. We don't want to expand those that do twice. */
+ if (TREE_USED (var))
+ size += expand_one_var (var, true, false);
++ TREE_USED (var) = 1;
+ }
+ size += account_used_vars_for_block (outer_block, true);
+
diff --git a/gcc46-rh330771.patch b/gcc46-rh330771.patch
new file mode 100644
index 0000000..102730f
--- /dev/null
+++ b/gcc46-rh330771.patch
@@ -0,0 +1,27 @@
+2007-10-16 Jakub Jelinek <jakub at redhat.com>
+
+ * Makefile.am (libgcj_tools_la_LIBADD): Add.
+ * Makefile.in: Regenerated.
+
+--- libjava/Makefile.am.jj 2009-05-06 08:14:50.000000000 +0200
++++ libjava/Makefile.am 2009-05-06 10:26:43.000000000 +0200
+@@ -550,7 +550,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
+ $(LIBJAVA_LDFLAGS_LIBMATH)
+
+-libgcj_tools_la_LIBADD = libgcj.la
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
+ libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \
+ $(libgcj_tools_la_version_dep)
+ if BUILD_SUBLIBS
+--- libjava/Makefile.in.jj 2009-05-06 08:14:49.000000000 +0200
++++ libjava/Makefile.in 2009-05-06 10:27:18.000000000 +0200
+@@ -1110,7 +1110,7 @@ libgcj_tools_la_LDFLAGS = -rpath $(toole
+ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
+ $(LIBJAVA_LDFLAGS_LIBMATH)
+
+-libgcj_tools_la_LIBADD = libgcj.la
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
+ libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec \
+ $(libgcj_tools_la_version_dep) $(am__append_19)
+ libgcj_tools_la_LINK = $(LIBLINK) $(libgcj_tools_la_LDFLAGS) \
diff --git a/gcc45-sparc-config-detection.patch b/gcc46-sparc-config-detection.patch
similarity index 57%
rename from gcc45-sparc-config-detection.patch
rename to gcc46-sparc-config-detection.patch
index d94b17d..cd36e70 100644
--- a/gcc45-sparc-config-detection.patch
+++ b/gcc46-sparc-config-detection.patch
@@ -1,21 +1,21 @@
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
-@@ -2393,7 +2393,7 @@ sparc-*-elf*)
- tmake_file="sparc/t-elf sparc/t-crtfm"
- extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+@@ -2483,7 +2483,7 @@ sparc-*-rtems*)
+ tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
+ extra_parts="crtbegin.o crtend.o"
;;
--sparc-*-linux*) # SPARC's running GNU/Linux, libc6
-+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h glibc-stdint.h"
+-sparc-*-linux*)
++sparc-*-linux* | sparcv9-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h linux.h glibc-stdint.h"
extra_options="${extra_options} sparc/long-double-switch.opt"
- tmake_file="${tmake_file} sparc/t-linux"
-@@ -2481,7 +2481,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
- *) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
- esac
- ;;
--sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
-+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 glibc-stdint.h sparc/linux64.h"
+ case ${target} in
+@@ -2577,7 +2577,7 @@ sparc64-*-rtems*)
+ tmake_file="${tmake_file} sparc/t-crtfm t-rtems"
+ extra_parts="crtbegin.o crtend.o"
+ ;;
+-sparc64-*-linux*)
++sparc64*-*-linux*)
+ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h linux.h glibc-stdint.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"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
diff --git a/gcc46-unwind-debughook-sdt.patch b/gcc46-unwind-debughook-sdt.patch
new file mode 100644
index 0000000..3b87e39
--- /dev/null
+++ b/gcc46-unwind-debughook-sdt.patch
@@ -0,0 +1,88 @@
+2011-01-14 Tom Tromey <tromey at redhat.com>
+
+ * unwind-dw2.c: Include sys/sdt.h if it exists.
+ (_Unwind_DebugHook): Use STAP_PROBE2.
+ * config.in, configure: Rebuild.
+ * configure.ac: Check for sys/sdt.h.
+
+--- gcc/configure.ac
++++ gcc/configure.ac
+@@ -4313,6 +4313,16 @@ if test x$gcc_cv_libc_provides_ssp = xyes; then
+ [Define if your target C library provides stack protector support])
+ fi
+
++# Test for <sys/sdt.h> on the target.
++GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++AC_MSG_CHECKING(sys/sdt.h in the target C library)
++have_sys_sdt_h=no
++if test -f $target_header_dir/sys/sdt.h; then
++ AC_DEFINE(HAVE_SYS_SDT_H, 1,
++ [Define if your target C library provides sys/sdt.h])
++fi
++AC_MSG_RESULT($have_sys_sdt_h)
++
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+ # and later they can use TFmode.
+--- gcc/unwind-dw2.c
++++ gcc/unwind-dw2.c
+@@ -37,6 +37,10 @@
+ #include "gthr.h"
+ #include "unwind-dw2.h"
+
++#ifdef HAVE_SYS_SDT_H
++#include <sys/sdt.h>
++#endif
++
+ #ifndef __USING_SJLJ_EXCEPTIONS__
+
+ #ifndef STACK_GROWS_DOWNWARD
+@@ -1493,7 +1497,13 @@ static void
+ _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)),
+ void *handler __attribute__ ((__unused__)))
+ {
++ /* We only want to use stap probes starting with v3. Earlier
++ versions added too much startup cost. */
++#if defined (HAVE_SYS_SDT_H) && defined (STAP_PROBE2) && _SDT_NOTE_TYPE >= 3
++ STAP_PROBE2 (libgcc, unwind, cfa, handler);
++#else
+ asm ("");
++#endif
+ }
+
+ /* Install TARGET into CURRENT so that we can return to it. This is a
+
+--- gcc/config.in.jj 2011-01-22 10:21:47.000000000 +0100
++++ gcc/config.in 2011-01-22 11:10:39.000000000 +0100
+@@ -1405,6 +1407,9 @@
+ #endif
+
+
++/* Define if your target C library provides sys/sdt.h */
++#undef HAVE_SYS_SDT_H
++
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ #ifndef USED_FOR_TARGET
+ #undef HAVE_SYS_STAT_H
+--- gcc/configure.jj 2011-01-22 10:20:55.000000000 +0100
++++ gcc/configure 2011-01-22 11:10:34.990648298 +0100
+@@ -25757,6 +25757,19 @@ $as_echo "#define TARGET_LIBC_PROVIDES_S
+
+ fi
+
++# Test for <sys/sdt.h> on the target.
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
++$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
++have_sys_sdt_h=no
++if test -f $target_header_dir/sys/sdt.h; then
++
++$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
++$as_echo "$have_sys_sdt_h" >&6; }
++
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+ # and later they can use TFmode.
diff --git a/sources b/sources
index ca46f3b..24dfdb2 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
-c853e1a8fa92ffe0f95601fcedae81bf gcc-4.5.1-20101130.tar.bz2
+89ee1132792194e62424dee99a780c60 gcc-4.6.0-20110122.tar.bz2
More information about the scm-commits
mailing list