This commit is contained in:
Jakub Jelinek 2007-04-25 09:44:58 +00:00
parent 6215650c5f
commit ed083d28ab
7 changed files with 280 additions and 10 deletions

View File

@ -1 +1 @@
gcc-4.1.2-20070418.tar.bz2 gcc-4.1.2-20070424.tar.bz2

View File

@ -42,7 +42,7 @@ sufficiently mature that they're able to run many applets deployed on
the web. If you're interested in trying gcjwebplugin, you can do so the web. If you're interested in trying gcjwebplugin, you can do so
by creating a symbolic link in ~/.mozilla/plugins like so: by creating a symbolic link in ~/.mozilla/plugins like so:
ln -s /usr/lib/gcj-4.1.1/libgcjwebplugin.so ~/.mozilla/plugins/ ln -s /usr/lib/gcj-@VERSION@/libgcjwebplugin.so ~/.mozilla/plugins/
Type about:plugins in Firefox's URL bar to confirm that the plugin has Type about:plugins in Firefox's URL bar to confirm that the plugin has
been loaded. To see gcjwebplugin debugging output, run: been loaded. To see gcjwebplugin debugging output, run:

65
gcc41-pr30558.patch Normal file
View File

@ -0,0 +1,65 @@
2007-04-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/30558
* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
clear this_state.prev_try.
* g++.dg/gomp/pr30558.C: New test.
--- gcc/tree-eh.c.jj 2007-03-12 17:18:17.000000000 +0100
+++ gcc/tree-eh.c 2007-04-24 17:32:16.000000000 +0200
@@ -1497,6 +1497,10 @@ lower_eh_filter (struct leh_state *state
EH_FILTER_TYPES (inner));
this_state = *state;
this_state.cur_region = this_region;
+ /* For must not throw regions any cleanup regions inside it
+ can't reach outer catch regions. */
+ if (EH_FILTER_MUST_NOT_THROW (inner))
+ this_state.prev_try = NULL;
lower_eh_constructs_1 (&this_state, &TREE_OPERAND (*tp, 0));
--- gcc/testsuite/g++.dg/gomp/pr30558.C.jj 2007-04-24 17:41:47.000000000 +0200
+++ gcc/testsuite/g++.dg/gomp/pr30558.C 2007-04-24 17:42:24.000000000 +0200
@@ -0,0 +1,41 @@
+// PR tree-optimization/30558
+// { dg-do compile }
+// { dg-options "-fopenmp" }
+
+template <typename T> struct F
+{
+ ~F ();
+ F (T);
+ const T &operator[] (unsigned i) const;
+};
+
+template <typename T> F<T> foo (const F<T> &x)
+{
+ return F<T> (x[1]);
+}
+
+struct G
+{
+ G () { bar (2); }
+ F<int> &operator () (F<int> x);
+ void bar (int);
+};
+
+int
+main ()
+{
+ try
+ {
+ G g;
+#pragma omp parallel for
+ for (int i = 0; i < 10; ++i)
+ {
+ F<int> j (i);
+ F<int> f = g (j);
+ F<int> h = foo (f);
+ }
+ }
+ catch (int &e)
+ {
+ }
+}

96
gcc41-pr31598.patch Normal file
View File

