rpms/gcc/devel gcc43-pr34964.patch, NONE, 1.1 gcc43-pr35028.patch, NONE, 1.1 gcc43-pr35078.patch, NONE, 1.1 gcc43-rh433222.patch, NONE, 1.1 .cvsignore, 1.223, 1.224 gcc43.spec, 1.16, 1.17 sources, 1.225, 1.226 gcc43-pr35130.patch, 1.1, NONE gcc43-pr35136-revert.patch, 1.1, NONE
Jakub Jelinek (jakub)
fedora-extras-commits at redhat.com
Mon Feb 18 15:10:02 UTC 2008
Author: jakub
Update of /cvs/pkgs/rpms/gcc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18587
Modified Files:
.cvsignore gcc43.spec sources
Added Files:
gcc43-pr34964.patch gcc43-pr35028.patch gcc43-pr35078.patch
gcc43-rh433222.patch
Removed Files:
gcc43-pr35130.patch gcc43-pr35136-revert.patch
Log Message:
4.3.0-0.10
gcc43-pr34964.patch:
--- NEW FILE gcc43-pr34964.patch ---
2008-02-18 Jakub Jelinek <jakub at redhat.com>
PR c++/34964
PR c++/35244
* semantics.c (finish_omp_threadprivate): Do nothing for error_operand_p
vars. Afterwards ensure v is VAR_DECL.
* gcc.dg/gomp/pr34964.c: New test.
* g++.dg/gomp/pr34964.C: New test.
* gcc.dg/gomp/pr35244.c: New test.
* g++.dg/gomp/pr35244.C: New test.
--- gcc/cp/semantics.c.jj 2008-02-18 10:51:04.000000000 +0100
+++ gcc/cp/semantics.c 2008-02-18 13:53:58.000000000 +0100
@@ -3742,9 +3742,14 @@ finish_omp_threadprivate (tree vars)
{
tree v = TREE_PURPOSE (t);
+ if (error_operand_p (v))
+ ;
+ else if (TREE_CODE (v) != VAR_DECL)
+ error ("%<threadprivate%> %qD is not file, namespace "
+ "or block scope variable", v);
/* If V had already been marked threadprivate, it doesn't matter
whether it had been used prior to this point. */
- if (TREE_USED (v)
+ else if (TREE_USED (v)
&& (DECL_LANG_SPECIFIC (v) == NULL
|| !CP_DECL_THREADPRIVATE_P (v)))
error ("%qE declared %<threadprivate%> after first use", v);
--- gcc/testsuite/gcc.dg/gomp/pr35244.c.jj 2008-02-18 14:08:00.000000000 +0100
+++ gcc/testsuite/gcc.dg/gomp/pr35244.c 2008-02-18 14:07:44.000000000 +0100
@@ -0,0 +1,20 @@
+/* PR c++/35244 */
+/* { dg-do compile } */
+/* { dg-require-effective-target tls_native } */
+/* { dg-options "-fopenmp" } */
+
+int v1;
+typedef struct A A;
+typedef int i;
+#pragma omp threadprivate (i) /* { dg-error "expected identifier before" } */
+#pragma omp threadprivate (A) /* { dg-error "expected identifier before" } */
+#pragma omp threadprivate (v1)
+
+void foo ()
+{
+ static int v4;
+ {
+ static int v5;
+#pragma omp threadprivate (v4, v5)
+ }
+}
--- gcc/testsuite/gcc.dg/gomp/pr34964.c.jj 2008-02-18 13:23:42.000000000 +0100
+++ gcc/testsuite/gcc.dg/gomp/pr34964.c 2008-02-18 14:08:08.000000000 +0100
@@ -0,0 +1,6 @@
+/* PR c++/34964 */
+/* { dg-do compile } */
+/* { dg-options "-fopenmp" } */
+
+char x[] = 0; /* { dg-error "invalid initializer" } */
+#pragma omp threadprivate (x)
--- gcc/testsuite/g++.dg/gomp/pr35244.C.jj 2008-02-18 14:05:37.000000000 +0100
+++ gcc/testsuite/g++.dg/gomp/pr35244.C 2008-02-18 14:07:16.000000000 +0100
@@ -0,0 +1,30 @@
+// PR c++/35244
+// { dg-do compile }
+// { dg-require-effective-target tls_native }
+// { dg-options "-fopenmp" }
+
+int v1;
+namespace N1
+{
+ int v2;
+}
+namespace N2
+{
+ int v3;
+}
+using N1::v2;
+using namespace N2;
+struct A;
+typedef int i;
+#pragma omp threadprivate (i) // { dg-error "is not file, namespace or block scope variable" }
+#pragma omp threadprivate (A) // { dg-error "is not file, namespace or block scope variable" }
+#pragma omp threadprivate (v1, v2, v3)
+
+void foo ()
+{
+ static int v4;
+ {
+ static int v5;
+#pragma omp threadprivate (v4, v5)
+ }
+}
--- gcc/testsuite/g++.dg/gomp/pr34964.C.jj 2008-02-18 13:23:25.000000000 +0100
+++ gcc/testsuite/g++.dg/gomp/pr34964.C 2008-02-18 13:23:03.000000000 +0100
@@ -0,0 +1,6 @@
+// PR c++/34964
+// { dg-do compile }
+// { dg-options "-fopenmp" }
+
+char x[] = 0; // { dg-error "initializer fails to determine size" }
+#pragma omp threadprivate (x)
gcc43-pr35028.patch:
--- NEW FILE gcc43-pr35028.patch ---
2008-02-18 Jakub Jelinek <jakub at redhat.com>
PR c++/35028
* cp-gimplify.c (cxx_omp_clause_apply_fn): Handle vararg copy ctors.
* g++.dg/gomp/pr35028.C: New test.
--- gcc/cp/cp-gimplify.c.jj 2008-02-11 14:45:57.000000000 +0100
+++ gcc/cp/cp-gimplify.c 2008-02-18 14:27:59.000000000 +0100
@@ -844,7 +844,8 @@ cxx_omp_clause_apply_fn (tree fn, tree a
if (arg2)
argarray[i++] = p2;
/* Handle default arguments. */
- for (parm = defparm; parm != void_list_node; parm = TREE_CHAIN (parm), i++)
+ for (parm = defparm; parm && parm != void_list_node;
+ parm = TREE_CHAIN (parm), i++)
argarray[i] = convert_default_arg (TREE_VALUE (parm),
TREE_PURPOSE (parm), fn, i);
t = build_call_a (fn, i, argarray);
@@ -875,7 +876,7 @@ cxx_omp_clause_apply_fn (tree fn, tree a
if (arg2)
argarray[i++] = build_fold_addr_expr (arg2);
/* Handle default arguments. */
- for (parm = defparm; parm != void_list_node;
+ for (parm = defparm; parm && parm != void_list_node;
parm = TREE_CHAIN (parm), i++)
argarray[i] = convert_default_arg (TREE_VALUE (parm),
TREE_PURPOSE (parm),
--- gcc/testsuite/g++.dg/gomp/pr35028.C.jj 2008-02-18 14:40:42.000000000 +0100
+++ gcc/testsuite/g++.dg/gomp/pr35028.C 2008-02-18 14:40:10.000000000 +0100
@@ -0,0 +1,19 @@
+// PR c++/35028
+// { dg-do compile }
+// { dg-options "-fopenmp" }
+
+struct A
+{
+ A ();
+ A (const A &, ...);
+ ~A ();
+ A operator++ (int);
+};
+
+void
+foo ()
+{
+ A a;
+ #pragma omp parallel firstprivate (a)
+ a++;
+}
gcc43-pr35078.patch:
--- NEW FILE gcc43-pr35078.patch ---
2008-02-18 Jakub Jelinek <jakub at redhat.com>
PR c++/35078
* parser.c (cp_parser_omp_for_loop): If DECL has REFERENCE_TYPE, don't
call cp_finish_decl.
* semantics.c (finish_omp_for): Fail if DECL doesn't have integral type
early.
* g++.dg/gomp/pr35078.C: New test.
--- gcc/cp/parser.c.jj 2008-02-13 21:20:19.000000000 +0100
+++ gcc/cp/parser.c 2008-02-18 11:05:25.000000000 +0100
@@ -20074,8 +20074,11 @@ cp_parser_omp_for_loop (cp_parser *parse
init = cp_parser_assignment_expression (parser, false);
- cp_finish_decl (decl, NULL_TREE, /*init_const_expr_p=*/false,
- asm_specification, LOOKUP_ONLYCONVERTING);
+ if (TREE_CODE (TREE_TYPE (decl)) == REFERENCE_TYPE)
+ init = error_mark_node;
+ else
+ cp_finish_decl (decl, NULL_TREE, /*init_const_expr_p=*/false,
+ asm_specification, LOOKUP_ONLYCONVERTING);
if (pushed_scope)
pop_scope (pushed_scope);
--- gcc/cp/semantics.c.jj 2008-02-13 20:58:57.000000000 +0100
+++ gcc/cp/semantics.c 2008-02-18 10:51:04.000000000 +0100
@@ -3903,6 +3903,16 @@ finish_omp_for (location_t locus, tree d
return NULL;
}
+ if (!INTEGRAL_TYPE_P (TREE_TYPE (decl)))
+ {
+ location_t elocus = locus;
+
+ if (EXPR_HAS_LOCATION (init))
+ elocus = EXPR_LOCATION (init);
+ error ("%Hinvalid type for iteration variable %qE", &elocus, decl);
+ return NULL;
+ }
+
if (pre_body == NULL || IS_EMPTY_STMT (pre_body))
pre_body = NULL;
else if (! processing_template_decl)
--- gcc/testsuite/g++.dg/gomp/pr35078.C.jj 2008-02-18 11:07:21.000000000 +0100
+++ gcc/testsuite/g++.dg/gomp/pr35078.C 2008-02-18 11:07:04.000000000 +0100
@@ -0,0 +1,20 @@
+// PR c++/35078
+// { dg-do compile }
+// { dg-options "-fopenmp" }
+
+template<int> void
+foo ()
+{
+#pragma omp parallel for
+ for (int& i = 0; i < 10; ++i) // { dg-error "invalid type for iteration variable" }
+ ;
+}
+
+void
+bar ()
+{
+ int j = 0;
+#pragma omp parallel for
+ for (int& i = j; i < 10; ++i) // { dg-error "invalid type for iteration variable" }
+ ;
+}
gcc43-rh433222.patch:
--- NEW FILE gcc43-rh433222.patch ---
2008-02-18 Jakub Jelinek <jakub at redhat.com>
* doc/cp-tools.texinfo (@direntry): Prefix info name with cp-.
* doc/cp-hacking.texinfo (@direntry): Likewise.
* doc/cp-vmintegration.texinfo (@direntry): Likewise.
--- gcc/libjava/classpath/doc/cp-tools.texinfo.jj 2007-04-01 20:16:54.000000000 +0200
+++ gcc/libjava/classpath/doc/cp-tools.texinfo 2008-02-18 15:19:12.000000000 +0100
@@ -27,7 +27,7 @@ Copyright (C) 2006, 2007 Free Software F
@ifnotplaintext
@dircategory GNU Libraries
@direntry
-* Classpath Tools: (tools). GNU Classpath Tools Guide
+* Classpath Tools: (cp-tools). GNU Classpath Tools Guide
@end direntry
@end ifnotplaintext
@end ifinfo
--- gcc/libjava/classpath/doc/cp-hacking.texinfo.jj 2007-06-06 12:54:50.000000000 +0200
+++ gcc/libjava/classpath/doc/cp-hacking.texinfo 2008-02-18 15:19:00.000000000 +0100
@@ -16,7 +16,7 @@ Copyright (C) 1998,1999,2000,2001,2002,2
@ifnotplaintext
@dircategory GNU Libraries
@direntry
-* Classpath Hacking: (hacking). GNU Classpath Hacker's Guide
+* Classpath Hacking: (cp-hacking). GNU Classpath Hacker's Guide
@end direntry
@end ifnotplaintext
@end ifinfo
--- gcc/libjava/classpath/doc/cp-vmintegration.texinfo.jj 2007-06-06 12:54:50.000000000 +0200
+++ gcc/libjava/classpath/doc/cp-vmintegration.texinfo 2008-02-18 15:19:29.000000000 +0100
@@ -17,7 +17,7 @@ Copyright (C) 1998-2002, 2004, 2005, 200
@ifnotplaintext
@dircategory GNU Libraries
@direntry
-* VM Integration: (vmintegration). GNU Classpath VM Integration Guide
+* VM Integration: (cp-vmintegration). GNU Classpath VM Integration Guide
@end direntry
@end ifnotplaintext
@end ifinfo
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.223
retrieving revision 1.224
diff -u -r1.223 -r1.224
--- .cvsignore 14 Feb 2008 08:50:18 -0000 1.223
+++ .cvsignore 18 Feb 2008 15:09:21 -0000 1.224
@@ -1,2 +1,2 @@
-gcc-4.3.0-20080214.tar.bz2
+gcc-4.3.0-20080218.tar.bz2
fastjar-0.95.tar.gz
Index: gcc43.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/gcc43.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- gcc43.spec 14 Feb 2008 08:50:18 -0000 1.16
+++ gcc43.spec 18 Feb 2008 15:09:21 -0000 1.17
@@ -1,6 +1,6 @@
-%define DATE 20080214
+%define DATE 20080218
%define gcc_version 4.3.0
-%define gcc_release 0.9
+%define gcc_release 0.10
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1
@@ -140,8 +140,10 @@
Patch11: gcc43-rh341221.patch
Patch12: gcc43-cpp-pragma.patch
Patch13: gcc43-java-debug-iface-type.patch
-Patch14: gcc43-pr35130.patch
-Patch15: gcc43-pr35136-revert.patch
+Patch14: gcc43-pr34964.patch
+Patch15: gcc43-pr35028.patch
+Patch16: gcc43-pr35078.patch
+Patch17: gcc43-rh433222.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -438,8 +440,10 @@
%patch11 -p0 -b .rh341221~
%patch12 -p0 -b .cpp-pragma~
%patch13 -p0 -b .java-debug-iface-type~
-%patch14 -p0 -b .pr35130~
-%patch15 -p0 -b .pr35136-revert~
+%patch14 -p0 -b .pr34964~
+%patch15 -p0 -b .pr35028~
+%patch16 -p0 -b .pr35078~
+%patch17 -p0 -b .rh433222~
tar xzf %{SOURCE4}
@@ -1653,6 +1657,18 @@
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
+* Mon Feb 18 2008 Jakub Jelinek <jakub at redhat.com> 4.3.0-0.10
+- update to trunk
+ - PRs c++/11159, c++/28743, c++/34050, c++/35023, c++/35024, c++/35026,
+ c++/5645, c/28368, documentation/15479, fortran/34952,
+ fortran/35150, libgcj/33085, libstdc++/34797, libstdc++/35209,
+ libstdc++/35221, middle-end/34621, middle-end/35149, middle-end/35196,
+ middle-end/35227, preprocessor/35061, target/34930, target/35088,
+ testsuite/35119, testsuite/35208, tree-optimization/35164,
+ tree-optimization/35231
+- some OpenMP fixes (PRs c++/34964, c++/35028, c++/35078)
+- fix cp-tools.info* @direntry (#433222)
+
* Thu Feb 14 2008 Jakub Jelinek <jakub at redhat.com> 4.3.0-0.9
- update to trunk
- PRs middle-end/29673, ada/35143, c++/34774, c++/34824, c++/34962, c++/34937,
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/sources,v
retrieving revision 1.225
retrieving revision 1.226
diff -u -r1.225 -r1.226
--- sources 14 Feb 2008 08:50:18 -0000 1.225
+++ sources 18 Feb 2008 15:09:22 -0000 1.226
@@ -1,2 +1,2 @@
-69ddc7e3f6dbfc7128a6b9f92022f579 gcc-4.3.0-20080214.tar.bz2
+17b1f5e44e464967b5d3451345049321 gcc-4.3.0-20080218.tar.bz2
92a70f9e56223b653bce0f58f90cf950 fastjar-0.95.tar.gz
--- gcc43-pr35130.patch DELETED ---
--- gcc43-pr35136-revert.patch DELETED ---
More information about the fedora-extras-commits
mailing list