summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/cpp0x/lambda
Commit message (Collapse)AuthorAgeFilesLines
...
* PR c++/46124jason2011-05-281-0/+5
| | | | | | | * parser.c (cp_parser_lambda_expression): Improve error recovery. (cp_parser_lambda_declarator_opt): Likewise. Return bool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174386 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/47049jason2011-05-281-0/+20
| | | | | | | | * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing. * decl.c (start_preparsed_function): Don't call comdat_linkage for a template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174375 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/47687jason2011-05-271-0/+9
| | | | | | * pt.c (dependent_type_p_r): Avoid infinite recursion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174354 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/45080jason2011-05-251-0/+15
| | | | | | | * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op. * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174203 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/47263jason2011-05-231-0/+16
| | | | | | | * decl.c (use_eh_spec_block): Do use an EH spec block for a lambda op(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174076 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/48523jason2011-04-111-0/+13
| | | | | | | * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather than cp_build_indirect_ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172283 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/46159jason2011-03-021-0/+8
| | | | | | | * parser.c (cp_parser_primary_expression): Don't warn about a failed tentative parse. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170621 138bc75d-0d04-0410-961f-82ee72b054a4
* * gfortran.dg/allocate_deferred_char_scalar_1.f03: Fix dg-do syntax.uros2011-02-2315-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gfortran.dg/count_init_expr.f03: Ditto. * gfortran.dg/gomp/pr43711.f90: Ditto. * gcc.dg/struct-parse-2.c: Ditto. * gcc.dg/parse-error-3.c: Ditto. * gcc.dg/Wlogical-op-1.c: Ditto. * gcc.dg/Walways-true-1.c: Ditto. * gcc.dg/pr24225.c: Ditto. * gcc.dg/Walways-true-2.c: Ditto. * gcc.dg/tree-ssa/foldcast-1.c: Ditto. * gcc.dg/tree-ssa/struct-aliasing-1.c: Ditto. * gcc.dg/tree-ssa/struct-aliasing-2.c: Ditto. * g++.dg/overload/defarg4.C: Ditto. * g++.dg/inherit/covariant16.C: Ditto. * g++.dg/inherit/virtual7.C: Ditto. * g++.dg/template/canon-type-9.C: Ditto. * g++.dg/template/access19.C: Ditto. * g++.dg/template/call7.C: Ditto. * g++.dg/template/canon-type-2.C: Ditto. * g++.dg/template/init7.C: Ditto. * g++.dg/template/sizeof-template-argument.C: Ditto. * g++.dg/template/const3.C: Ditto. * g++.dg/template/sfinae26.C: Ditto. * g++.dg/template/sfinae26.C: Ditto. * g++.dg/template/canon-type-11.C: Ditto. * g++.dg/template/union2.C: Ditto. * g++.dg/template/canon-type-3.C: Ditto. * g++.dg/template/canon-type-1.C: Ditto. * g++.dg/template/canon-type-5.C: Ditto. * g++.dg/template/canon-type-7.C: Ditto. * g++.dg/template/canon-type-10.C: Ditto. * g++.dg/template/spec36.C: Ditto. * g++.dg/template/typedef38.C: Ditto. * g++.dg/template/canon-type-4.C: Ditto. * g++.dg/template/canon-type-6.C: Ditto. * g++.dg/template/canon-type-13.C: Ditto. * g++.dg/template/instantiate9.C: Ditto. * g++.dg/template/ttp22.C: Ditto. * g++.dg/warn/Wreturn-type-6.C: Ditto. * g++.dg/warn/Walways-true-1.C: Ditto. * g++.dg/warn/Wlogical-op-1.C: Ditto. * g++.dg/warn/Walways-true-2.C: Ditto. * g++.dg/conversion/op4.C: Ditto. * g++.dg/opt/pr19650.C: Ditto. * g++.dg/lookup/friend11.C: Ditto. * g++.dg/other/default2.C: Ditto. * g++.dg/other/default3.C: Ditto. * g++.dg/other/dtor2.C: Ditto. * g++.dg/other/friend5.C: Ditto. * g++.dg/other/default5.C: Ditto. * g++.dg/init/brace6.C: Ditto. * g++.dg/init/aggr5.C: Ditto. * g++.dg/init/error2.C: Ditto. * g++.dg/expr/bound-mem-fun.C: Ditto. * g++.dg/expr/cond6.C: Ditto. * g++.dg/expr/stmt-expr-1.C: Ditto. * g++.dg/cpp0x/constexpr-object2.C: Ditto. * g++.dg/cpp0x/constexpr-data1.C: Ditto. * g++.dg/cpp0x/constexpr-function2.C: Ditto. * g++.dg/cpp0x/bracket1.C: Ditto. * g++.dg/cpp0x/variadic-mem-fn.C: Ditto. * g++.dg/cpp0x/pr38646.C: Ditto. * g++.dg/cpp0x/variadic73.C: Ditto. * g++.dg/cpp0x/constexpr-function1.C: Ditto. * g++.dg/cpp0x/bracket4.C: Ditto. * g++.dg/cpp0x/decltype4.C: Ditto. * g++.dg/cpp0x/constexpr-data2.C: Ditto. * g++.dg/cpp0x/constexpr-object1.C: Ditto. * g++.dg/cpp0x/variadic-crash2.C: Ditto. * g++.dg/cpp0x/variadic-new2.C: Ditto. * g++.dg/cpp0x/decltype2.C: Ditto. * g++.dg/cpp0x/decltype1.C: Ditto. * g++.dg/cpp0x/bracket2.C: Ditto. * g++.dg/cpp0x/decltype5.C: Ditto. * g++.dg/cpp0x/constexpr-function3.C: Ditto. * g++.dg/cpp0x/variadic70.C: Ditto. * g++.dg/cpp0x/decltype6.C: Ditto. * g++.dg/cpp0x/rvo.C: Ditto. * g++.dg/cpp0x/vt-40092.C: Ditto. * g++.dg/cpp0x/variadic-new.C: Ditto. * g++.dg/cpp0x/lambda/lambda-pass.C: Ditto. * g++.dg/cpp0x/lambda/lambda-mixed.C: Ditto. * g++.dg/cpp0x/lambda/lambda-nested.C: Ditto. * g++.dg/cpp0x/lambda/lambda-recursive.C: Ditto. * g++.dg/cpp0x/lambda/lambda-copy.C: Ditto. * g++.dg/cpp0x/lambda/lambda-non-const.C: Ditto. * g++.dg/cpp0x/lambda/lambda-ref-default.C: Ditto. * g++.dg/cpp0x/lambda/lambda-deduce.C: Ditto. * g++.dg/cpp0x/lambda/lambda-copy-default.C: Ditto. * g++.dg/cpp0x/lambda/lambda-nop.C: Ditto. * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Ditto. * g++.dg/cpp0x/lambda/lambda-ref.C: Ditto. * g++.dg/cpp0x/lambda/lambda-const.C: Ditto. * g++.dg/cpp0x/lambda/lambda-mutable.C: Ditto. * g++.dg/cpp0x/lambda/lambda-in-class.C: Ditto. * g++.dg/cpp0x/pr39639.C: Ditto. * g++.dg/cpp0x/decltype3.C: Ditto. * g++.dg/cpp0x/variadic68.C: Ditto. * g++.dg/cpp0x/variadic-function.C: Ditto. * g++.dg/cpp0x/constexpr-ex1.C: Ditto. * g++.dg/cpp0x/variadic-bind.C: Ditto. * g++.dg/cpp0x/variadic-tuple.C: Ditto. * g++.dg/cpp0x/constexpr-ex2.C: Ditto. * g++.dg/parse/crash35.C: Ditto. * g++.dg/parse/crash40.C: Ditto. * g++.dg/parse/defarg12.C: Ditto. * g++.dg/parse/crash34.C: Ditto. * g++.dg/parse/constructor3.C: Ditto. * g++.dg/parse/template23.C: Ditto. * g++.dg/parse/crash56.C: Ditto. * g++.dg/parse/dtor13.C: Ditto. * g++.dg/parse/error33.C: Ditto. * g++.dg/parse/ctor9.C: Ditto. * g++.dg/parse/error32.C: Ditto. * g++.dg/parse/error37.C: Ditto. * g++.dg/parse/bitfield3.C: Ditto. * g++.dg/parse/struct-4.C: Ditto. * g++.dg/ext/has_trivial_copy.C: Ditto. * g++.dg/ext/is_polymorphic.C: Ditto. * g++.dg/ext/has_nothrow_copy_odr.C: Ditto. * g++.dg/ext/has_nothrow_copy-4.C: Ditto. * g++.dg/ext/has_nothrow_assign.C: Ditto. * g++.dg/ext/is_union.C: Ditto. * g++.dg/ext/has_nothrow_copy-1.C: Ditto. * g++.dg/ext/is_pod.C: Ditto. * g++.dg/ext/has_virtual_destructor.C: Ditto. * g++.dg/ext/has_trivial_constructor.C: Ditto. * g++.dg/ext/has_nothrow_copy-3.C: Ditto. * g++.dg/ext/has_nothrow_copy-5.C: Ditto. * g++.dg/ext/has_trivial_destructor-1.C: Ditto. * g++.dg/ext/has_nothrow_copy-6.C: Ditto. * g++.dg/ext/is_abstract.C: Ditto. * g++.dg/ext/has_trivial_assign.C: Ditto. * g++.dg/ext/is_class.C: Ditto. * g++.dg/ext/has_nothrow_assign_odr.C: Ditto. * g++.dg/ext/has_nothrow_copy-7.C: Ditto. * g++.dg/ext/is_base_of.C: Ditto. * g++.dg/ext/has_nothrow_copy-2.C: Ditto. * g++.dg/ext/has_nothrow_constructor.C: Ditto. * g++.dg/ext/is_empty.C: Ditto. * g++.dg/ext/is_enum.C: Ditto. * g++.dg/ext/has_nothrow_constructor_odr.C: Ditto. * g++.dg/ext/.C: Ditto. * g++.dg/ext/.C: Ditto. * gnat.dg/opt11.adb: Ditto. * obj-c++.dg/pr45735.mm: Ditto. * obj-c++.dg/pr24393.mm: Ditto. * obj-c++.dg/exceptions-2.cc: Ditto. * objc.dg/pr45735.m: Ditto. * objc.dg/pr24393.m: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170438 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2011-02-231-0/+14
| | | | | | | | | | | | | | | | | 2011-02-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47242 * semantics.c (build_lambda_object): Bail out if a field is error_mark_node. /testsuite 2011-02-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47242 * g++.dg/cpp0x/lambda/lambda-ice4.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170423 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/cpp0x/lambda/lambda-conv.C: Skip scan-assembler check ondanglin2011-02-211-1/+1
| | | | | | | | *-*-hpux10*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170368 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2011-02-181-0/+23
| | | | | | | | | | | | | | | | | 2011-02-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47795 * semantics.c (finish_non_static_data_member): Early return if object is error_mark_node. /testsuite 2011-02-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/47795 * g++.dg/cpp0x/lambda/lambda-ice3.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170275 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/45520jason2011-01-111-0/+14
| | | | | | | * tree.c (maybe_dummy_object): Check current_class_ref against context, not current_class_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168654 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2010-12-151-0/+16
| | | | | | | | | | | | | | | | | 2010-12-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42083 * init.c (build_value_init): Check build_special_member_call return value for error_mark_node. /testsuite 2010-12-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42083 * g++.dg/cpp0x/lambda/lambda-ice2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167862 138bc75d-0d04-0410-961f-82ee72b054a4
* Enable implicitly deleted functions (N2346)jason2010-06-301-2/+2
| | | | | | | * class.c (check_bases_and_members): Adjust lambda flags. * method.c (implicitly_declare_fn): Set DECL_DELETED_FN if appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161581 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl2.c (mark_used): Adjust error for use of deleted function.jason2010-06-302-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161580 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (finish_qualified_id_expr): Use maybe_dummy_objectjason2010-04-271-0/+1
| | | | | | | rather than checking current_class_ref directly. (finish_call_expr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158808 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43856jason2010-04-271-0/+16
| | | | | | | | | | * name-lookup.c (qualify_lookup): Disqualify lambda op(). * class.c (current_nonlambda_class_type): New fn. * semantics.c (nonlambda_method_basetype): New. * cp-tree.h: Declare them. * tree.c (maybe_dummy_object): Handle implicit 'this' capture. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158807 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43875jason2010-04-271-0/+7
| | | | | | | * semantics.c (lambda_return_type): Complain about braced-init-list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158805 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43790jason2010-04-271-0/+13
| | | | | | * tree.c (cv_unqualified): Handle error_mark_node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158801 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead ofjason2010-04-132-15/+7
| | | | | | | | | CLASS_TYPE_P. * parser.c (cp_parser_lambda_expression): Complain about lambda in unevaluated context. * pt.c (iterative_hash_template_arg): Don't crash on lambda. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158277 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43641jason2010-04-121-0/+13
| | | | | | | * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak return value directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158241 138bc75d-0d04-0410-961f-82ee72b054a4
* * call.c (type_decays_to): Call cv_unqualified for non-class type.jason2010-04-121-0/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158240 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43502jason2010-03-241-0/+15
| | | | | | | * parser.c (make_declarator): Initialize id_loc. (cp_parser_lambda_declarator_opt): And set it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157701 138bc75d-0d04-0410-961f-82ee72b054a4
* Make lambda conversion op and op() non-static.jason2010-03-236-14/+37
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157681 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/41896jason2010-02-101-0/+12
| | | | | | | * semantics.c (outer_lambda_capture_p): Use current_function_decl instead of current_class_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156673 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/43016jason2010-02-101-1/+11
| | | | | | * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156671 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/42399jason2010-02-091-0/+19
| | | | | | * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156635 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/42370jason2010-02-091-0/+7
| | | | | | | | * decl2.c (change_return_type): New fn. * semantics.c (apply_lambda_return_type): Use it. * cp-tree.h: Declare it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156634 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/41920jason2010-01-201-0/+8
| | | | | | | * semantics.c (build_lambda_object): Call mark_used on captured variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156085 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/42373jason2009-12-151-3/+4
| | | | | | * g++.dg/cpp0x/lambda/lambda-mangle.C: Adjust regexps for darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155266 138bc75d-0d04-0410-961f-82ee72b054a4
* Allow no-capture lambdas to convert to function pointer.jason2009-10-274-12/+17
| | | | | | | | | | | | | | * semantics.c (maybe_add_lambda_conv_op): New. * parser.c (cp_parser_lambda_expression): Call it. (cp_parser_lambda_declarator_opt): Make op() static if no captures. * mangle.c (write_closure_type_name): Adjust. * semantics.c (finish_this_expr): Adjust. * decl.c (grok_op_properties): Allow it. * call.c (build_user_type_conversion_1): Handle static conversion op. (build_op_call): And op(). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153617 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (outer_lambda_capture_p): New fn.jason2009-10-231-0/+31
| | | | | | | | (thisify_lambda_field): Factor out... (add_default_capture): ...from here. (finish_id_expression): Use them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153510 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/abi/rtti3.C, g++.dg/abi/thunk4.C: Skip for *-*-mingw* andjsm282009-10-231-3/+3
| | | | | | | | | | | | | | | *-*-cygwin. * g++.dg/cpp0x/lambda/lambda-mangle.C: Disable weak symbols tests for *-*-mingw* and *-*-cygwin. * g++.dg/opt/vt1.C: Skip for *-*-mingw* and *-*_cygwin. * g++.dg/template/spec35.C: Disable weak symbol test for *-*-mingw* and *-*-cygwin. PR testsuite/31342 * gcc.target/i386/pic-1.c: Skip for *-*-mingw* and *-*-cygwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153506 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix lookup of initialized captures in unevaluated context.jason2009-10-062-0/+22
| | | | | | | | | | | | | | | | | | | | * cp-tree.h (DECL_NORMAL_CAPTURE_P): New. * name-lookup.c (qualify_lookup): Check it. * parser.c (cp_parser_lambda_introducer): Pass explicit_init_p to add_capture. * semantics.c (add_capture): Set DECL_NORMAL_CAPTURE_P on captures without explicit init. (add_default_capture): Pass explicit_init_p. Fix capture by copy of types with explicit copy constructor. * cp-tree.h (TARGET_EXPR_DIRECT_INIT_P): New. (DIRECT_INIT_EXPR_P): New. * typeck.c (convert_for_initialization): Just return if DIRECT_INIT_EXPR_P. * parser.c (cp_parser_lambda_introducer): Use TARGET_EXPR_DIRECT_INIT_P for normal captures. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152500 138bc75d-0d04-0410-961f-82ee72b054a4
* * semantics.c (lambda_expr_this_capture): Fix default capturejason2009-09-301-1/+12
| | | | | | of explicit capture of 'this'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152339 138bc75d-0d04-0410-961f-82ee72b054a4
* remove utf8jason2009-09-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152331 138bc75d-0d04-0410-961f-82ee72b054a4
* merge in cxx0x-lambdas-branch@152308jason2009-09-3039-0/+934
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152318 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud