summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
deleted file mode 100644
index a6d5636d7..000000000
--- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0027-Core-1148.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From c68e41052387396cba4a066d8e9658dc2011baf0 Mon Sep 17 00:00:00 2001
-From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 29 Mar 2011 14:25:10 +0000
-Subject: [PATCH] Core 1148
- * typeck.c (check_return_expr): Fix conditions for setting
- LOOKUP_PREFER_RVALUE.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171668 138bc75d-0d04-0410-961f-82ee72b054a4
-
-index 0e8a6d7..03aa49e 100644
---- a/gcc/cp/typeck.c
-+++ b/gcc/cp/typeck.c
-@@ -7760,12 +7760,19 @@ check_return_expr (tree retval, bool *no_warning)
-
- /* Under C++0x [12.8/16 class.copy], a returned lvalue is sometimes
- treated as an rvalue for the purposes of overload resolution to
-- favor move constructors over copy constructors. */
-- if ((cxx_dialect != cxx98)
-- && named_return_value_okay_p
-- /* The variable must not have the `volatile' qualifier. */
-- && !CP_TYPE_VOLATILE_P (TREE_TYPE (retval))
-- /* The return type must be a class type. */
-+ favor move constructors over copy constructors.
-+
-+ Note that these conditions are similar to, but not as strict as,
-+ the conditions for the named return value optimization. */
-+ if ((cxx_dialect != cxx98)
-+ && (TREE_CODE (retval) == VAR_DECL
-+ || TREE_CODE (retval) == PARM_DECL)
-+ && DECL_CONTEXT (retval) == current_function_decl
-+ && !TREE_STATIC (retval)
-+ && same_type_p ((TYPE_MAIN_VARIANT (TREE_TYPE (retval))),
-+ (TYPE_MAIN_VARIANT
-+ (TREE_TYPE (TREE_TYPE (current_function_decl)))))
-+ /* This is only interesting for class type. */
- && CLASS_TYPE_P (TREE_TYPE (TREE_TYPE (current_function_decl))))
- flags = flags | LOOKUP_PREFER_RVALUE;
-
-new file mode 100644
-index 0000000..216b1b5
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/cpp0x/elision2.C
-@@ -0,0 +1,13 @@
-+// Core 1148: should be able to move from value parameter on return
-+// { dg-options -std=c++0x }
-+
-+struct A
-+{
-+ A(const A&) = delete;
-+ A(A&&);
-+};
-+
-+A f (A a)
-+{
-+ return a;
-+}
---
-1.7.0.4
-