diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-04-30 12:37:47 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-05 11:54:44 +0100 |
commit | b0d5b9f12adbce2c4a0df6059f5671188cd32293 (patch) | |
tree | f376fcd2e5dcc46185d73d619ce2eec31320d812 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0187-PR-c-42687.patch | |
parent | 81859b136c0153e8d5be71d56e910dcc3e8cdb66 (diff) | |
download | openembedded-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.patch | 49 |
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 + |