@ -0,0 +1,96 @@
2007-04-24 Jakub Jelinek <jakub@redhat.com>
PR c++/31598
* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
* semantics.c (finish_omp_clauses): Don't create CP_OMP_CLAUSE_INFO
for type dependent OMP_CLAUSE_DECLs.
* g++.dg/gomp/pr31598.C: New test.
--- gcc/tree-inline.c.jj 2007-04-14 14:55:25.000000000 +0200
+++ gcc/tree-inline.c 2007-04-24 11:33:19.000000000 +0200
@@ -650,7 +650,8 @@ copy_body_r (tree *tp, int *walk_subtree
(NULL_TREE,
id->eh_region_offset + TREE_INT_CST_LOW (TREE_OPERAND (*tp, 0)));
- TREE_TYPE (*tp) = remap_type (TREE_TYPE (*tp), id);
+ if (TREE_CODE (*tp) != OMP_CLAUSE)
+ TREE_TYPE (*tp) = remap_type (TREE_TYPE (*tp), id);
/* The copied TARGET_EXPR has never been expanded, even if the
original node was expanded already. */
--- gcc/cp/semantics.c.jj 2007-04-01 20:16:51.000000000 +0200
+++ gcc/cp/semantics.c 2007-04-24 10:45:35.000000000 +0200
@@ -3627,7 +3627,8 @@ finish_omp_clauses (tree clauses)
Save the results, because later we won't be in the right context
for making these queries. */
if (CLASS_TYPE_P (inner_type)
- && (need_default_ctor || need_copy_ctor || need_copy_assignment))
+ && (need_default_ctor || need_copy_ctor || need_copy_assignment)
+ && !type_dependent_expression_p (t))
{
int save_errorcount = errorcount;
tree info;
--- gcc/testsuite/g++.dg/gomp/pr31598.C.jj 2007-04-24 10:47:50.000000000 +0200
+++ gcc/testsuite/g++.dg/gomp/pr31598.C 2007-04-24 11:49:35.000000000 +0200
@@ -0,0 +1,59 @@
+// PR c++/31598
+// { dg-do compile }
+//
+// Copyright (C) 2007 Free Software Foundation, Inc.
+// Contributed by Theodore.Papadopoulo
+// 16 Apr 2007 <Theodore.Papadopoulo@sophia.inria.fr>
+
+int i;
+template <typename> struct A { A() {} };
+template <typename> struct C { C() { i++; } C(const C &) { i += 2; } };
+struct D { D() {} };
+
+struct M { typedef double E; };
+
+template <typename T>
+struct R
+{
+ R()
+ {
+ typedef A<typename T::E> B;
+ B b;
+ #pragma omp parallel for firstprivate(b) schedule(guided)
+ for (int t = 0; t < 10; ++t)
+ ;
+ }
+};
+
+template <typename T>
+struct S
+{
+ S()
+ {
+ typedef C<typename T::E> B;
+ B b;
+ #pragma omp parallel for firstprivate(b)
+ for (int t = 0; t < 10; ++t)
+ ;
+ }
+};
+
+struct U
+{
+ U()
+ {
+ D b;
+ #pragma omp parallel for firstprivate(b)
+ for (int t = 0; t < 10; ++t)
+ ;
+ }
+};
+
+int
+main ()
+{
+ R<M> r;
+ S<M> s;
+ U u;
+ return 0;
+}

97
gcc41-rh235008.patch Normal file
View File

@ -0,0 +1,97 @@
2007-04-12 Jakub Jelinek <jakub@redhat.com>
* fr.po: Use %s rather than %S.
* sr.po: Likewise.
* tr.po: Likewise.
* sv.po: Likewise.
* rw.po: Comment out translations with bogus format
strings.
--- gcc/po/fr.po (revision 123636)
+++ gcc/po/fr.po (working copy)
@@ -31416,7 +31416,7 @@ msgstr "attribut « %s » ignoré"
#~ msgstr "prise de l'adresse de la borne de l'expression d'un pointeur-vers-un membre"
#~ msgid "%s from type `%T' to type `%T' casts away constness"
-#~ msgstr "%S à partir du « %T » vers le type « %T » provoque un transtypage sans constante"
+#~ msgstr "%s à partir du « %T » vers le type « %T » provoque un transtypage sans constante"
#~ msgid "invalid reinterpret_cast from type `%T' to type `%T'"
#~ msgstr "reinterpret_cast invalide à partir du type « %T » vers le type « %T »"
--- gcc/po/sr.po (revision 123636)
+++ gcc/po/sr.po (working copy)
@@ -8516,7 +8516,7 @@ msgstr "Ð<>е могу Ñ<>е променÐ
#: fortran/symbol.c:592
#, no-c-format
msgid "Duplicate %s attribute specified at %L"
-msgstr "ДвоÑ<C2BE>Ñруки атрибут %S наведен код %L"
+msgstr "ДвоÑ<C2BE>Ñруки атрибут %s наведен код %L"
#: fortran/symbol.c:733
#, no-c-format
--- gcc/po/tr.po (revision 123636)
+++ gcc/po/tr.po (working copy)
@@ -6951,7 +6951,7 @@ msgstr "INTERFACE gövdesinde umulmadık
#: fortran/parse.c:1604
#, no-c-format
msgid "%s statement must appear in a MODULE"
-msgstr "%S deyimi bir MODULE'de görünmemeli"
+msgstr "%s deyimi bir MODULE'de görünmemeli"
#: fortran/parse.c:1611
#, no-c-format
--- gcc/po/rw.po (revision 123636)
+++ gcc/po/rw.po (working copy)
@@ -2168,8 +2168,8 @@ msgstr ""
#: tlink.c:480
#, fuzzy, c-format
-msgid "renaming .rpo file"
-msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
+#~ msgid "renaming .rpo file"
+#~ msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
#: tlink.c:534
#, c-format
@@ -17500,8 +17500,8 @@ msgstr "-Umutekano"
#: c-opts.c:1040
#, fuzzy, gcc-internal-format
-msgid "opening output file %s: %m"
-msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
+#~ msgid "opening output file %s: %m"
+#~ msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
#: c-opts.c:1045
#, fuzzy, gcc-internal-format
@@ -17515,8 +17515,8 @@ msgstr ""
#: c-opts.c:1177
#, fuzzy, gcc-internal-format
-msgid "opening dependency file %s: %m"
-msgstr "Gufungura %s%S IDOSIYE"
+#~ msgid "opening dependency file %s: %m"
+#~ msgstr "Gufungura %s%S IDOSIYE"
#: c-opts.c:1187
#, fuzzy, gcc-internal-format
--- gcc/po/sv.po 2007-02-20 22:38:45.000000000 +0100
+++ gcc/po/sv.po 2007-04-13 00:18:11.000000000 +0200
@@ -3328,7 +3328,7 @@ msgstr "ogiltig operand till %%R"
#: config/sh/sh.c:773
#, c-format
msgid "invalid operand to %%S"
-msgstr "ogiltig operand till %%R"
+msgstr "ogiltig operand till %%S"
#: config/sh/sh.c:7679
msgid "created and used with different architectures / ABIs"
@@ -8019,7 +8019,7 @@ msgstr "PROCEDURE-attribut i konflikt me
#: fortran/resolve.c:4943
#, no-c-format
msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
-msgstr "Parametervektor \"%S\" vid %L kan inte ha automatisk eller antagen form"
+msgstr "Parametervektor \"%s\" vid %L kan inte ha automatisk eller antagen form"
#: fortran/resolve.c:4955
#, no-c-format

View File

@ -1,6 +1,6 @@
%define DATE 20070418 %define DATE 20070424
%define gcc_version 4.1.2 %define gcc_version 4.1.2
%define gcc_release 10 %define gcc_release 11
%define _unpackaged_files_terminate_build 0 %define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64 %define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1 %define include_gappletviewer 1
@ -139,9 +139,10 @@ Patch27: gcc41-libjava-visibility.patch
Patch28: gcc41-pr31187.patch Patch28: gcc41-pr31187.patch
Patch29: gcc41-rh231818.patch Patch29: gcc41-rh231818.patch
Patch30: gcc41-rh234515.patch Patch30: gcc41-rh234515.patch
Patch31: gcc41-pr31632.patch Patch31: gcc41-pr30558.patch
Patch32: gcc41-rh236895.patch Patch32: gcc41-rh236895.patch
Patch33: gcc41-rh237067.patch Patch33: gcc41-pr31598.patch
Patch34: gcc41-rh235008.patch
%define _gnu %{nil} %define _gnu %{nil}
%ifarch sparc %ifarch sparc
@ -451,9 +452,10 @@ which are required to run programs compiled with the GNAT.
%patch28 -p0 -b .pr31187~ %patch28 -p0 -b .pr31187~
%patch29 -p0 -b .rh231818~ %patch29 -p0 -b .rh231818~
%patch30 -p0 -b .rh234515~ %patch30 -p0 -b .rh234515~
%patch31 -p0 -b .pr31632~ %patch31 -p0 -b .pr30558~
%patch32 -p0 -b .rh236895~ %patch32 -p0 -b .rh236895~
%patch33 -p0 -b .rh237067~ %patch33 -p0 -b .pr31598~
%patch34 -p0 -b .rh235008~
sed -i -e 's/4\.1\.3/4.1.2/' gcc/BASE-VER gcc/version.c sed -i -e 's/4\.1\.3/4.1.2/' gcc/BASE-VER gcc/version.c
sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@ -641,7 +643,7 @@ cd ..
mkdir -p rpm.doc/gfortran rpm.doc/objc mkdir -p rpm.doc/gfortran rpm.doc/objc
mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp} mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
cp -p %{SOURCE2} rpm.doc/README.libgcjwebplugin.so sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
cp -p $i rpm.doc/changelogs/$i cp -p $i rpm.doc/changelogs/$i
@ -1577,6 +1579,16 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog* %doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog %changelog
* Wed Apr 25 2007 Jakub Jelinek <jakub@redhat.com> 4.1.2-11
- update from gcc-4_1-branch (-r123951:124100)
- PRs middle-end/31448, preprocessor/30468, target/28623, target/31641
- Java fixes
- PRs classpath/31626, classpath/31646, #236895
- fix a couple of translation bugs that could lead to ICEs (#235008)
- fix ICE with #pragma omp parallel inside of a try catch construct
(PR tree-optimization/30558)
- fix OpenMP clause handling in templates (PR c++/31598)
* Thu Apr 19 2007 Jakub Jelinek <jakub@redhat.com> 4.1.2-10 * Thu Apr 19 2007 Jakub Jelinek <jakub@redhat.com> 4.1.2-10
- fix folding of comparisions against min, min+1, max-1, max - fix folding of comparisions against min, min+1, max-1, max
(#236711, PR tree-optimization/31632) (#236711, PR tree-optimization/31632)

View File

@ -1 +1 @@
d315aa245a891a2b44415851d93afa54 gcc-4.1.2-20070418.tar.bz2 0a2c2aaf18c3227cfb4a6f85ec68847d gcc-4.1.2-20070424.tar.bz2