OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [cp/] [ChangeLog] - Diff between revs 816 and 826

Only display areas with differences | Details | Blame | View Log

Rev 816 Rev 826
2010-07-31  Release Manager
2010-07-31  Release Manager
        * GCC 4.5.1 released.
        * GCC 4.5.1 released.
2010-07-23  Jason Merrill  
2010-07-23  Jason Merrill  
        PR c++/43016
        PR c++/43016
        PR c++/45008
        PR c++/45008
        * decl.c (start_preparsed_function): Do defer nested functions.
        * decl.c (start_preparsed_function): Do defer nested functions.
2010-07-19  Jason Merrill  
2010-07-19  Jason Merrill  
        PR c++/44996
        PR c++/44996
        * semantics.c (finish_decltype_type): Correct decltype
        * semantics.c (finish_decltype_type): Correct decltype
        of parenthesized rvalue reference variable.
        of parenthesized rvalue reference variable.
2010-07-08  Jason Merrill  
2010-07-08  Jason Merrill  
        PR c++/44703
        PR c++/44703
        * call.c (is_std_init_list): Look through typedefs.
        * call.c (is_std_init_list): Look through typedefs.
2010-07-02  Paolo Carlini  
2010-07-02  Paolo Carlini  
        PR c++/44039
        PR c++/44039
        * pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
        * pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
        returns NULL_TREE.
        returns NULL_TREE.
2010-06-30  Paolo Carlini  
2010-06-30  Paolo Carlini  
        PR c++/44628
        PR c++/44628
        * typeck.c (cp_build_unary_op): Early return error_mark_node when
        * typeck.c (cp_build_unary_op): Early return error_mark_node when
        arg is NULL_TREE too.
        arg is NULL_TREE too.
        * call.c (convert_class_to_reference): Return error_mark_node when
        * call.c (convert_class_to_reference): Return error_mark_node when
        expr is NULL_TREE.
        expr is NULL_TREE.
2010-06-29  Jason Merrill  
2010-06-29  Jason Merrill  
        PR c++/44587
        PR c++/44587
        * pt.c (has_value_dependent_address): New.
        * pt.c (has_value_dependent_address): New.
        (value_dependent_expression_p): Check it.
        (value_dependent_expression_p): Check it.
        (convert_nontype_argument): Likewise.  Call decay_conversion before
        (convert_nontype_argument): Likewise.  Call decay_conversion before
        folding if we want a pointer.
        folding if we want a pointer.
        * semantics.c (finish_id_expression): Don't add SCOPE_REF if the
        * semantics.c (finish_id_expression): Don't add SCOPE_REF if the
        scope is the current instantiation.
        scope is the current instantiation.
2010-06-22  Jakub Jelinek  
2010-06-22  Jakub Jelinek  
        PR c++/44627
        PR c++/44627
        * error.c (dump_expr): Don't look at CALL_EXPR_ARG (t, 0) if
        * error.c (dump_expr): Don't look at CALL_EXPR_ARG (t, 0) if
        the CALL_EXPR has no arguments.
        the CALL_EXPR has no arguments.
2010-06-07  Jason Merrill  
2010-06-07  Jason Merrill  
        PR c++/44366
        PR c++/44366
        * error.c (dump_simple_decl): Don't print the scope of a
        * error.c (dump_simple_decl): Don't print the scope of a
        PARM_DECL.
        PARM_DECL.
2010-06-07  Jason Merrill  
2010-06-07  Jason Merrill  
        PR c++/44401
        PR c++/44401
        * parser.c (cp_parser_lookup_name): Fix naming the constructor.
        * parser.c (cp_parser_lookup_name): Fix naming the constructor.
2010-06-01  Jason Merrill  
2010-06-01  Jason Merrill  
        PR c++/44358
        PR c++/44358
        * call.c (build_list_conv): Set list-initialization flags properly.
        * call.c (build_list_conv): Set list-initialization flags properly.
2010-05-27  Jason Merrill  
2010-05-27  Jason Merrill  
        PR c++/43555
        PR c++/43555
        * decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
        * decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
        anonymous VLA size.
        anonymous VLA size.
2010-05-26  Jason Merrill  
2010-05-26  Jason Merrill  
        PR c++/43382
        PR c++/43382
        * pt.c (tsubst_pack_expansion): Don't get confused by recursive
        * pt.c (tsubst_pack_expansion): Don't get confused by recursive
        unification.
        unification.
2010-05-24  Jason Merrill  
2010-05-24  Jason Merrill  
        PR c++/41510
        PR c++/41510
        * decl.c (check_initializer): Don't wrap an init-list in a
        * decl.c (check_initializer): Don't wrap an init-list in a
        TREE_LIST.
        TREE_LIST.
        * init.c (build_aggr_init): Don't assume copy-initialization if
        * init.c (build_aggr_init): Don't assume copy-initialization if
        init has CONSTRUCTOR_IS_DIRECT_INIT.
        init has CONSTRUCTOR_IS_DIRECT_INIT.
        * call.c (build_new_method_call): Sanity check.
        * call.c (build_new_method_call): Sanity check.
