summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-04-30 12:37:47 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-05 11:54:44 +0100
commitb0d5b9f12adbce2c4a0df6059f5671188cd32293 (patch)
treef376fcd2e5dcc46185d73d619ce2eec31320d812 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
parent81859b136c0153e8d5be71d56e910dcc3e8cdb66 (diff)
downloadopenembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.gz
openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.bz2
openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.xz
openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.zip
gcc-4.6.0: Backport FSF 4.6 branch patches
This is set of bugfixes that has been done on FSF gcc-4_2-branch since 4.6.0 was released They will roll into 4.6.1 release once that happens in coming approx 6 months time then we can simply remove them thats the reason so use a separate .inc file to define the SRC_URI additions Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
new file mode 100644
index 000000000..989a1e660
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0142-PR-c-48632.patch
@@ -0,0 +1,55 @@
+From 71ec07630d08b813b39a65a932c71c78b8ffd845 Mon Sep 17 00:00:00 2001
+From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 18 Apr 2011 21:56:12 +0000
+Subject: [PATCH 142/200] PR c++/48632
+ * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr
+ for type dependent pointers.
+
+ * g++.dg/gomp/pr48632.C: New test.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172675 138bc75d-0d04-0410-961f-82ee72b054a4
+
+index daba2fc..ba3a98f 100644
+--- a/gcc/cp/parser.c
++++ b/gcc/cp/parser.c
+@@ -24632,7 +24632,8 @@ cp_parser_omp_for_loop (cp_parser *parser, tree clauses, tree *par_clauses)
+ /* If decl is an iterator, preserve the operator on decl
+ until finish_omp_for. */
+ if (decl
+- && (type_dependent_expression_p (decl)
++ && ((type_dependent_expression_p (decl)
++ && !POINTER_TYPE_P (TREE_TYPE (decl)))
+ || CLASS_TYPE_P (TREE_TYPE (decl))))
+ incr = cp_parser_omp_for_incr (parser, decl);
+ else
+new file mode 100644
+index 0000000..afa8b18
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/gomp/pr48632.C
+@@ -0,0 +1,22 @@
++// PR c++/48632
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++template<typename T>
++void
++foo (T *x, T *y, unsigned z)
++{
++#pragma omp parallel for
++ for (T *p = x; p < y; p += z)
++ ;
++#pragma omp parallel for
++ for (T *p = y; p > x; p -= z)
++ ;
++}
++
++int
++main ()
++{
++ char buf[10];
++ foo (&buf[0], &buf[9], 1);
++}
+--
+1.7.0.4
+