| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214244 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
(dump_simple_decl): Pretty-print capture field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198159 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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++/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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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++/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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
just return the nearest 'this'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196550 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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++/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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196080 138bc75d-0d04-0410-961f-82ee72b054a4
|