X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=31b69bf725531e62bae070804c7015c620e37f9b;hb=65791f426fc950b0af4e6e2ef675c213e623b16f;hp=854df5afe9174ba3d161e1c1203c6e5eff2850c1;hpb=8c7dbea9f193ae21d193453d7a9eb6d2089618d6;p=gcc.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 854df5afe91..31b69bf7255 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,4 +1,155 @@ -2017-11-14 Boris Kolpackov +2017-12-01 Jakub Jelinek + + PR c/79153 + * cp-gimplify.c (genericize_switch_stmt): Emit LABEL_EXPR for the + break label into SWITCH_BODY instead of after it and set + SWITCH_BREAK_LABEL_P on it. + * parser.c (cp_parser_objc_expression): Add FALLTHRU comment to avoid + -Wimplicit-fallthrough warning. + +2017-11-30 Jason Merrill + + PR c++/82219 - bogus -Wignored-qualifiers with template + * pt.c (tsubst_copy_and_build) [STATIC_CAST_EXPR]: Suppress + -Wignored-qualifiers. + +2017-11-29 David Malcolm + + * parser.c (cp_parser_unary_expression): Generate a location for + "noexcept". + (cp_parser_trait_expr): Generate and return a location_t, + converting the return type from tree to cp_expr. + (cp_parser_static_assert): Pass location of the condition to + finish_static_assert, rather than that of the "static_assert" + token, where available. + +2017-11-29 Paolo Carlini + + PR c++/82293 + * lambda.c (nonlambda_method_basetype): Don't use LAMBDA_TYPE_P + on a null type. + +2017-11-29 Jason Merrill + + PR c++/82760 - memory corruption with aligned new. + * call.c (build_operator_new_call): Update *args if we add the + align_arg. + +2017-11-28 Jakub Jelinek + + PR sanitizer/81275 + * cp-tree.h (SWITCH_STMT_ALL_CASES_P): Define. + (SWITCH_STMT_NO_BREAK_P): Define. + (note_break_stmt, note_iteration_stmt_body_start, + note_iteration_stmt_body_end): Declare. + * decl.c (struct cp_switch): Add has_default_p, break_stmt_seen_p + and in_loop_body_p fields. + (push_switch): Clear them. + (pop_switch): Set SWITCH_STMT_CANNOT_FALLTHRU_P if has_default_p + and !break_stmt_seen_p. Assert in_loop_body_p is false. + (note_break_stmt, note_iteration_stmt_body_start, + note_iteration_stmt_body_end): New functions. + (finish_case_label): Set has_default_p when both low and high + are NULL_TREE. + * parser.c (cp_parser_iteration_statement): Use + note_iteration_stmt_body_start and note_iteration_stmt_body_end + around parsing iteration body. + * pt.c (tsubst_expr): Likewise. + * cp-objcp-common.c (cxx_block_may_fallthru): Return false for + SWITCH_STMT which contains no BREAK_STMTs, contains a default: + CASE_LABEL_EXPR and where SWITCH_STMT_BODY isn't empty and + can't fallthru. + * semantics.c (finish_break_stmt): Call note_break_stmt. + * cp-gimplify.c (genericize_switch_stmt): Copy SWITCH_STMT_ALL_CASES_P + bit to SWITCH_ALL_CASES_P. Assert that if SWITCH_STMT_NO_BREAK_P then + the break label is not TREE_USED. + +2017-11-28 Julia Koval + Sebastian Peryt + + * Make-lang.in (cp/cp-array-notation.o, cp/cp-cilkplus.o): Delete. + * call.c (convert_for_arg_passing, build_cxx_call): Remove cilkplus. + * constexpr.c (potential_constant_expression_1): Ditto. + * cp-array-notation.c: Delete. + * cp-cilkplus.c: Ditto. + * cp-cilkplus.h: Ditto. + * cp-gimplify.c (cp_gimplify_expr, cp_fold_r, cp_genericize): Remove + cilkplus condition. + * cp-objcp-common.c (ARRAY_NOTATION_REF): Delete. + * cp-tree.h (cilkplus_an_triplet_types_ok_p): Delete. + * decl.c (grokfndecl, finish_function): Remove cilkplus condition. + * error.c (dump_decl, dump_expr): Remove ARRAY_NOTATION_REF condition. + * lambda.c (cp-cilkplus.h): Remove. + * parser.c (cp_parser_cilk_simd, cp_parser_cilk_for, + cp_parser_cilk_simd_vectorlength): Delete. + (cp_debug_parser, cp_parser_ctor_initializer_opt_and_function_body, + cp_parser_postfix_expression, + cp_parser_postfix_open_square_expression, + cp_parser_statement, cp_parser_jump_statement, + cp_parser_direct_declarator, + cp_parser_late_return_type_opt, cp_parser_gnu_attribute_list, + cp_parser_omp_clause_name, cp_parser_omp_clause_aligned, + cp_parser_omp_clause_linear, cp_parser_omp_all_clauses, + cp_parser_omp_flush, + cp_parser_omp_for_cond, cp_parser_omp_for_incr, + cp_parser_omp_for_loop_init, + cp_parser_omp_for_loop, + cp_parser_omp_declare_simd): Remove cilkplus support. + (CILK_SIMD_FN_CLAUSE_MASK, cp_parser_late_parsing_cilk_simd_fn_info, + cp_parser_cilk_grainsize): Remove. + (cp_parser_pragma, c_parse_file): Remove cilkplus support. + (cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear, + cp_parser_cilk_simd_clause_name, cp_parser_cilk_simd_all_clauses, + cp_parser_cilk_simd, cp_parser_cilk_for): Remove. + * parser.h (IN_CILK_SIMD_FOR, IN_CILK_SPAWN): Remove. + * pt.c (tsubst_attribute, tsubst_expr, tsubst_copy_and_build): Remove + cilkplus support. + * semantics.c (finish_goto_stmt, begin_while_stmt, finish_do_body, + finish_init_stmt, finish_switch_cond, simplify_aggr_init_expr, + finish_omp_clauses, finish_omp_clauses, finish_omp_for): Remove + cilkplus + support. + * tree.c (lvalue_kind): Remove ARRAY_NOTATION_REF conditon. + * typeck.c (cp_build_array_ref, cp_build_compound_expr, + check_return_expr): Remove cilkplus support. + +2017-11-28 Jakub Jelinek + + * cp-gimplify.c (genericize_switch_stmt): Build SWITCH_EXPR using + build2_loc instead of build3_loc. + +2017-11-27 Martin Sebor + + PR c++/83058 + * init.c (warn_placement_new_too_small): Use offset_int instead of + HOST_WIDE_INT. + +2017-11-27 Jakub Jelinek + + PR c++/81888 + * parser.c (cp_parser_decomposition_declaration): Reject just + BRACE_ENCLOSED_INITIALIZER_P initializers with nelts != 1 rather + than all such CONSTRUCTORs, and only if is_direct_init is true. + +2017-11-27 Jason Merrill + + * pt.c (primary_template_specialization_p): Rename from + primary_template_instantiation_p. Don't check + DECL_TEMPLATE_INSTANTIATION. + * call.c, cp-tree.h, decl2.c: Adjust. + +2017-11-27 Jakub Jelinek + + PR c++/81675 + * cp-gimplify.c (cp_fold) : Don't return immediately + for VOID_TYPE_P COND_EXPRs, instead fold the operands and if op0 is + INTEGER_CST, ensure that both op1 and op2 are non-NULL and fall + through into normal folding, otherwise just rebuild x if any op + changed. + + * g++.dg/warn/pr81675.C: New test. + +2017-11-14 Boris Kolpackov * Make-lang.in (c++.install-plugin): Install backend import library.