diff options
| author | abutcher <abutcher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-16 07:14:21 +0000 |
|---|---|---|
| committer | abutcher <abutcher@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-16 07:14:21 +0000 |
| commit | 814b90efc51ecb609d1ab98d96472797e77937b0 (patch) | |
| tree | 5cae05f391ae11f9176555d4c512a76384bc6e3a /libjava/classpath/gnu/java | |
| parent | 6ca60eb282d10a7fabbca88d5353e9755dd9ff9b (diff) | |
| download | ppe42-gcc-814b90efc51ecb609d1ab98d96472797e77937b0.tar.gz ppe42-gcc-814b90efc51ecb609d1ab98d96472797e77937b0.zip | |
Support lambda templates.
* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use. Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202611 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/gnu/java')
0 files changed, 0 insertions, 0 deletions

