mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-09-29 22:16:20 +00:00
36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
![]() |
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
|
||
|
index 0b8e2f7..ad1c209 100644
|
||
|
--- a/gcc/cp/semantics.c
|
||
|
+++ b/gcc/cp/semantics.c
|
||
|
@@ -2719,8 +2719,10 @@ finish_member_declaration (tree decl)
|
||
|
/*friend_p=*/0);
|
||
|
}
|
||
|
}
|
||
|
- /* Enter the DECL into the scope of the class. */
|
||
|
- else if (pushdecl_class_level (decl))
|
||
|
+ /* Enter the DECL into the scope of the class, if the class
|
||
|
+ isn't a closure (whose fields are supposed to be unnamed). */
|
||
|
+ else if (CLASSTYPE_LAMBDA_EXPR (current_class_type)
|
||
|
+ || pushdecl_class_level (decl))
|
||
|
{
|
||
|
if (TREE_CODE (decl) == USING_DECL)
|
||
|
{
|
||
|
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
|
||
|
new file mode 100644
|
||
|
index 0000000..df2b037
|
||
|
--- /dev/null
|
||
|
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-names1.C
|
||
|
@@ -0,0 +1,9 @@
|
||
|
+// PR c++/56710
|
||
|
+// { dg-options "-std=c++11 -Wall" }
|
||
|
+
|
||
|
+int main()
|
||
|
+{
|
||
|
+ int t = 0;
|
||
|
+ return [&]() -> int {int __t; __t = t; return __t; }();
|
||
|
+ return [&t]() -> int {int __t; __t = t; return __t; }();
|
||
|
+}
|
||
|
--
|
||
|
1.8.4.2
|
||
|
|