2010-05-19  Jason Merrill  
2010-05-19  Jason Merrill  
        PR c++/44193
        PR c++/44193
        * pt.c (tsubst) [TYPENAME_TYPE]: Discard cv-quals on
        * pt.c (tsubst) [TYPENAME_TYPE]: Discard cv-quals on
        function/reference type.
        function/reference type.
        * call.c (struct z_candidate): Add explicit_targs field.
        * call.c (struct z_candidate): Add explicit_targs field.
        (add_template_candidate_real): Set it.
        (add_template_candidate_real): Set it.
        (build_over_call): Use it to control init-list warning.
        (build_over_call): Use it to control init-list warning.
        PR c++/44157
        PR c++/44157
        * call.c (build_over_call): Limit init-list deduction warning to
        * call.c (build_over_call): Limit init-list deduction warning to
        cases where the argument is actually an init-list.
        cases where the argument is actually an init-list.
        PR c++/44158
        PR c++/44158
        * call.c (build_over_call): Don't do bitwise copy for move ctor.
        * call.c (build_over_call): Don't do bitwise copy for move ctor.
2010-05-14  Jason Merrill  
2010-05-14  Jason Merrill  
        PR c++/44127
        PR c++/44127
        * except.c (dtor_nothrow): Return nonzero for type with
        * except.c (dtor_nothrow): Return nonzero for type with
        trivial destructor.
        trivial destructor.
        PR c++/44127
        PR c++/44127
        * cp-gimplify.c (gimplify_must_not_throw_expr): Use
        * cp-gimplify.c (gimplify_must_not_throw_expr): Use
        gimple_build_eh_must_not_throw.
        gimple_build_eh_must_not_throw.
2010-05-13  Jason Merrill  
2010-05-13  Jason Merrill  
        PR c++/43787
        PR c++/43787
        * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
        * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
        * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
        * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
2010-05-04  Jason Merrill  
2010-05-04  Jason Merrill  
        PR c++/38064
        PR c++/38064
        * typeck.c (cp_build_binary_op): Allow enums for <> as well.
        * typeck.c (cp_build_binary_op): Allow enums for <> as well.
2010-05-03  Dodji Seketeli  
2010-05-03  Dodji Seketeli  
        PR c++/43953
        PR c++/43953
        * pt.c (most_specialized_class): Pretend we are processing
        * pt.c (most_specialized_class): Pretend we are processing
        a template decl during the call to coerce_template_parms.
        a template decl during the call to coerce_template_parms.
2010-04-30  Jason Merrill  
2010-04-30  Jason Merrill  
        PR c++/43868
        PR c++/43868
        * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle pmfs.
        * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle pmfs.
2010-04-27  Jason Merrill  
2010-04-27  Jason Merrill  
        PR c++/43856
        PR c++/43856
        * name-lookup.c (qualify_lookup): Disqualify lambda op().
        * name-lookup.c (qualify_lookup): Disqualify lambda op().
        * semantics.c (nonlambda_method_basetype): New.
        * semantics.c (nonlambda_method_basetype): New.
        * cp-tree.h: Declare them.
        * cp-tree.h: Declare them.
        * tree.c (maybe_dummy_object): Handle implicit 'this' capture.
        * tree.c (maybe_dummy_object): Handle implicit 'this' capture.
        PR c++/43875
        PR c++/43875
        * semantics.c (lambda_return_type): Complain about
        * semantics.c (lambda_return_type): Complain about
        braced-init-list.
        braced-init-list.
        * parser.c (cp_parser_lambda_expression): Complain about lambda in
        * parser.c (cp_parser_lambda_expression): Complain about lambda in
        unevaluated context.
        unevaluated context.
        * pt.c (iterative_hash_template_arg): Don't crash on lambda.
        * pt.c (iterative_hash_template_arg): Don't crash on lambda.
2010-04-19  Dodji Seketeli  
2010-04-19  Dodji Seketeli  
        PR c++/43704
        PR c++/43704
        * typeck.c (structural_comptypes): Test dependent typedefs
        * typeck.c (structural_comptypes): Test dependent typedefs
        incompatibility before testing for their main variant based
        incompatibility before testing for their main variant based
        equivalence.
        equivalence.
        (incompatible_dependent_types_p): If one of the
        (incompatible_dependent_types_p): If one of the
        compared types if not a typedef then honour their main variant
        compared types if not a typedef then honour their main variant
        equivalence.
        equivalence.
2010-04-16  Jason Merrill  
2010-04-16  Jason Merrill  
        PR c++/43641
        PR c++/43641
        * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
        * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
        return value directly.
        return value directly.
        PR c++/43621
        PR c++/43621
        * pt.c (maybe_update_decl_type): Check the return value from
        * pt.c (maybe_update_decl_type): Check the return value from
        push_scope.
        push_scope.
2010-04-15  Richard Guenther  
2010-04-15  Richard Guenther  
        PR c++/43611
        PR c++/43611
        * semantics.c (expand_or_defer_fn_1): Do not keep extern
        * semantics.c (expand_or_defer_fn_1): Do not keep extern
        template inline functions.
        template inline functions.
2010-04-14  Release Manager
2010-04-14  Release Manager
        * GCC 4.5.0 released.
        * GCC 4.5.0 released.
2010-04-06  Jason Merrill  
2010-04-06  Jason Merrill  
        PR c++/43648
        PR c++/43648
        * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
        * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
