summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/cpp0x/lambda
Commit message (Collapse)AuthorAgeFilesLines
* /cppaolo2014-09-221-0/+11
| | | | | | | | | | | | | | | | 2014-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62219 * pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P. /testsuite 2014-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62219 * g++.dg/cpp0x/lambda/lambda-template14.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@215483 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/cpp0x/lambda/lambda-template13.C: Specify -fabi-version=0.jason2014-08-201-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214244 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61566jason2014-08-201-1/+5
| | | | | | | | | | * pt.c (instantiate_class_template_1): Ignore lambda on CLASSTYPE_DECL_LIST. (push_template_decl_real): A lambda is not primary. * lambda.c (maybe_add_lambda_conv_op): Distinguish between being currently in a function and the lambda living in a function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214206 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61566jason2014-06-301-0/+20
| | | | | | * mangle.c (decl_mangling_context): Look through a TEMPLATE_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212166 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/61151jason2014-05-131-0/+30
| | | | | | * lambda.c (is_this): Allow capture proxies too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210392 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60992jason2014-05-021-0/+38
| | | | | | | | | | * lambda.c (lambda_capture_field_type): Wrap anything dependent other than 'this' or a VLA. (is_this): New. * pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if the operand was static or constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210018 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60375jason2014-03-252-0/+9
| | | | | | | * parser.c (cp_parser_lambda_expression): Don't parse the body of a lambda in unevaluated context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208817 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-03-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2014-03-181-0/+15
| | | | | | | | | | | | | PR c++/60305 * g++.dg/cpp0x/constexpr-ice14.C: New. 2014-03-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54250 * g++.dg/cpp0x/lambda/lambda-ice12.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208658 138bc75d-0d04-0410-961f-82ee72b054a4
* * lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.jason2014-03-0795-124/+114
| | | | | | | | | | | | | | * lib/target-supports.exp (check_effective_target_c++11): Now means C++11 and up. (check_effective_target_c++11_only): New. (check_effective_target_c++11_down): New. (check_effective_target_c++1y): New. (check_effective_target_c++1y_only): New. (check_effective_target_c++98_only): Rename from check_effective_target_c++98. * g++.dg/*: Use { target c++11 } instead of -std=c++11. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208416 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/60252jason2014-02-211-0/+12
| | | | | | | * lambda.c (maybe_resolve_dummy): Don't try to capture this in declaration context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207999 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/59791jason2014-01-291-0/+21
| | | | | | | * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context. (tsubst_copy): Use it if lookup fails. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207224 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-10-171-0/+7
| | | | | | | | | | | | | | | | | 2013-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58596 * lambda.c (lambda_expr_this_capture): Handle NSDMIs in the cp_unevaluated_operand case. /testsuite 2013-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58596 * g++.dg/cpp0x/lambda/lambda-nsdmi5.C: New git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203780 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-10-081-0/+8
| | | | | | | | | | | | | | | | | | | 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58568 * lambda.c (begin_lambda_type): Check return value of xref_tag for error_mark_node; tidy. * decl.c (grokdeclarator): Tweak error message. /testsuite 2013-10-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58568 * g++.dg/cpp0x/lambda/lambda-ice10.C: New. * g++.old-deja/g++.mike/misc9.C: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203289 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-09-201-0/+21
| | | | | | | | | | | | | | | | | 2013-09-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58481 * pt.c (tsubst_copy): Use current_nonlambda_class_type to call tsubst_baselink. /testsuite 2013-09-20 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58481 * g++.dg/cpp0x/lambda/lambda-this17.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202797 138bc75d-0d04-0410-961f-82ee72b054a4
* Core DR 904jason2013-09-151-0/+57
| | | | | | | | | | | | | | | | | | | | | PR c++/41933 * parser.c (cp_parser_lambda_introducer): Handle variadic capture. * lambda.c (add_capture): Handle variadic capture. (add_default_capture, lambda_capture_field_type): Likewise. (build_capture_proxy, register_capture_members): Likewise. * pt.c (register_specialization): Allow FIELD_DECL. (retrieve_specialization): Likewise. (find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL. (tsubst_pack_expansion): Handle FIELD_DECL packs. (gen_elem_of_pack_expansion_instantiation): Likewise. (instantiate_class_template_1): Likewise. (tsubst_decl, tsubst_copy): Likewise. (tsubst_expr) [DECL_EXPR]: Handle capture proxy packs. (tsubst_copy_and_build) [VAR_DECL]: Likewise. * semantics.c (finish_non_static_data_member): Don't try to represent the type of a COMPOUND_REF of a FIELD_DECL pack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202605 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/58083jason2013-08-181-0/+30
| | | | | | | * name-lookup.c (push_class_level_binding_1): It's OK to push a lambda type after the enclosing type is complete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201822 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/57658jason2013-07-091-0/+19
| | | | | | | * semantics.c (finish_id_expression): Return the id for an unevaluated outer variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200845 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/57526jason2013-07-091-0/+24
| | | | | | | * semantics.c (lambda_capture_field_type): Build a DECLTYPE_TYPE if the variable type uses 'auto'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200844 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/57437jason2013-07-091-0/+26
| | | | | | | * typeck.c (check_return_expr): Lambda proxies aren't eligible for nrv or return by move. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200843 138bc75d-0d04-0410-961f-82ee72b054a4
* /gcc/cppaolo2013-06-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57419 * decl2.c (mark_used): Add overload taking a tsubst_flags_t too. * semantics.c (finish_qualified_id_expr): Use it. * cp-tree.h: Update. /gcc/testsuite 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57419 * g++.dg/cpp0x/sfinae46.C: New. * g++.dg/cpp0x/defaulted13.C: Adjust. * g++.dg/cpp0x/defaulted2.C: Likewise. * g++.dg/cpp0x/defaulted26.C: Likewise. * g++.dg/cpp0x/defaulted3.C: Likewise. * g++.dg/cpp0x/error1.C: Likewise. * g++.dg/cpp0x/implicit1.C: Likewise. * g++.dg/cpp0x/implicit11.C: Likewise. * g++.dg/cpp0x/inh-ctor13.C: Likewise. * g++.dg/cpp0x/initlist47.C: Likewise. * g++.dg/cpp0x/initlist9.C: Likewise. * g++.dg/cpp0x/lambda/lambda-errloc.C: Likewise. * g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise. * g++.dg/cpp0x/nsdmi-local.C: Likewise. * g++.dg/cpp0x/union4.C: Likewise. * g++.dg/template/crash108.C: Likewise. * g++.dg/template/crash41.C: Likewise. * g++.old-deja/g++.jason/local.C: Likewise. * g++.old-deja/g++.law/visibility3.C: Likewise. /libstdc++-v3 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57419 * testsuite/20_util/default_delete/48631_neg.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199626 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56915jason2013-05-231-0/+25
| | | | | | | * semantics.c (maybe_add_lambda_conv_op): Give up if the call op isn't defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199231 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | 2013-05-15 Paolo Carlini <paolo.carlini@oracle.com> * name-lookup.c (pushdecl_maybe_friend_1): Replace pairs of warning_at and permerror with warning_at/inform and permerror/ inform, respectively. /testsuite 2013-05-15 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/lambda/lambda-shadow1.C: Replace dg-warnings with dg-messages. * g++.dg/warn/Wshadow-1.C: Likewise. * g++.dg/warn/Wshadow-6.C: Likewise. * g++.dg/warn/Wshadow-7.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198943 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-05-041-0/+14
| | | | | | | | PR c++/51927 * g++.dg/cpp0x/lambda/lambda-nsdmi4.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198594 138bc75d-0d04-0410-961f-82ee72b054a4
* * error.c (dump_aggr_type): Fix lambda detection.jason2013-04-221-0/+8
| | | | | | (dump_simple_decl): Pretty-print capture field. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198159 138bc75d-0d04-0410-961f-82ee72b054a4
* N3648jason2013-04-222-35/+0
| | | | | | | * parser.c (cp_parser_lambda_introducer): Make lambda capture init pedwarn unconditional except in C++1y mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198156 138bc75d-0d04-0410-961f-82ee72b054a4
* Core 1612jason2013-04-221-0/+18
| | | | | | | * semantics.c (finish_id_expression): Reject capture of anonymous union member. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198153 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56388jason2013-04-151-0/+14
| | | | | | | * semantics.c (insert_capture_proxy): Just use index 1 in the stmt_list_stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197981 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56901jason2013-04-111-0/+16
| | | | | | | * semantics.c (lambda_capture_field_type, lambda_proxy_type): Strip references before checking WILDCARD_TYPE_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197819 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56710jason2013-03-281-0/+9
| | | | | | | * semantics.c (finish_member_declaration): Don't push closure members. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197211 138bc75d-0d04-0410-961f-82ee72b054a4
* * name-lookup.c (pushdecl_maybe_friend_1): Usejason2013-03-281-0/+10
| | | | | | nonlambda_method_basetype and current_nonlambda_class_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197210 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56699jason2013-03-251-0/+28
| | | | | | | * semantics.c (maybe_resolve_dummy): Make sure that the enclosing class is derived from the type of the object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197069 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56692jason2013-03-251-0/+12
| | | | | | * g++.dg/cpp0x/lambda/lambda-this15.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197068 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/52014jason2013-03-251-0/+49
| | | | | | | * semantics.c (lambda_expr_this_capture): Don't capture 'this' in unevaluated context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197063 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/54277jason2013-03-171-0/+19
| | | | | | | | | | | | * cp-tree.h (WILDCARD_TYPE_P): Split out from... (MAYBE_CLASS_TYPE_P): ...here. * semantics.c (lambda_capture_field_type): Only build a magic decltype for wildcard types. (lambda_proxy_type): Likewise. (finish_non_static_data_member): Get the quals from the object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196747 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/52374jason2013-03-171-0/+20
| | | | | | * pt.c (tsubst_qualified_id): Use current_nonlambda_class_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196743 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/54764jason2013-03-172-0/+17
| | | | | | | | | | | | PR c++/55972 * name-lookup.h (tag_scope): Add ts_lambda. * semantics.c (begin_lambda_type): Use it. * decl.c (xref_tag_1): Set CLASSTYPE_LAMBDA_EXPR. * pt.c (check_default_tmpl_args): Ignore lambdas. (push_template_decl_real): Handle lambdas. * tree.c (no_linkage_check): Adjust lambda check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196742 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56039jason2013-03-171-0/+55
| | | | | | * tree.c (strip_typedefs_expr): Complain about lambda, don't abort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196741 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/55357jason2013-03-171-0/+9
| | | | | | | * semantics.c (maybe_add_lambda_conv_op): Clear DECL_NAME of copied parms to avoid duplicate -Wshadow warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196739 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56447jason2013-03-172-0/+38
| | | | | | | | | PR c++/55532 * pt.c (instantiate_class_template_1): Instantiate lambda capture list here. (tsubst_copy_and_build): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196729 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56567jason2013-03-111-1/+1
| | | | | | | * typeck.c (check_return_expr): Disallow returning init list here. * semantics.c (apply_deduced_return_type): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196600 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-03-08 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-03-081-0/+4
| | | | | | | | PR c++/56565 * g++.dg/cpp0x/lambda/lambda-nsdmi2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196564 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2013-03-081-0/+10
| | | | | | | | | | | | | | | | | 2013-03-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51412 * cxx-pretty-print.c (pp_cxx_expression): Handle LAMBDA_EXPR. * error.c (dump_expr): Likewise. /testsuite 2013-03-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51412 * g++.dg/cpp0x/lambda/lambda-err3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196563 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (lambda_expr_this_capture): In unevaluated context,jason2013-03-081-0/+13
| | | | | | just return the nearest 'this'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196550 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/51494jason2013-03-081-0/+22
| | | | | | | | | | | | | PR c++/51884 PR c++/56222 * tree.c (maybe_dummy_object): Don't capture 'this'. * semantics.c (maybe_resolve_dummy): New. (finish_non_static_data_member): Use it. (finish_qualified_id_expr): Don't test is_dummy_object. * cp-tree.h: Declare maybe_resolve_dummy. * call.c (build_new_method_call_1): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196549 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56567jason2013-03-081-0/+11
| | | | | | | * semantics.c (apply_deduced_return_type): Don't allow returning std::initializer_list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196548 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/50276jason2013-03-051-0/+23
| | | | | | * g++.dg/cpp0x/lambda/lambda-template10.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196472 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/56464jason2013-03-042-0/+14
| | | | | | | | PR c++/54383 * semantics.c (lambda_expr_this_capture): Handle NSDMI and non-class scopes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196437 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/54276jason2013-02-151-0/+15
| | | | | | | * semantics.c (finish_id_expression): Also return the identifier for an outer local static. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196091 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/52026jason2013-02-151-0/+15
| | | | | | | * semantics.c (finish_id_expression): In a template, return the identifier for a constant variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196081 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/cpp0x/lambda/lambda-this8.C: Don't use NULL.jason2013-02-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196080 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud