mirror of git://gcc.gnu.org/git/gcc.git
1074 lines
35 KiB
Plaintext
1074 lines
35 KiB
Plaintext
2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/11856
|
||
* pt.c (tsubst_copy_and_build): Increase / decrease
|
||
c_inhibit_evaluation_warnings around build_x_binary_op call.
|
||
|
||
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
|
||
(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
|
||
(TYPE_PTR_OR_PTRMEM_P): Add.
|
||
* typeck.c (composite_pointer_type_r, composite_pointer_type,
|
||
common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
|
||
cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
|
||
build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
|
||
casts_away_constness_r, casts_away_constness): Adjust.
|
||
* init.c (build_zero_init_1): Adjust.
|
||
* class.c (check_field_decls): Likewise.
|
||
* decl.c (check_default_argument): Likewise.
|
||
* rtti.c (target_incomplete_p): Likewise.
|
||
* tree.c (zero_init_p): Likewise.
|
||
* cxx-pretty-print.c (pp_cxx_ptr_operator,
|
||
pp_cxx_abstract_declarator): Likewise.
|
||
* typeck2.c (build_m_component_ref): Likewise.
|
||
* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
|
||
dependent_type_p_r): Likewise.
|
||
* call.c (null_member_pointer_value_p, standard_conversion,
|
||
add_builtin_candidate, build_conditional_expr_1, compare_ics):
|
||
Likewise.
|
||
* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
|
||
* cvt.c (cp_convert_to_pointer, ocp_convert,
|
||
perform_qualification_conversions): Likewise.
|
||
* mangle.c (write_type): Likewise.
|
||
* name-lookup.c (arg_assoc_type): Likewise.
|
||
|
||
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* parser.c (struct cp_parser_expression_stack_entry): Add location_t
|
||
field.
|
||
(cp_parser_binary_expression): Rework to always update at the same
|
||
time tree_type and loc.
|
||
* call.c (print_z_candidate): Add location_t parameter.
|
||
(print_z_candidates, convert_like_real, joust): Adjust.
|
||
|
||
2012-05-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
PR c++/53209
|
||
* pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
|
||
|
||
2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53305
|
||
* pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
|
||
tsubst_decl returns NULL_TREE.
|
||
* cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
|
||
BOUND_TEMPLATE_TEMPLATE_PARM.
|
||
|
||
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53158
|
||
* cvt.c (ocp_convert): Error out early for void -> bool conversions.
|
||
* typeck.c (decay_conversion): Use error_at.
|
||
* call.c (build_integral_nontype_arg_conv, convert_like_real,
|
||
convert_arg_to_ellipsis, perform_implicit_conversion_flags,
|
||
initialize_reference): Likewise.
|
||
* cvt.c (warn_ref_binding): Add location_t parameter.
|
||
(cp_convert_to_pointer, convert_to_reference, ocp_convert,
|
||
convert_to_void, ): Use error_at and warning_at.
|
||
|
||
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53301
|
||
* decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
|
||
instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
|
||
|
||
2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53152
|
||
* call.c (op_error, build_new_op_1, build_new_op): Add location_t
|
||
parameter.
|
||
(build_conditional_expr_1): Adjust.
|
||
* typeck.c (build_x_indirect_ref, build_x_binary_op,
|
||
build_x_unary_op): Add location_t parameter.
|
||
(rationalize_conditional_expr, build_x_array_ref,
|
||
build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
|
||
Adjust.
|
||
* typeck2.c (build_x_arrow): Add location_t parameter.
|
||
* semantics.c (finish_unary_op_expr): Likewise.
|
||
(finish_increment_expr, handle_omp_for_class_iterator): Adjust.
|
||
* decl2.c (grok_array_decl): Add location_t parameter.
|
||
* parser.c (cp_parser_postfix_open_square_expression,
|
||
cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
|
||
cp_parser_binary_expression, cp_parser_builtin_offsetof,
|
||
do_range_for_auto_deduction, cp_convert_range_for,
|
||
cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
|
||
location, adjust.
|
||
* pt.c (tsubst_copy_and_build): Adjust.
|
||
* tree.c (maybe_dummy_object): Likewise.
|
||
* cp-tree.h: Update declarations.
|
||
|
||
2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.
|
||
|
||
2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53166
|
||
* pt.c (instantiate_class_template_1): Increase / decrease
|
||
c_inhibit_evaluation_warnings around the tsubst_expr call
|
||
for STATIC_ASSERT_CONDITION.
|
||
(tsubst_expr, case STATIC_ASSERT): Likewise.
|
||
* typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
|
||
c_inhibit_evaluation_warnings in the OPT_Waddress warnings.
|
||
|
||
2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53186
|
||
* call.c (build_over_call): Handle final member functions
|
||
and class types.
|
||
(build_new_method_call_1): Do not handle here.
|
||
|
||
2012-05-02 Richard Guenther <rguenther@suse.de>
|
||
|
||
* decl.c (grokdeclarator): Properly check for sizes that
|
||
cover more than half of the address-space.
|
||
|
||
2012-04-30 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR c++/51033
|
||
* typeck.c (cp_build_array_ref): Handle VECTOR_TYPE.
|
||
* decl2.c (grok_array_decl): Likewise.
|
||
|
||
PR c++/51314
|
||
* parser.c (cp_parser_sizeof_operand): Require parentheses for
|
||
sizeof...
|
||
|
||
2012-04-30 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
Fix location for static class members
|
||
* decl.c (grokdeclarator): Use the location carried by the
|
||
declarator for the DECL of the static class member.
|
||
|
||
Fix va_arg type location
|
||
* cp-tree.h (build_x_va_arg): Take an additional location
|
||
parameter.
|
||
* call.c (build_x_va_arg): Take a loc parameter for the location
|
||
of the type of the va_arg expression.
|
||
* parser.c (cp_parser_primary_expression): Pass the type of the
|
||
type in the va_arg expression to build_x_va_arg.
|
||
* pt.c (tsubst_copy): Adjust calls to build_x_va_arg.
|
||
|
||
Make conversion warnings work on NULL with -ftrack-macro-expansion
|
||
* call.c (conversion_null_warnings): Use the new
|
||
expansion_point_location_if_in_system_header.
|
||
* cvt.c (build_expr_type_conversion): Likewise.
|
||
* typeck.c (cp_build_binary_op): Likewise.
|
||
|
||
2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* typeck.c (convert_for_assignment): Replace
|
||
Wmissing-format-attribute with Wsuggest-attribute=format.
|
||
* call.c (convert_for_arg_passing): Likewise.
|
||
|
||
2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53096
|
||
* class.c (check_bases_and_members): Implement core/1333, do not
|
||
disallow defaulted in the class body non-const ref special members.
|
||
|
||
2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52363
|
||
* call.c (tourney, perform_overload_resolution,
|
||
build_operator_new_call, build_user_type_conversion_1,
|
||
build_user_type_conversion, perform_overload_resolution,
|
||
add_template_candidate, add_template_candidate_real,
|
||
add_template_conv_candidate, add_builtin_candidates,
|
||
add_builtin_candidate, build_builtin_candidate,
|
||
add_conv_candidate, add_function_candidate, implicit_conversion,
|
||
reference_binding, build_list_conv, conditional_conversion,
|
||
add_candidates, can_convert_array, build_aggr_conv,
|
||
build_array_conv, build_complex_conv, conditional_conversion):
|
||
Add tsubst_flags_t parameter.
|
||
(joust): Likewise, use it to handle SFINAE as if pedantic.
|
||
(add_list_candidates, build_integral_nontype_arg_conv,
|
||
perform_overload_resolution, build_new_function_call,
|
||
build_operator_new_call, build_op_call_1,
|
||
build_conditional_expr_1, build_new_op_1, convert_like_real,
|
||
convert_arg_to_ellipsis, convert_default_arg,
|
||
convert_for_arg_passing, build_over_call,
|
||
build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
|
||
perform_implicit_conversion_flags,
|
||
perform_direct_initialization_if_possible,
|
||
initialize_reference): Adjust.
|
||
* typeck.c (casts_away_constness, casts_away_constness_r):
|
||
Add tsubst_flags_t parameter.
|
||
(convert_arguments, check_for_casting_away_constness,
|
||
build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
|
||
Adjust.
|
||
* decl.c (reshape_init_r, check_default_argument): Likewise.
|
||
* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
|
||
* pt.c (convert_nontype_argument, check_non_deducible_conversion):
|
||
Likewise.
|
||
* init.c (build_new_1): Likewise.
|
||
* cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
|
||
build_expr_type_conversion, ): Likewise.
|
||
* search.c (check_final_overrider): Likewise.
|
||
* cp-tree.h (build_user_type_conversion,
|
||
build_operator_new_call, can_convert, can_convert_arg,
|
||
can_convert_arg_bad, convert_default_arg,
|
||
convert_arg_to_ellipsis, convert_for_arg_passing):
|
||
Adjust declaration.
|
||
|
||
2012-04-22 Jan Hubicka <jh@suse.cz>
|
||
|
||
* decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
|
||
gets finalized.
|
||
|
||
2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/44774
|
||
* typeck.c (composite_pointer_type): Likewise.
|
||
(cxx_sizeof_or_alignof_type): Likewise.
|
||
(cp_build_array_ref): Likewise.
|
||
(cp_build_function_call_vec): Likewise.
|
||
(cp_build_addr_expr_1): Likewise.
|
||
(convert_member_func_to_ptr): Likewise.
|
||
* decl.c (check_tag_decl): Likewise.
|
||
(check_static_variable_definition): Likewise.
|
||
(compute_array_index_type): Likewise.
|
||
(create_array_type_for_decl): Likewise.
|
||
(grokdeclarator): Likewise.
|
||
(grok_op_properties): Likewise.
|
||
* error.c (maybe_warn_cpp0x): Likewise.
|
||
* pt.c (maybe_process_partial_specialization): Likewise.
|
||
(convert_template_argument): Likewise.
|
||
(do_decl_instantiation): Likewise.
|
||
(do_type_instantiation): Likewise.
|
||
* parser.c (cp_parser_primary_expression): Likewise.
|
||
(cp_parser_postfix_expression): Likewise.
|
||
(cp_parser_unary_expression): Likewise.
|
||
(cp_parser_question_colon_clause): Likewise.
|
||
(cp_parser_lambda_introducer): Likewise.
|
||
(cp_parser_lambda_declarator_opt): Likewise.
|
||
(cp_parser_compound_statement): Likewise.
|
||
(cp_parser_jump_statement): Likewise.
|
||
(cp_parser_declaration_seq_opt): Likewise.
|
||
(cp_parser_enum_specifier): Likewise.
|
||
(cp_parser_enumerator_list): Likewise.
|
||
(cp_parser_initializer_list): Likewise.
|
||
(cp_parser_member_declaration): Likewise.
|
||
* call.c (build_conditional_expr_1): Likewise.
|
||
* friend.c (make_friend_class): Likewise.
|
||
* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
|
||
|
||
2012-04-21 Jan Hubicka <jh@suse.cz>
|
||
|
||
* method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
|
||
* decl2.c (mark_needed): Likewise.
|
||
(decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.
|
||
|
||
* decl2.c (cxx_callgraph_analyze_expr): Remove.
|
||
* cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
|
||
* cp-tree.h (cxx_callgraph_analyze_expr): Remove.
|
||
|
||
2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR 35441
|
||
* typeck.c (cp_build_function_call_vec): Do not pretty-print
|
||
expressions when caret is enabled.
|
||
|
||
2012-04-20 Jan Hubicka <jh@suse.cz>
|
||
|
||
PR target/53042
|
||
* decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
|
||
list when target has no support for it.
|
||
|
||
2012-04-20 Michael Matz <matz@suse.de>
|
||
|
||
* error.c (pedwarn_cxx98): Move va_end call after user
|
||
of the va_list.
|
||
|
||
2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52422
|
||
* cp-tree.h (build_addr_func, decay_conversion,
|
||
get_member_function_from_ptrfunc,
|
||
build_m_component_ref, convert_member_func_to_ptr):
|
||
Add tsubst_flags_t parameter.
|
||
* typeck.c (cp_default_conversion): Add.
|
||
(decay_conversion, default_conversion,
|
||
get_member_function_from_ptrfunc, convert_member_func_to_ptr):
|
||
Add tsubst_flags_t parameter and use it throughout.
|
||
(cp_build_indirect_ref, cp_build_array_ref,
|
||
cp_build_function_call_vec, convert_arguments, build_x_binary_op,
|
||
cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
|
||
build_const_cast_1, expand_ptrmemfunc_cst,
|
||
convert_for_initialization): Adjust.
|
||
* init.c (build_vec_init): Adjust.
|
||
* decl.c (grok_reference_init, get_atexit_node): Likewise.
|
||
* rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
|
||
* except.c (build_throw): Likewise.
|
||
* typeck2.c (build_x_arrow): Likewise.
|
||
(build_m_component_ref): Add tsubst_flags_t parameter and
|
||
use it throughout.
|
||
* pt.c (convert_nontype_argument): Adjust.
|
||
* semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
|
||
* decl2.c (build_offset_ref_call_from_tree): Likewise.
|
||
* call.c (build_addr_func): Add tsubst_flags_t parameter and
|
||
use it throughout.
|
||
(build_call_a, build_conditional_expr_1, build_new_op_1,
|
||
convert_like_real, convert_arg_to_ellipsis, build_over_call,
|
||
build_special_member_call): Adjust.
|
||
* cvt.c (cp_convert_to_pointer, force_rvalue,
|
||
build_expr_type_conversion): Likewise.
|
||
|
||
2012-04-17 Tom de Vries <tom@codesourcery.com>
|
||
|
||
* cp-gimplify.c (begin_bc_block): Add location parameter and use as
|
||
location argument to create_artificial_label.
|
||
(finish_bc_block): Change return type to void. Remove body_seq
|
||
parameter, and add block parameter. Append label to STMT_LIST and
|
||
return in block.
|
||
(gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
|
||
(gimplify_do_stmt, gimplify_switch_stmt): Remove function.
|
||
(genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
|
||
(genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
|
||
(genericize_break_stmt, genericize_omp_for_stmt): New function.
|
||
(cp_gimplify_omp_for): Remove bc_continue processing.
|
||
(cp_gimplify_expr): Genericize VEC_INIT_EXPR.
|
||
(cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
|
||
CONTINUE_STMT, and BREAK_STMT as unreachable.
|
||
(cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
|
||
SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
|
||
(cp_genericize_tree): New function, factored out of ...
|
||
(cp_genericize): ... this function.
|
||
|
||
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52599
|
||
* semantics.c (build_constexpr_constructor_member_initializers):
|
||
Check for function-try-block as function-body.
|
||
|
||
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/53003
|
||
* parser.c (cp_parser_member_declaration): Check that
|
||
initializer_token_start is non null before dereferencing it.
|
||
|
||
2012-04-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/38543
|
||
* pt.c (determine_specialization): Instead of comparing the number
|
||
of parms, check that tsubst gives the right answer.
|
||
|
||
PR c++/52008
|
||
* pt.c (process_partial_specialization): Complain about a partial
|
||
specialization with fewer args than primary template parms.
|
||
|
||
PR c++/50830
|
||
* pt.c (convert_template_argument): Handle template template
|
||
argument packs.
|
||
|
||
PR c++/50303
|
||
* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
|
||
template parameters.
|
||
|
||
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/49152
|
||
* call.c (op_error): Print types; when flag_diagnostics_show_caret
|
||
is false print expressions too.
|
||
(op_error_string): Add.
|
||
|
||
2012-04-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51148
|
||
* friend.c (make_friend_class): Call check_for_bare_parameter_packs.
|
||
|
||
2012-04-16 Jan Hubicka <jh@suse.cz>
|
||
|
||
* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
|
||
walkers to walk cgraph and varpool.
|
||
|
||
2012-04-15 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/47220
|
||
* pt.c (coerce_template_parameter_pack): Check for error_mark_node.
|
||
|
||
PR c++/52292
|
||
PR c++/52380
|
||
* pt.c (coerce_template_parms): Even if we aren't converting we
|
||
want to expand argument packs.
|
||
|
||
PR c++/52706
|
||
* mangle.c (write_type): nullptr_t is a builtin type.
|
||
|
||
2012-04-14 Jan Hubicka <jh@suse.cz>
|
||
|
||
* tree.c: Update field referenced for new cgraph/varpool layout.
|
||
* decl2.c: Likewise.
|
||
|
||
2012-04-13 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52824
|
||
* pt.c (any_pack_expanson_args_p): New.
|
||
(coerce_template_parms): Use it.
|
||
|
||
PR c++/52905
|
||
* call.c (joust): Handle comparing list and non-list ctors.
|
||
|
||
PR c++/52915
|
||
* decl2.c (finish_anon_union): Use cp_finish_decl.
|
||
* error.c (dump_function_name): Avoid showing anonymous "name".
|
||
|
||
2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
|
||
|
||
PR c++/52465
|
||
* parser.c (cp_parser_class_name): Call strip_using_decl and
|
||
return the target decl.
|
||
* name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
|
||
to be stripped is NULL_TREE.
|
||
(qualify_lookup): Call strip_using_decl and perform some checks on
|
||
the target decl.
|
||
|
||
2012-04-11 Jason Merrill <jason@redhat.com>
|
||
|
||
PR debug/45088
|
||
* decl.c (grokdeclarator): Strip the injected-class-name typedef
|
||
if we are building a declaration or compound type.
|
||
|
||
PR c++/52906
|
||
* decl.c (check_tag_decl): Don't complain about attributes if we
|
||
don't even have a type.
|
||
|
||
2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* cvt.c (convert_to_void): Update comment.
|
||
|
||
2012-04-05 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52596
|
||
* semantics.c (finish_non_static_data_member): In templates, pass
|
||
the decl to build_qualified_name.
|
||
* tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL.
|
||
|
||
2012-04-04 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52845
|
||
* decl.c (finish_function): Update fntype after deducing return type.
|
||
|
||
2012-04-03 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52796
|
||
* pt.c (tsubst_initializer_list): A pack expansion with no elements
|
||
means value-initialization.
|
||
|
||
2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/50043
|
||
* class.c (deduce_noexcept_on_destructor,
|
||
deduce_noexcept_on_destructors): New.
|
||
(check_bases_and_members): Call the latter.
|
||
* decl.c (grokfndecl): Call the former.
|
||
* method.c (implicitly_declare_fn): Not static.
|
||
* cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn):
|
||
Declare
|
||
|
||
2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52718
|
||
* decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
|
||
warn for a zero as null pointer constant default argument.
|
||
|
||
2012-03-29 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52685
|
||
* tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
|
||
|
||
2012-03-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/52759
|
||
* decl.c (start_decl): Don't call maybe_apply_pragma_weak
|
||
if processing_template_decl.
|
||
|
||
2012-03-29 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52743
|
||
* call.c (compare_ics): Handle ck_aggr like ck_list.
|
||
|
||
2012-03-28 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52746
|
||
* typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
|
||
we didn't get an explicit scope.
|
||
* pt.c (tsubst_baselink): Likewise.
|
||
|
||
2012-03-28 Richard Guenther <rguenther@suse.de>
|
||
|
||
* typeck2.c (process_init_constructor_array): Use the proper
|
||
type for computing the array length.
|
||
|
||
2012-03-27 Meador Inge <meadori@codesourcery.com>
|
||
|
||
PR c++/52672
|
||
* semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
|
||
stripped child trees that are not pointer types.
|
||
|
||
2012-03-21 Jason Merrill <jason@redhat.com>
|
||
|
||
Implement return type deduction for normal functions with -std=c++1y.
|
||
* cp-tree.h (FNDECL_USED_AUTO): New macro.
|
||
(LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
|
||
(dependent_lambda_return_type_node): Remove.
|
||
(CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
|
||
(struct language_function): Add x_auto_return_pattern field.
|
||
(current_function_auto_return_pattern): New.
|
||
(enum tsubst_flags): Add tf_partial.
|
||
* decl.c (decls_match): Handle auto return comparison.
|
||
(duplicate_decls): Adjust error message for auto return.
|
||
(cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
|
||
(cp_finish_decl): Don't do auto deduction for functions.
|
||
(grokdeclarator): Allow auto return without trailing return type in
|
||
C++1y mode.
|
||
(check_function_type): Defer checking of deduced return type.
|
||
(start_preparsed_function): Set current_function_auto_return_pattern.
|
||
(finish_function): Set deduced return type to void if not previously
|
||
deduced.
|
||
* decl2.c (change_return_type): Handle error_mark_node.
|
||
(mark_used): Always instantiate functions with deduced return type.
|
||
Complain about use if deduction isn't done.
|
||
* parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
|
||
initial return type.
|
||
(cp_parser_lambda_body): Don't deduce return type in a template.
|
||
(cp_parser_conversion_type_id): Allow auto in C++1y.
|
||
* pt.c (instantiate_class_template_1): Don't mess with
|
||
LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
|
||
(tsubst_copy_and_build): Likewise.
|
||
(fn_type_unification, tsubst): Don't reduce the template parm level
|
||
of 'auto' during deduction.
|
||
(unify): Compare 'auto' specially.
|
||
(get_bindings): Change test.
|
||
(always_instantiate_p): Always instantiate functions with deduced
|
||
return type.
|
||
(do_auto_deduction): Handle error_mark_node and lambda context.
|
||
Don't check for use in initializer.
|
||
(contains_auto_r): Remove.
|
||
* search.c (lookup_conversions_r): Handle auto conversion function.
|
||
* semantics.c (lambda_return_type): Handle null return. Don't mess
|
||
with dependent_lambda_return_type_node.
|
||
(apply_deduced_return_type): Rename from apply_lambda_return_type.
|
||
* typeck.c (merge_types): Handle auto.
|
||
(check_return_expr): Do auto deduction.
|
||
* typeck2.c (add_exception_specifier): Fix complain check.
|
||
|
||
2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52487
|
||
* class.c (check_field_decls): Call literal_type_p only
|
||
on complete types.
|
||
|
||
2012-03-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/52671
|
||
* decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
|
||
on CLASS_TYPE_P types.
|
||
|
||
2012-03-20 Jason Merrill <jason@redhat.com>
|
||
|
||
* lex.c (init_reswords): Use >= for cxx_dialect test.
|
||
* parser.c (cp_parser_exception_specification_opt): Likewise.
|
||
|
||
* mangle.c (write_type): Handle 'auto'.
|
||
* init.c (build_new): Don't do auto deduction where it might
|
||
affect template mangling.
|
||
|
||
PR c++/52510
|
||
* decl.c (reshape_init_class): Handle repeated reshaping.
|
||
* search.c (lookup_field_1): Add sanity check.
|
||
|
||
2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/14710
|
||
* cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare.
|
||
* tree.c (xvalue_p): Define.
|
||
* typeck.c (maybe_warn_about_useless_cast): Define.
|
||
(build_reinterpret_cast, build_const_cast,
|
||
build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast.
|
||
* rtti.c (build_dynamic_cast): Likewise.
|
||
* pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
|
||
c_inhibit_evaluation_warnings before/after the build_* calls.
|
||
|
||
2012-03-15 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52582
|
||
* method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
|
||
|
||
2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c++/44783
|
||
* error.c (print_instantiation_partial_context): Use
|
||
template_backtrace_limit.
|
||
|
||
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
|
||
|
||
2012-03-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/52521
|
||
* parser.c (lookup_literal_operator): Return fn only if
|
||
processed all arguments from args vector and argtypes is
|
||
void_list_node.
|
||
|
||
2012-01-30 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
PR c++/51641
|
||
* cp-tree.h (template_type_parameter_p): Declare new function.
|
||
(parameter_of_template_p): Remove.
|
||
* pt.c (template_type_parameter_p): Define new function.
|
||
(parameter_of_template_p): Remove.
|
||
* name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
|
||
on parameter_of_template_p anymore. Compare the level of the
|
||
template parameter to the depth of the template.
|
||
|
||
2011-12-15 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
* call.c (standard_conversion, build_integral_nontype_arg_conv)
|
||
(build_new_op_1, convert_like_real, is_subseq)
|
||
(maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
|
||
(joust): Use next_conversion instead of accessing fields of struct
|
||
conversion directly.
|
||
|
||
2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/52299
|
||
* pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
|
||
division by zero warnings.
|
||
|
||
2012-03-08 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem,
|
||
build_ptrmemfunc): Consistently forward the tsubst_flags_t
|
||
parameter.
|
||
* call.c (resolve_args): Likewise.
|
||
|
||
2012-03-07 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52521
|
||
* mangle.c (write_literal_operator_name): The length comes after the
|
||
operator prefix.
|
||
|
||
2012-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* pt.c (local_specializations): Change from htab_t into
|
||
struct pointer_map_t *.
|
||
(retrieve_local_specializations, register_local_specialization,
|
||
tsubst_pack_expansion, instantiate_decl): Adjust users.
|
||
(eq_local_specializations, hash_local_specialization): Remove.
|
||
|
||
2012-03-05 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51930
|
||
* decl2.c (determine_visibility): Correct calculation of class
|
||
args depth.
|
||
* decl.c (check_tag_decl): Adjust warning.
|
||
|
||
* method.c (synthesized_method_walk): Cleanups don't affect the EH
|
||
spec either.
|
||
|
||
2012-03-03 Jason Merrill <jason@redhat.com>
|
||
|
||
* init.c (perform_member_init): Cope with uninstantiated NSDMI.
|
||
|
||
Core 1270
|
||
* call.c (build_aggr_conv): Call reshape_init.
|
||
(convert_like_real): Likewise.
|
||
* typeck2.c (process_init_constructor): Clear TREE_CONSTANT if
|
||
not all constant.
|
||
|
||
* mangle.c (write_nested_name): Use decl_mangling_context.
|
||
(write_prefix, write_template_prefix): Likewise.
|
||
|
||
PR c++/36797
|
||
* mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
|
||
|
||
* class.c (add_method): Always build an OVERLOAD for using-decls.
|
||
* search.c (lookup_member): Handle getting an OVERLOAD for a
|
||
single function.
|
||
|
||
2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51989
|
||
* typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and
|
||
propagate it.
|
||
* cp-tree.h (build_x_arrow): Adjust prototype.
|
||
* pt.c (tsubst_copy_and_build): Adjust call.
|
||
* parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
|
||
|
||
2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* name-lookup.c (binding_to_template_parms_of_scope_p): Clean up.
|
||
|
||
2012-02-29 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51930
|
||
* decl.c (check_tag_decl): Move warning for misplaced attributes here.
|
||
(shadow_tag): From here.
|
||
* parser.c (cp_parser_explicit_instantiation): Don't warn here.
|
||
|
||
2012-02-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/52312
|
||
* typeck.c (check_literal_operator_args): Initialize *long_double_p
|
||
and *long_long_unsigned_p even if processing_template_decl.
|
||
|
||
2012-02-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52248
|
||
* decl.c (define_label): Use timevar_cond_start/stop.
|
||
|
||
2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
|
||
|
||
PR c++/52126
|
||
* decl.c (xref_basetypes): call dependent_scope_p instead of
|
||
dependent_type_p.
|
||
|
||
2012-02-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51415
|
||
* error.c (dump_expr): Handle lambda closures specifically.
|
||
|
||
2012-02-14 Jason Merrill <jason@redhat.com>
|
||
|
||
* parser.c (cp_parser_explicit_instantiation): Give a warning
|
||
for ignored attributes on explicit class instantiation.
|
||
|
||
2012-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/52247
|
||
* pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
|
||
lookup_label on label's name and set TREE_USED.
|
||
|
||
2012-02-14 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/39055
|
||
* decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
|
||
|
||
2012-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/52181
|
||
* decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
|
||
newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
|
||
|
||
2012-02-07 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51675
|
||
* semantics.c (cx_check_missing_mem_inits): Handle unions.
|
||
Fix constexpr default constructor logic.
|
||
|
||
PR c++/52035
|
||
* pt.c (tsubst): Strip uninstantiated typedef.
|
||
|
||
2012-02-06 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52088
|
||
* cvt.c (build_expr_type_conversion): Check for template conversion.
|
||
|
||
2012-01-31 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/52043
|
||
* cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
|
||
* pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
|
||
(tsubst_pack_expansion): Check it.
|
||
|
||
2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51327
|
||
* class.c (explain_non_literal_class): Correctly handle implicitly
|
||
deleted constructors.
|
||
|
||
2012-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/51852
|
||
* pt.c (tsubst_pack_expansion): Delete and restore
|
||
local_specialization whenever need_local_specialization, not just
|
||
when saved_local_specializations is non-NULL.
|
||
|
||
2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51370
|
||
* error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
|
||
as TREE_OPERAND (t, 1).
|
||
|
||
2012-01-24 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51917
|
||
* decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
|
||
|
||
PR c++/51973
|
||
* tree.c (called_fns_equal): Check template args.
|
||
(cp_tree_equal): Call it.
|
||
|
||
2012-01-24 Aldy Hernandez <aldyh@redhat.com>
|
||
Patrick Marlier <patrick.marlier@gmail.com>
|
||
|
||
PR c++/51928
|
||
* class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
|
||
thunk for set_one_vmethod_tm_attributes.
|
||
|
||
2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51223
|
||
* call.c (build_over_call): Check for error_mark_node as
|
||
TREE_VALUE when default arguments are processed.
|
||
|
||
2012-01-23 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51930
|
||
* decl2.c (determine_visibility): Check for visibility attribute
|
||
on template specialization.
|
||
|
||
2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51398
|
||
* pt.c (parameter_of_template_p): Skip error_mark_node parameters.
|
||
|
||
2012-01-23 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51925
|
||
* class.c (add_method): Set OVL_USED for using-decls.
|
||
* tree.c (ovl_scope): New.
|
||
* cp-tree.h: Declare it.
|
||
* parser.c (cp_parser_template_name): Use it.
|
||
* semantics.c (baselink_for_fns): Likewise.
|
||
* name-lookup.c (set_inherited_value_binding_p): Likewise.
|
||
|
||
2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51402
|
||
* pt.c (lookup_template_class_1): Check context returned by
|
||
tsubst for error_mark_node.
|
||
|
||
2012-01-19 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR c++/51344
|
||
* decl2.c (save_template_attributes): Use merge_attributes
|
||
instead of chaining up via TREE_CHAIN.
|
||
|
||
2012-01-19 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51889
|
||
* class.c (finish_struct): Call add_method here for function usings.
|
||
* semantics.c (finish_member_declaration): Not here.
|
||
|
||
2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51225
|
||
* typeck2.c (store_init_value): Within a template guard
|
||
cxx_constant_value with require_potential_constant_expression.
|
||
* pt.c (convert_nontype_argument): Likewise.
|
||
|
||
2012-01-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/51854
|
||
* mangle.c (write_template_arg_literal): Handle complex.
|
||
|
||
2012-01-16 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51827
|
||
* mangle.c (mangle_decl): Don't mangle uninstantiated templates.
|
||
|
||
PR c++/51868
|
||
* typeck.c (build_static_cast_1): Handle bit-fields properly.
|
||
|
||
2012-01-13 Ian Lance Taylor <iant@google.com>
|
||
|
||
PR c++/50012
|
||
* typeck.c (enum_cast_to_int): New static function.
|
||
(cp_build_binary_op): When handling warn_sign_compare, don't test
|
||
for TREE_NO_WARNING. Do call enum_cast_to_int.
|
||
* call.c (avoid_sign_compare_warnings): Remove static function.
|
||
(build_new_op_1): Don't call avoid_sign_compare_warnings.
|
||
|
||
2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* decl2.c: Do not include tree-mudflap.h
|
||
* semantics.c: Likewise.
|
||
|
||
2012-01-13 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/20681
|
||
* semantics.c (finish_break_stmt): Avoid adding an unreachable
|
||
BREAK_STMT.
|
||
|
||
PR c++/51813
|
||
* decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
|
||
when reducing the visibility.
|
||
|
||
PR c++/51620
|
||
* class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
|
||
|
||
2012-01-12 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51714
|
||
* pt.c (value_dependent_expression_p): Treat STMT_EXPR as
|
||
value-dependent.
|
||
|
||
2012-01-13 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
PR c++/51633
|
||
* semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
|
||
Set the pointer to the last block of the constructor to the
|
||
current statement.
|
||
(build_constexpr_constructor_member_initializers): Get
|
||
build_data_member_initialization a chance to deal with more
|
||
statements before we choke.
|
||
|
||
2012-01-12 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/48051
|
||
* mangle.c (write_expression): Mangle BASELINK scope if
|
||
BASELINK_QUALIFIED_P.
|
||
* search.c (adjust_result_of_qualified_name_lookup): Set
|
||
BASELINK_QUALIFIED_P.
|
||
* tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
|
||
* parser.c (cp_parser_postfix_dot_deref_expression): Don't call
|
||
adjust_result_of_qualified_name_lookup for non-qualified names.
|
||
|
||
PR c++/51403
|
||
* pt.c (unify): Handle error_mark_node.
|
||
|
||
2012-01-11 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51565
|
||
* call.c (standard_conversion): For ptrmemfuncs, compare the
|
||
static_fn_types.
|
||
|
||
PR c++/51818
|
||
* mangle.c (find_substitution): A type is only a substitution
|
||
match if we're looking for a type.
|
||
(write_nested_name): Use decl_mangling_context.
|
||
|
||
* decl.c (decls_match): Assert that the arguments are decls.
|
||
|
||
PR c++/51613
|
||
* pt.c (resolve_overloaded_unification): Compare types with
|
||
same_type_p, not decls_match.
|
||
|
||
2012-01-10 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/51614
|
||
* class.c (build_base_path): Diagnose ambiguous base.
|
||
|
||
PR c++/51433
|
||
* semantics.c (cxx_eval_call_expression): Always retry previously
|
||
non-constant expressions.
|
||
|
||
2012-01-06 Jason Merrill <jason@redhat.com>
|
||
|
||
DR 686
|
||
PR c++/47450
|
||
* parser.c (cp_parser_new_expression): Set
|
||
type_definition_forbidden_message.
|
||
|
||
PR c++/6057
|
||
PR c++/48051
|
||
PR c++/50855
|
||
PR c++/51322
|
||
* mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
|
||
THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
|
||
PREDECREMENT_EXPR.
|
||
(write_template_arg): Fix mangling of class-scope functions and
|
||
argument packs.
|
||
(mangle_decl): Update suggested -fabi-version argument.
|
||
* operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
|
||
DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
|
||
* tree.c (dependent_name): No longer static.
|
||
* cp-tree.h: Declare it.
|
||
* pt.c (unify): Defer handling of unconverted functions.
|
||
|
||
* mangle.c (mangle_decl): Don't generate mangling aliases
|
||
for maybe-in-charge [cd]tors.
|
||
|
||
* error.c (dump_expr): Print type of CONSTRUCTOR.
|
||
|
||
2012-01-05 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
PR c++/51541
|
||
* parser.c (cp_parser_alias_declaration): Get out early upon
|
||
errors in the identifier or the attributes.
|
||
|
||
2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51064
|
||
* pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
|
||
the tree returned by build_x_binary_op.
|
||
|
||
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51738
|
||
* parser.c (cp_parser_postfix_open_square_expression): Handle
|
||
postfix-expression [ braced-init-list ].
|
||
|
||
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/29273
|
||
* rtti.c (build_dynamic_cast_1): In case of T a pointer type,
|
||
call decay_conversion on v.
|
||
|
||
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/15867
|
||
* decl.c (duplicate_decls): With -Wredundant-decls don't warn for
|
||
declaration followed by specialization.
|
||
|
||
2012-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/51669
|
||
* semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
|
||
on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
|
||
|
||
2012-01-02 Jason Merrill <jason@redhat.com>
|
||
|
||
DR 1359
|
||
PR c++/51675
|
||
* method.c (walk_field_subobs): Don't check for uninitialized
|
||
fields in a union.
|
||
(synthesized_method_walk): Check here.
|
||
|
||
DR 325
|
||
PR c++/51666
|
||
* parser.c (cp_parser_cache_defarg): Split out...
|
||
(cp_parser_parameter_declaration): ...from here.
|
||
(cp_parser_save_nsdmi): Use it.
|
||
(cp_parser_cache_group): Remove CPP_COMMA support.
|
||
|
||
2012-01-02 Dodji Seketeli <dodji@redhat.com>
|
||
|
||
PR c++/51462
|
||
* semantics.c (cx_check_missing_mem_inits): Don't assert in case
|
||
of error.
|
||
|
||
2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/20140
|
||
* typeck2.c (digest_init_r): Use copy_init when initializing
|
||
an array of chars.
|
||
|
||
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/16603
|
||
* decl.c (build_enumerator): Don't call perform_integral_promotions
|
||
on the value.
|
||
|
||
2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/51379
|
||
* typeck.c (build_reinterpret_cast_1): Implement resolution of
|
||
DR 799.
|
||
|
||
2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
|
||
|
||
* parser.c (cp_parser_using_declaration): Add a warning about
|
||
deprecated access declarations when no errors were encountered
|
||
while parsing the access declaration. Save the first token in
|
||
order to emit the warning at the right place.
|
||
|
||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|