-2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
+2017-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <jason@redhat.com>
+
+ 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 <dmalcolm@redhat.com>
+
+ * 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 <paolo.carlini@oracle.com>
+
+ PR c++/82293
+ * lambda.c (nonlambda_method_basetype): Don't use LAMBDA_TYPE_P
+ on a null type.
+
+2017-11-29 Jason Merrill <jason@redhat.com>
+
+ 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 <jakub@redhat.com>
+
+ 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 <julia.koval@intel.com>
+ Sebastian Peryt <sebastian.peryt@intel.com>
+
+ * 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 <jakub@redhat.com>
+
+ * cp-gimplify.c (genericize_switch_stmt): Build SWITCH_EXPR using
+ build2_loc instead of build3_loc.
+
+2017-11-27 Martin Sebor <msebor@redhat.com>
+
+ PR c++/83058
+ * init.c (warn_placement_new_too_small): Use offset_int instead of
+ HOST_WIDE_INT.
+
+2017-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <jason@redhat.com>
+
+ * 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 <jakub@redhat.com>
+
+ PR c++/81675
+ * cp-gimplify.c (cp_fold) <case COND_EXPR>: 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 <boris@codesynthesis.com>
* Make-lang.in (c++.install-plugin): Install backend import library.