2010-04-01  Jason Merrill  
2010-04-01  Jason Merrill  
        * decl.c (next_initializable_field): No longer static.
        * decl.c (next_initializable_field): No longer static.
        * cp-tree.h: Declare it.
        * cp-tree.h: Declare it.
        * call.c (build_aggr_conv): Fail if there are more initializers
        * call.c (build_aggr_conv): Fail if there are more initializers
        than initializable fields.
        than initializable fields.
        * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
        * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
        instead of void_zero_node.
        instead of void_zero_node.
2010-03-31  Dodji Seketeli  
2010-03-31  Dodji Seketeli  
        PR c++/43558
        PR c++/43558
        * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
        * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
        * pt.c (end_template_parm_list): Store sibling template parms of
        * pt.c (end_template_parm_list): Store sibling template parms of
        each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
        each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
        (push_template_decl_real): Don't store the containing template decl
        (push_template_decl_real): Don't store the containing template decl
        into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
        into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
        * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
        * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
        of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
        of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
        Simplify the logic.
        Simplify the logic.
2010-03-30  Jason Merrill  
2010-03-30  Jason Merrill  
        PR c++/43076
        PR c++/43076
        * pt.c (push_template_decl_real): Deal better with running out of
        * pt.c (push_template_decl_real): Deal better with running out of
        scopes before running out of template parms.
        scopes before running out of template parms.
        PR c++/41185
        PR c++/41185
        PR c++/41786
        PR c++/41786
        * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
        * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
        function parameter context.  Don't print an error if parsing
        function parameter context.  Don't print an error if parsing
        tentatively.
        tentatively.
        PR c++/43559
        PR c++/43559
        * pt.c (more_specialized_fn): Don't control cv-qualifier check
        * pt.c (more_specialized_fn): Don't control cv-qualifier check
        with same_type_p.
        with same_type_p.
2010-03-26  Jason Merrill  
2010-03-26  Jason Merrill  
        PR c++/43509
        PR c++/43509
        * parser.c (cp_parser_qualifying_entity): Do accept enum names in
        * parser.c (cp_parser_qualifying_entity): Do accept enum names in
        c++0x mode, but not other type-names.
        c++0x mode, but not other type-names.
2010-03-26  Dodji Seketeli  
2010-03-26  Dodji Seketeli  
        PR c++/43327
        PR c++/43327
        * pt.c (add_to_template_args): Support NULL ARGS;
        * pt.c (add_to_template_args): Support NULL ARGS;
        (most_specialized_class): call coerce_template_parms on
        (most_specialized_class): call coerce_template_parms on
        template arguments passed to get_class_bindings. Use
        template arguments passed to get_class_bindings. Use
        add_to_template_args.
        add_to_template_args.
        (unify): Handle VAR_DECLs.
        (unify): Handle VAR_DECLs.
2010-03-26  Dodji Seketeli  
2010-03-26  Dodji Seketeli  
        * cp-tree.h (get_template_parms_at_level): Change unsigned parm
        * cp-tree.h (get_template_parms_at_level): Change unsigned parm
        into int.
        into int.
        * pt.c (get_template_parms_at_level): Adjust.
        * pt.c (get_template_parms_at_level): Adjust.
2010-03-25  Dodji Seketeli  
2010-03-25  Dodji Seketeli  
        PR c++/43206
        PR c++/43206
        * cp-tree.h (get_template_parms_at_level): Declare ...
        * cp-tree.h (get_template_parms_at_level): Declare ...
        * pt.c (get_template_parms_at_level): ... new function.
        * pt.c (get_template_parms_at_level): ... new function.
        * typeck.c (get_template_parms_of_dependent_type): If a template
        * typeck.c (get_template_parms_of_dependent_type): If a template
        type parm's DECL_CONTEXT isn't yet set, get its siblings from
        type parm's DECL_CONTEXT isn't yet set, get its siblings from
        current_template_parms. Use get_template_parms_at_level. Remove
        current_template_parms. Use get_template_parms_at_level. Remove
        useless test.
        useless test.
        (incompatible_dependent_types_p): If we get empty parms from just one
        (incompatible_dependent_types_p): If we get empty parms from just one
        of the template type parms we are comparing then the template parms are
        of the template type parms we are comparing then the template parms are
        incompatible.
        incompatible.
2010-03-24  Jason Merrill  
2010-03-24  Jason Merrill  
        PR c++/43502
        PR c++/43502
        * parser.c (make_declarator): Initialize id_loc.
        * parser.c (make_declarator): Initialize id_loc.
        (cp_parser_lambda_declarator_opt): And set it.
        (cp_parser_lambda_declarator_opt): And set it.
2010-03-23  Jason Merrill  
2010-03-23  Jason Merrill  
        Make lambda conversion op and op() non-static.
        Make lambda conversion op and op() non-static.
        * semantics.c (maybe_add_lambda_conv_op): Make non-static.
        * semantics.c (maybe_add_lambda_conv_op): Make non-static.
        Also add the thunk function returned by the conversion op.
        Also add the thunk function returned by the conversion op.
        Mark the conversion deleted if the op() is variadic.
        Mark the conversion deleted if the op() is variadic.
        * decl2.c (mark_used): Give helpful message about deleted conversion.
        * decl2.c (mark_used): Give helpful message about deleted conversion.
        * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
        * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
        * semantics.c (finish_this_expr): Adjust.
        * semantics.c (finish_this_expr): Adjust.
        * mangle.c (write_closure_type_name): Adjust.
        * mangle.c (write_closure_type_name): Adjust.
        * decl.c (grok_op_properties): Don't allow it.
        * decl.c (grok_op_properties): Don't allow it.
        * call.c (build_user_type_conversion_1): No static conversion ops.
        * call.c (build_user_type_conversion_1): No static conversion ops.
        (build_op_call): Or op().
        (build_op_call): Or op().
        * decl2.c (change_return_type): Fix 'this' quals.
        * decl2.c (change_return_type): Fix 'this' quals.
