| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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/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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
*-*-hpux10*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170368 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161580 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158240 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*-*-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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
of explicit capture of 'this'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152339 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152331 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152318 138bc75d-0d04-0410-961f-82ee72b054a4
|