summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.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/0187-PR-c-42687.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/0187-PR-c-42687.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch
new file mode 100644
index 000000000..db390d934
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch
@@ -0,0 +1,49 @@
+From ccb3ae3a3167213d1c84397653a7cfec0df3a5b7 Mon Sep 17 00:00:00 2001
+From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 27 Apr 2011 05:20:06 +0000
+Subject: [PATCH 187/200] PR c++/42687
+ * parser.c (cp_parser_primary_expression): Set *idk to
+ CP_ID_KIND_NONE for a parenthesized identifier.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173008 138bc75d-0d04-0410-961f-82ee72b054a4
+
+index ba3a98f..9d8457f 100644
+--- a/gcc/cp/parser.c
++++ b/gcc/cp/parser.c
+@@ -3696,6 +3696,12 @@ cp_parser_primary_expression (cp_parser *parser,
+ `&A::B' might be a pointer-to-member, but `&(A::B)' is
+ not. */
+ finish_parenthesized_expr (expr);
++ /* DR 705: Wrapping an unqualified name in parentheses
++ suppresses arg-dependent lookup. We want to pass back
++ CP_ID_KIND_QUALIFIED for suppressing vtable lookup
++ (c++/37862), but none of the others. */
++ if (*idk != CP_ID_KIND_QUALIFIED)
++ *idk = CP_ID_KIND_NONE;
+ }
+ /* The `>' token might be the end of a template-id or
+ template-parameter-list now. */
+new file mode 100644
+index 0000000..625a181
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/lookup/koenig13.C
+@@ -0,0 +1,16 @@
++// PR c++/42687
++// DR 705
++
++namespace N
++{
++ struct S { };
++ void f(const S &) { }
++}
++
++void f(const N::S &) { }
++
++int main()
++{
++ N::S v;
++ (f)(v); // no ambiguity: ADL is prevented with (), only ::f is considered
++}
+--
+1.7.0.4
+