2010-03-22  Jason Merrill  
2010-03-22  Jason Merrill  
        PR c++/43333
        PR c++/43333
        * tree.c (pod_type_p): Use old meaning in C++98 mode.
        * tree.c (pod_type_p): Use old meaning in C++98 mode.
        PR c++/43281
        PR c++/43281
        * pt.c (contains_auto_r): New fn.
        * pt.c (contains_auto_r): New fn.
        (do_auto_deduction): Use it.
        (do_auto_deduction): Use it.
        (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
        (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
2010-03-20  Simon Martin  
2010-03-20  Simon Martin  
        PR c++/43081:
        PR c++/43081:
        * decl2.c (grokfield): Handle invalid initializers for member
        * decl2.c (grokfield): Handle invalid initializers for member
        functions.
        functions.
2010-03-20  Dodji Seketeli  
2010-03-20  Dodji Seketeli  
        PR c++/43375
        PR c++/43375
        * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
        * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
        is NULL.
        is NULL.
        * decl2.c (vague_linkage_p): Likewise.
        * decl2.c (vague_linkage_p): Likewise.
2010-03-18  Paolo Carlini  
2010-03-18  Paolo Carlini  
        PR c++/43418
        PR c++/43418
        * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
        * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
        false, in the cp_parser_expression_statement call.
        false, in the cp_parser_expression_statement call.
2010-03-05  Jason Merrill  
2010-03-05  Jason Merrill  
        * mangle.c (mangle_decl): Give name collision error even without
        * mangle.c (mangle_decl): Give name collision error even without
        ASM_OUTPUT_DEF.
        ASM_OUTPUT_DEF.
2010-03-04  Marco Poletti  
2010-03-04  Marco Poletti  
        * pt.c (process_partial_specialization): Use error_n instead of
        * pt.c (process_partial_specialization): Use error_n instead of
        error.
        error.
2010-03-03  Jason Merrill  
2010-03-03  Jason Merrill  
        PR c++/12909
        PR c++/12909
        * mangle.c (mangle_decl): Handle VAR_DECL, too.
        * mangle.c (mangle_decl): Handle VAR_DECL, too.
2010-03-03  Jason Merrill  
2010-03-03  Jason Merrill  
        PR c++/12909
        PR c++/12909
        * mangle.c: Include cgraph.h.
        * mangle.c: Include cgraph.h.
        (mangle_decl): If the mangled name will change in a later
        (mangle_decl): If the mangled name will change in a later
        ABI version, make the later mangled name an alias.
        ABI version, make the later mangled name an alias.
        * method.c (make_alias_for): Copy DECL_ARGUMENTS.
        * method.c (make_alias_for): Copy DECL_ARGUMENTS.
        * Make-lang.in (mangle.o): Depend on cgraph.h.
        * Make-lang.in (mangle.o): Depend on cgraph.h.
        * method.c (make_alias_for): Handle VAR_DECL, too.
        * method.c (make_alias_for): Handle VAR_DECL, too.
        * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
        * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
        * tree.c (no_linkage_check): Adjust.
        * tree.c (no_linkage_check): Adjust.
        * decl.c (maybe_commonize_var): Adjust.
        * decl.c (maybe_commonize_var): Adjust.
        * cp-tree.h: Adjust.
        * cp-tree.h: Adjust.
2010-03-01  Marco Poletti  
2010-03-01  Marco Poletti  
        * pt.c (redeclare_class_template): Use error_n and inform_n.
        * pt.c (redeclare_class_template): Use error_n and inform_n.
2010-02-27  Mark Mitchell  
2010-02-27  Mark Mitchell  
        PR c++/42748
        PR c++/42748
        * cp-tree.h (push_tinst_level): Declare.
        * cp-tree.h (push_tinst_level): Declare.
        (pop_tinst_level): Likewise.
        (pop_tinst_level): Likewise.
        * pt.c (push_tinst_level): Give it external linkage.
        * pt.c (push_tinst_level): Give it external linkage.
        (pop_tinst_level): Likewise.
        (pop_tinst_level): Likewise.
        * mangle.c (mangle_decl_string): Set the source location to that
        * mangle.c (mangle_decl_string): Set the source location to that
        of the decl while mangling.
        of the decl while mangling.
2010-02-27  Simon Martin  
2010-02-27  Simon Martin  
        PR c++/42054
        PR c++/42054
        * pt.c (redeclare_class_template): Return false if there are erroneous
        * pt.c (redeclare_class_template): Return false if there are erroneous
        template parameters.
        template parameters.
2010-02-24  Manuel López-Ibáñez  
2010-02-24  Manuel López-Ibáñez  
        * pt.c (push_tinst_level): Replace -ftemplate-depth- with
        * pt.c (push_tinst_level): Replace -ftemplate-depth- with
        -ftemplate-depth=.
        -ftemplate-depth=.
2010-02-24  Jason Merrill  
2010-02-24  Jason Merrill  
        PR c++/12909
        PR c++/12909
        * mangle.c (write_type): Give -Wabi warning for old vector mangling.
        * mangle.c (write_type): Give -Wabi warning for old vector mangling.
        * class.c (layout_class_type): Don't give -Wabi warning for a bug
        * class.c (layout_class_type): Don't give -Wabi warning for a bug
        in a previous ABI version.
        in a previous ABI version.
2010-02-23  Jason Merrill  
2010-02-23  Jason Merrill  
        PR c++/43143
        PR c++/43143
        * typeck2.c (digest_init_r): Accept value init of array.
        * typeck2.c (digest_init_r): Accept value init of array.
2010-02-22  Manuel López-Ibáñez  
2010-02-22  Manuel López-Ibáñez  
        PR c++/43126
        PR c++/43126
        * typeck.c (convert_arguments): Update error message.
        * typeck.c (convert_arguments): Update error message.
2010-02-22  Mike Stump  
2010-02-22  Mike Stump  
        PR c++/43125
        PR c++/43125
        * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
        * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
2010-02-21  Manuel López-Ibáñez  
2010-02-21  Manuel López-Ibáñez  
        PR c++/23510
        PR c++/23510
        * error.c (print_instantiation_partial_context_line): New.
        * error.c (print_instantiation_partial_context_line): New.
        (print_instantiation_partial_context): Print at most 12 contexts,
        (print_instantiation_partial_context): Print at most 12 contexts,
        skip the rest with a message.
        skip the rest with a message.
2010-02-21  Dodji Seketeli  
2010-02-21  Dodji Seketeli  
        PR c++/42824
        PR c++/42824
        * pt.c (lookup_template_class): Better support of specialization
        * pt.c (lookup_template_class): Better support of specialization
        of member of class template implicit instantiation.
        of member of class template implicit instantiation.
2010-02-20  Manuel López-Ibáñez  
2010-02-20  Manuel López-Ibáñez  
        PR c++/35669
        PR c++/35669
        * call.c (conversion_null_warnings): Replace -Wconversion with
        * call.c (conversion_null_warnings): Replace -Wconversion with
        -Wconversion-null.
        -Wconversion-null.
        * cvt.c (build_expr_type_conversion): Likewise.
        * cvt.c (build_expr_type_conversion): Likewise.
2010-02-18  Jason Merrill  
2010-02-18  Jason Merrill  
        PR c++/42837
        PR c++/42837
        * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
        * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
        PR c++/43108
        PR c++/43108
        * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
        * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
        C build_binary_op.
        C build_binary_op.
        * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
        * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
        * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
        * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
        PR c++/43070
        PR c++/43070
        * semantics.c (finish_goto_stmt): Don't call decay_conversion.
        * semantics.c (finish_goto_stmt): Don't call decay_conversion.
        PR c++/26261
        PR c++/26261
        PR c++/43101
        PR c++/43101
        * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
        * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
        (maybe_update_decl_type): New fn.
        (maybe_update_decl_type): New fn.
        * parser.c (cp_parser_init_declarator): Use it.
        * parser.c (cp_parser_init_declarator): Use it.
        PR c++/43109
        PR c++/43109
        * semantics.c (begin_class_definition): Don't crash on unnamed ns.
        * semantics.c (begin_class_definition): Don't crash on unnamed ns.
2010-02-17  Jason Merrill  
2010-02-17  Jason Merrill  
        PR c++/43075
        PR c++/43075
        * call.c (build_over_call): Don't create zero-sized assignments.
        * call.c (build_over_call): Don't create zero-sized assignments.
        * cp-gimplify.c (cp_genericize_r): Don't remove them here.
        * cp-gimplify.c (cp_genericize_r): Don't remove them here.
        * cp-objcp-common.c (cp_expr_size): Remove.
        * cp-objcp-common.c (cp_expr_size): Remove.
        * cp-tree.h: Remove prototype.
        * cp-tree.h: Remove prototype.
        PR c++/43069
        PR c++/43069
        * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
        * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
        decl we looked up doesn't match.
        decl we looked up doesn't match.
        PR c++/43093
        PR c++/43093
        * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
        * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
        have an INIT_EXPR anymore.
        have an INIT_EXPR anymore.
        PR c++/43079
        PR c++/43079
        * pt.c (convert_nontype_argument): Change assert to test.
        * pt.c (convert_nontype_argument): Change assert to test.
2010-02-16  Jason Merrill  
2010-02-16  Jason Merrill  
        * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
        * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
        PR c++/43031
        PR c++/43031
        * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
        * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
        VIEW_CONVERT_EXPR for conversions between structural equality types
        VIEW_CONVERT_EXPR for conversions between structural equality types
        that the back end can't tell are the same.
        that the back end can't tell are the same.
        PR c++/43036
        PR c++/43036
        * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
        * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
        cv-quals from element here.
        cv-quals from element here.
        (cp_build_qualified_type_real): Not here.  Preserve typedef name.
        (cp_build_qualified_type_real): Not here.  Preserve typedef name.
2010-02-14  Jason Merrill  
2010-02-14  Jason Merrill  
        PR c++/41997
        PR c++/41997
        * semantics.c (finish_compound_literal): Use
        * semantics.c (finish_compound_literal): Use
        cp_apply_type_quals_to_decl when creating a static variable.
        cp_apply_type_quals_to_decl when creating a static variable.
2010-02-12  Jason Merrill  
2010-02-12  Jason Merrill  
        PR c++/43024
        PR c++/43024
        * name-lookup.h (current_binding_level): Check for null
        * name-lookup.h (current_binding_level): Check for null
        cp_function_chain.
        cp_function_chain.
2010-02-12  Jason Merrill  
2010-02-12  Jason Merrill  
        PR c++/43054
        PR c++/43054
        * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
        * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
2010-02-12  Jakub Jelinek  
2010-02-12  Jakub Jelinek  
        PR c++/43033
        PR c++/43033
        * name-lookup.c (pushdecl_maybe_friend): Check default args of t
        * name-lookup.c (pushdecl_maybe_friend): Check default args of t
        instead of x.
        instead of x.
2010-02-10  Jason Merrill  
2010-02-10  Jason Merrill  
        PR c++/41896
        PR c++/41896
        * semantics.c (outer_lambda_capture_p): Revert.
        * semantics.c (outer_lambda_capture_p): Revert.
        (add_capture): Only finish_member_declaration if
        (add_capture): Only finish_member_declaration if
        we're in the lambda class.
        we're in the lambda class.
        (register_capture_members): New.
        (register_capture_members): New.
        * cp-tree.h: Declare it.
        * cp-tree.h: Declare it.
        * parser.c (cp_parser_lambda_expression): Call it.
        * parser.c (cp_parser_lambda_expression): Call it.
2010-02-10  Jason Merrill  
2010-02-10  Jason Merrill  
        PR c++/41896
        PR c++/41896
        * semantics.c (outer_lambda_capture_p): Use current_function_decl
        * semantics.c (outer_lambda_capture_p): Use current_function_decl
        instead of current_class_type.
        instead of current_class_type.
2010-02-10  Jason Merrill  
2010-02-10  Jason Merrill  
        PR c++/42983, core issue 906
        PR c++/42983, core issue 906
        * method.c (defaultable_fn_check): Check virtualness.
        * method.c (defaultable_fn_check): Check virtualness.
2010-02-10  Jason Merrill  
2010-02-10  Jason Merrill  
        PR c++/43016
        PR c++/43016
        * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
        * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
2010-02-10  Shujing Zhao  
2010-02-10  Shujing Zhao  
        * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
        * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
        * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
        * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
        translation.
        translation.
        * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
        * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
        (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
        (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
        (cp_parser_parameter_declaration)
        (cp_parser_parameter_declaration)
        (cp_parser_exception_specification_opt)
        (cp_parser_exception_specification_opt)
        (cp_parser_exception_declaration): Likewise.
        (cp_parser_exception_declaration): Likewise.
        * pt.c (check_default_tmpl_args): Likewise.
        * pt.c (check_default_tmpl_args): Likewise.
        * search.c (lookup_field_r): Likewise.
        * search.c (lookup_field_r): Likewise.
2010-02-09  Jason Merrill  
2010-02-09  Jason Merrill  
        PR c++/42399
        PR c++/42399
        * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
        * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
2010-02-09  Jason Merrill  
2010-02-09  Jason Merrill  
        PR c++/42370
        PR c++/42370
        * decl2.c (change_return_type): New fn.
        * decl2.c (change_return_type): New fn.
        * semantics.c (apply_lambda_return_type): Use it.
        * semantics.c (apply_lambda_return_type): Use it.
        * cp-tree.h: Declare it.
        * cp-tree.h: Declare it.
2010-02-05  Richard Guenther  
2010-02-05  Richard Guenther  
        * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
        * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
        * cp-lang.c: Include gt-cp-cp-lang.h.
        * cp-lang.c: Include gt-cp-cp-lang.h.
        * config-lang.in (gtfiles): Add cp/cp-lang.c.
        * config-lang.in (gtfiles): Add cp/cp-lang.c.
2010-02-05  Dodji Seketeli  
2010-02-05  Dodji Seketeli  
        PR c++/42915
        PR c++/42915
        * typeck.c (get_template_parms_of_dependent_type): Try getting
        * typeck.c (get_template_parms_of_dependent_type): Try getting
        the template parameters fromt the type itself first.
        the template parameters fromt the type itself first.
2010-02-03  Jason Merrill  
2010-02-03  Jason Merrill  
        PR c++/4926
        PR c++/4926
        PR c++/38600
        PR c++/38600
        * mangle.c (write_unqualified_id): Split out from write_expression.
        * mangle.c (write_unqualified_id): Split out from write_expression.
        (write_unqualified_name): Call it.
        (write_unqualified_name): Call it.
        (write_member_name): Likewise.
        (write_member_name): Likewise.
        (write_expression): Support TEMPLATE_ID_EXPR.
        (write_expression): Support TEMPLATE_ID_EXPR.
        Disambiguate operator names.
        Disambiguate operator names.
        PR c++/12909
        PR c++/12909
        * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
        * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
        -fabi-version=4.
        -fabi-version=4.
2010-02-02  Jason Merrill  
2010-02-02  Jason Merrill  
        PR c++/41090
        PR c++/41090
        * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
        * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
        * optimize.c (clone_body): Remap their initializers when making base
        * optimize.c (clone_body): Remap their initializers when making base
        variants.
        variants.
        (maybe_clone_body): Complain if multiple clones aren't safe.
        (maybe_clone_body): Complain if multiple clones aren't safe.
2010-01-29  Dodji Seketeli  
2010-01-29  Dodji Seketeli  
        PR c++/42758
        PR c++/42758
        PR c++/42634
        PR c++/42634
        PR c++/42336
        PR c++/42336
        PR c++/42797
        PR c++/42797
        PR c++/42880
        PR c++/42880
        * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
        * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
        SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
        SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
        GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
        GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
        * pt.c (coerce_template_parms, type_unification_real,
        * pt.c (coerce_template_parms, type_unification_real,
        expand_template_argument_pack, coerce_template_parameter_pack):
        expand_template_argument_pack, coerce_template_parameter_pack):
        Set the non default template args count.
        Set the non default template args count.
        (current_template_args): Always set non defaulted
        (current_template_args): Always set non defaulted
        template args count when compiled with --enable-checking
        template args count when compiled with --enable-checking
        (tsubst_template_args, type_unification_real): Propagate the non
        (tsubst_template_args, type_unification_real): Propagate the non
        defaulted template args count.
        defaulted template args count.
        * error.c (get_non_default_template_args_count): Renamed
        * error.c (get_non_default_template_args_count): Renamed
        count_non_default_template_args into this. Don't calculate the
        count_non_default_template_args into this. Don't calculate the
        non default template argument count anymore. Use the new
        non default template argument count anymore. Use the new
        accessor macros above to get it.
        accessor macros above to get it.
        (dump_template_argument_list, dump_type, dump_decl,
        (dump_template_argument_list, dump_type, dump_decl,
        dump_template_parms): Adjust.
        dump_template_parms): Adjust.
        * parser.c (cp_parser_template_argument_list): Always set defaulted
        * parser.c (cp_parser_template_argument_list): Always set defaulted
        template args count when compiled with --enable-checking.
        template args count when compiled with --enable-checking.
2010-01-29  Shujing Zhao  
2010-01-29  Shujing Zhao  
        * decl.c (redeclaration_error_message): Wrap the return messages into
        * decl.c (redeclaration_error_message): Wrap the return messages into
        G_() for easy translation.
        G_() for easy translation.
2010-01-28  Jason Merrill  
2010-01-28  Jason Merrill  
        PR c++/42880
        PR c++/42880
        * semantics.c (begin_class_definition): Don't use type_as_string.
        * semantics.c (begin_class_definition): Don't use type_as_string.
2010-01-28  Dodji Seketeli  
2010-01-28  Dodji Seketeli  
        PR c++/42713
        PR c++/42713
        PR c++/42820
        PR c++/42820
        * typeck.c (get_template_parms_of_dependent_type): Factorized
        * typeck.c (get_template_parms_of_dependent_type): Factorized
        this out of incompatible_template_type_parms_p
        this out of incompatible_template_type_parms_p
        (incompatible_dependent_types_p): Renamed
        (incompatible_dependent_types_p): Renamed
        incompatible_template_type_parms_p into this. Make it detect
        incompatible_template_type_parms_p into this. Make it detect
        two incompatible dependent typedefs too.
        two incompatible dependent typedefs too.
        (structural_comptypes): Use incompatible_dependent_types_p.
        (structural_comptypes): Use incompatible_dependent_types_p.
        * pt.c (get_template_info):
        * pt.c (get_template_info):
        Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
        Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
2010-01-20  Janis Johnson  
2010-01-20  Janis Johnson  
            Jason Merrill  
            Jason Merrill  
        * mangle.c (write_type): Mangle transparent record as member type.
        * mangle.c (write_type): Mangle transparent record as member type.
        * semantics.c (begin_class_definition): Recognize decimal classes
        * semantics.c (begin_class_definition): Recognize decimal classes
        and set TYPE_TRANSPARENT_AGGR.
        and set TYPE_TRANSPARENT_AGGR.
2010-01-20  Jason Merrill  
2010-01-20  Jason Merrill  
        PR c++/42338
        PR c++/42338
        * mangle.c (write_expression): Handle tree codes that have extra
        * mangle.c (write_expression): Handle tree codes that have extra
        arguments in the middle-end.
        arguments in the middle-end.
2010-01-20  Paolo Carlini  
2010-01-20  Paolo Carlini  
        PR c++/42038
        PR c++/42038
        * except.c (expand_start_catch_block): Deal correctly with
        * except.c (expand_start_catch_block): Deal correctly with
        do_begin_catch returning error_mark_node.
        do_begin_catch returning error_mark_node.
2010-01-20  Jason Merrill  
2010-01-20  Jason Merrill  
        PR c++/41788
        PR c++/41788
        * class.c (layout_class_type): Set packed_maybe_necessary for packed
        * class.c (layout_class_type): Set packed_maybe_necessary for packed
        non-PODs.
        non-PODs.
        PR c++/41920
        PR c++/41920
        * semantics.c (build_lambda_object): Call mark_used on captured
        * semantics.c (build_lambda_object): Call mark_used on captured
        variables.
        variables.
        PR c++/40750
        PR c++/40750
        * decl.c (grokdeclarator): Clear type_quals for a member function
        * decl.c (grokdeclarator): Clear type_quals for a member function
        declared using a typedef.  Don't complain about adding cv-quals
        declared using a typedef.  Don't complain about adding cv-quals
        to a function typedef in C++0x mode.
        to a function typedef in C++0x mode.
2010-01-20  Jakub Jelinek  
2010-01-20  Jakub Jelinek  
        * decl.c (create_array_type_for_decl): Remove set but not used
        * decl.c (create_array_type_for_decl): Remove set but not used
        variable error_msg.  Remove break stmts after return stmts.
        variable error_msg.  Remove break stmts after return stmts.
2010-01-19  Dodji Seketeli  
2010-01-19  Dodji Seketeli  
        * error.c (dump_template_parms, count_non_default_template_args):
        * error.c (dump_template_parms, count_non_default_template_args):
        Revert fix of PR c++/42634.
        Revert fix of PR c++/42634.
2010-01-18  Dodji Seketeli  
2010-01-18  Dodji Seketeli  
        PR c++/42634
        PR c++/42634
        * error.c (dump_template_parms): Use innermost template
        * error.c (dump_template_parms): Use innermost template
        arguments before calling count_non_default_template_args.
        arguments before calling count_non_default_template_args.
        (count_non_default_template_args): We are being called with
        (count_non_default_template_args): We are being called with
        template innermost arguments now. There is no need to ensure
        template innermost arguments now. There is no need to ensure
        that again.
        that again.
2010-01-18  Dodji Seketeli  
2010-01-18  Dodji Seketeli  
        PR c++/42766
        PR c++/42766
        * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
        * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
2010-01-17  Dodji Seketeli  
2010-01-17  Dodji Seketeli  
        PR c++/42697
        PR c++/42697
        *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
        *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
2010-01-17  Dodji Seketeli  
2010-01-17  Dodji Seketeli  
        PR c++/42697
        PR c++/42697
        *pt.c (tsubst_decl): Get the arguments of a specialization from
        *pt.c (tsubst_decl): Get the arguments of a specialization from
        the specialization template, not from the most general template.
        the specialization template, not from the most general template.
2010-01-16  Jason Merrill  
2010-01-16  Jason Merrill  
        PR c++/42761
        PR c++/42761
        * semantics.c (finish_decltype_type): Within a template, treat
        * semantics.c (finish_decltype_type): Within a template, treat
        unresolved CALL_EXPR as dependent.
        unresolved CALL_EXPR as dependent.
2010-01-15  Dodji Seketeli  
2010-01-15  Dodji Seketeli  
        * error.c (dump_template_parms,count_non_default_template_args):
        * error.c (dump_template_parms,count_non_default_template_args):
        Revert changes of PR c++/42634.
        Revert changes of PR c++/42634.
2010-01-14  Jakub Jelinek  
2010-01-14  Jakub Jelinek  
        PR middle-end/42674
        PR middle-end/42674
        * decl.c (finish_function): Don't emit -Wreturn-type warnings in
        * decl.c (finish_function): Don't emit -Wreturn-type warnings in
        functions with noreturn attribute.
        functions with noreturn attribute.
2010-01-14  Jason Merrill  
2010-01-14  Jason Merrill  
        PR c++/42701
        PR c++/42701
        * call.c (build_new_method_call): Don't free the vec here.
        * call.c (build_new_method_call): Don't free the vec here.
        PR c++/42655
        PR c++/42655
        * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
        * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
2010-01-13  Dodji Seketeli  
2010-01-13  Dodji Seketeli  
        PR c++/42634
        PR c++/42634
        * error.c (dump_template_parms): Use innermost template
        * error.c (dump_template_parms): Use innermost template
        arguments before calling count_non_default_template_args.
        arguments before calling count_non_default_template_args.
        (count_non_default_template_args): We are being called with
        (count_non_default_template_args): We are being called with
        template innermost arguments now. There is no need to ensure
        template innermost arguments now. There is no need to ensure
        that again.
        that again.
2010-01-07  Dodji Seketeli  
2010-01-07  Dodji Seketeli  
        c++/40155
        c++/40155
        * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
        * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
        arguments that were previously deduced.
        arguments that were previously deduced.
2010-01-05  Jason Merrill  
2010-01-05  Jason Merrill  
        * pt.c (unify_pack_expansion): Handle deduction from init-list.
        * pt.c (unify_pack_expansion): Handle deduction from init-list.
        * call.c (build_over_call): Don't complain about it.
        * call.c (build_over_call): Don't complain about it.
2010-01-04  Jason Merrill  
2010-01-04  Jason Merrill  
        PR c++/42555
        PR c++/42555
        * pt.c (tsubst_decl): Don't apply type attributes in place.
        * pt.c (tsubst_decl): Don't apply type attributes in place.
        PR c++/42567
        PR c++/42567
        * semantics.c (describable_type): Remove decltype comment and
        * semantics.c (describable_type): Remove decltype comment and
        semantics.
        semantics.


Copyright (C) 2010 Free Software Foundation, Inc.
Copyright (C) 2010 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
notice and this notice are preserved.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.