summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.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/0113-Fix-PR-c-48574.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/0113-Fix-PR-c-48574.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch
new file mode 100644
index 000000000..75b3fba37
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0113-Fix-PR-c-48574.patch
@@ -0,0 +1,57 @@
+From a236530cd5ac2466b1ca3b510b6bdb493c7b5342 Mon Sep 17 00:00:00 2001
+From: dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 13 Apr 2011 15:19:40 +0000
+Subject: [PATCH 113/200] Fix PR c++/48574
+
+gcc/cp/
+
+ * class.c (fixed_type_or_null): We cannot determine the dynamic
+ type of a reference variable if its initializer is dependent.
+
+gcc/testsuite/
+
+ * g++.dg/template/dependent-expr7.C: New test case.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172376 138bc75d-0d04-0410-961f-82ee72b054a4
+
+index 42066c3..d19610a 100644
+--- a/gcc/cp/class.c
++++ b/gcc/cp/class.c
+@@ -5937,6 +5937,7 @@ fixed_type_or_null (tree instance, int *nonnull, int *cdtorp)
+ itself. */
+ if (TREE_CODE (instance) == VAR_DECL
+ && DECL_INITIAL (instance)
++ && !type_dependent_expression_p (DECL_INITIAL (instance))
+ && !htab_find (ht, instance))
+ {
+ tree type;
+new file mode 100644
+index 0000000..b246820
+--- /dev/null
++++ b/gcc/testsuite/g++.dg/template/dependent-expr7.C
+@@ -0,0 +1,22 @@
++// Origin PR c++/48574
++// { dg-do compile }
++
++struct A
++{
++ virtual void foo();
++};
++
++template <typename T>
++void
++bar(T x)
++{
++ A &b = *x;
++ b.foo ();
++}
++
++void
++foo()
++{
++ A a;
++ bar(&a);
++}
+--
+1.7.0.4
+