X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=dcac8e7d1063523d2afbdac894ce547e85331582;hb=f8ec35c322fefe5609439a0dcfff0da0acbc9f72;hp=05e8566e493d7a6767d4f81411df81a844225bcc;hpb=742b6dc476c544389f109b03d221262a4cc55aaf;p=gcc.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 05e8566e493..dcac8e7d106 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,104 @@ +2019-01-27 Marek Polacek + + PR c++/88815 - narrowing conversion lost in decltype. + PR c++/78244 - narrowing conversion in template not detected. + * cp-tree.h (CONSTRUCTOR_IS_DEPENDENT): New. + * pt.c (instantiation_dependent_r): Consider a CONSTRUCTOR with + CONSTRUCTOR_IS_DEPENDENT instantiation-dependent. + * semantics.c (finish_compound_literal): When the compound literal + isn't instantiation-dependent and the type isn't type-dependent, + fall back to the normal processing. Set CONSTRUCTOR_IS_DEPENDENT. + + PR c++/89024 - ICE with incomplete enum type. + * call.c (standard_conversion): When converting an + ARITHMETIC_TYPE_P to an incomplete type, return NULL. + +2019-01-25 Paolo Carlini + + PR c++/88969 + * call.c (build_op_delete_call): Implement 7.6.2.5/(10.1). + * decl2.c (coerce_delete_type): Use build_pointer_type instead + of TYPE_POINTER_TO. + +2019-01-24 Jason Merrill + + PR c++/89001 - mangling of reference temporaries + * cp-tree.h (struct saved_scope): Add ref_temp_count. + (current_ref_temp_count): New macro. + * mangle.c (mangle_ref_init_variable): Use it. + * typeck2.c (store_init_value): Clear it. + * call.c (make_temporary_var_for_ref_to_temp): Copy public and + comdat. + +2019-01-24 Jakub Jelinek + + PR c++/88976 + * semantics.c (finish_omp_cancel): Diagnose more than one if + on #pragma omp cancel with different modifiers. Use + maybe_convert_cond when not in template or build_x_binary_op + otherwise. + +2019-01-23 Marek Polacek + + PR c++/88757 - qualified name treated wrongly as type. + * parser.c (cp_parser_direct_declarator): Don't treat qualified-ids + in parameter-list as types if name lookup for declarator-id didn't + find one or more function templates. + +2019-01-23 Jakub Jelinek + + PR c/44715 + * cp-gimplify.c (genericize_cp_loop): Call begin_bc_block only + after genericizing cond and incr expressions. + + PR c++/88984 + * cp-gimplify.c (genericize_switch_stmt): Move cond genericization + before the begin_bc_block call. + +2019-01-21 Jason Merrill + + PR c++/87893 - constexpr ctor ICE on ARM. + PR c++/88293 - ICE with comma expression. + * constexpr.c (initialized_type): Don't shortcut non-void type. + Handle COMPOUND_EXPR. + (cxx_eval_outermost_constant_expr): Return early for void type. + +2019-01-21 Jakub Jelinek + + PR c++/88949 + * optimize.c (cxx_copy_decl): New function. + (clone_body): Use it instead of copy_decl_no_change. + + PR sanitizer/88901 + * typeck.c (cp_build_binary_op): Don't instrument + SANITIZE_POINTER_COMPARE if processing_template_decl. + (pointer_diff): Similarly for SANITIZE_POINTER_SUBTRACT. + +2019-01-18 Jason Merrill + + PR c++/88875 - error with explicit list constructor. + * call.c (reference_binding): Don't modify EXPR. Set + need_temporary_p on the ck_user conversion for a temporary. + (convert_like_real): Check it. + +2019-01-18 H.J. Lu + + PR c/51628 + PR c/88664 + * call.c (convert_for_arg_passing): Upate the + warn_for_address_or_pointer_of_packed_member call. + * typeck.c (convert_for_assignment): Likewise. + +2019-01-17 Jason Merrill + + PR c++/86205 - ICE with ?: of throw and template-id. + * pt.c (resolve_nondeduced_context_or_error): Split out from... + * typeck.c (decay_conversion): ...here. + * call.c (build_conditional_expr_1): Use it. + + PR c++/86740, ICE with constexpr if and nested generic lambdas. + * tree.c (cp_walk_subtrees): Handle LAMBDA_EXPR. + 2019-01-17 Paolo Carlini * decl.c (grokdeclarator): Use typespec_loc in error messages