]> gcc.gnu.org Git - gcc.git/commit
Make lambda conversion op and op() non-static.
authorJason Merrill <jason@redhat.com>
Tue, 23 Mar 2010 22:29:53 +0000 (18:29 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 23 Mar 2010 22:29:53 +0000 (18:29 -0400)
commitc6be04ad9295b94d2b296e4eabcbe0f1e9744a17
treefdde8455ca7ffe4a47159148d311a462aca7e170
parent5b5cfcb3b8177ebe2bf56ef1501b64a054080515
Make lambda conversion op and op() non-static.

* semantics.c (maybe_add_lambda_conv_op): Make non-static.
Also add the thunk function returned by the conversion op.
Mark the conversion deleted if the op() is variadic.
* decl2.c (mark_used): Give helpful message about deleted conversion.
* parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
* semantics.c (finish_this_expr): Adjust.
* mangle.c (write_closure_type_name): Adjust.
* decl.c (grok_op_properties): Don't allow it.
* call.c (build_user_type_conversion_1): No static conversion ops.
(build_op_call): Or op().

* decl2.c (change_return_type): Fix 'this' quals.

From-SVN: r157681
14 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/mangle.c
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mangle.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C
This page took 0.060964 seconds and 5 git commands to generate.