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.
|
|
|