+2023-11-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/94264
+ PR c++/53220
+ * call.cc (convert_like_internal): Remove obsolete comment.
+ * typeck.cc (decay_conversion): Allow array prvalue.
+ (maybe_warn_about_returning_address_of_local): Check
+ for returning pointer to temporary.
+
+2023-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-objcp-common.cc (cp_feature_table): Evaluate
+ __has_extension (cxx_init_captures) to 1 even for -std=c++11.
+
+2023-11-27 Alex Coplan <alex.coplan@arm.com>
+ Iain Sandoe <iain@sandoe.co.uk>
+
+ PR c++/60512
+ * cp-lang.cc (c_family_register_lang_features): New.
+ * cp-objcp-common.cc (struct cp_feature_selector): New.
+ (cp_feature_selector::has_feature): New.
+ (struct cp_feature_info): New.
+ (cp_register_features): New.
+ * cp-objcp-common.h (cp_register_features): New.
+
+2023-11-25 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * name-lookup.cc (check_can_export_using_decl): New.
+ (do_nonmember_using_decl): Use above to check if names can be
+ exported.
+
+2023-11-25 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/102341
+ * decl.cc (duplicate_decls): Allow exporting a redeclaration of
+ a typedef.
+
+2023-11-24 Tobias Burnus <tobias@codesourcery.com>
+
+ * parser.cc (cp_parser_omp_clause_dist_schedule,
+ cp_parser_omp_scan_loop_body, cp_parser_omp_assumption_clauses,
+ cp_parser_omp_depobj): Add OPT_Wopenmp to warning_at.
+ * semantics.cc (finish_omp_clauses): Likewise.
+
+2023-11-24 Tobias Burnus <tobias@codesourcery.com>
+
+ * parser.cc (cp_parser_omp_depobj): Accept optionally an argument
+ to the destroy clause.
+
+2023-11-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/99232
+ * decl.cc (grokvardecl): Don't mark variables attached to
+ modules as internal.
+
+2023-11-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/107398
+ * module.cc (trees_out::get_merge_kind): Handle lambdas in class
+ scope.
+ (maybe_key_decl): Remove assertion and fix whitespace.
+
+2023-11-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/98885
+ * decl.cc (duplicate_decls): Adjust error message.
+ (xref_tag): Adjust error message. Check exporting decl that is
+ already declared as non-exporting.
+
+2023-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110348
+ * parser.cc: Implement C++26 P2741R3 - user-generated static_assert
+ messages.
+ (cp_parser_static_assert): Parse message argument as
+ conditional-expression if it is not a pure string literal or
+ several of them concatenated followed by closing paren.
+ * semantics.cc (finish_static_assert): Handle message which is not
+ STRING_CST. For condition with bare parameter packs return early.
+ * pt.cc (tsubst_expr) <case STATIC_ASSERT>: Also tsubst_expr
+ message and make sure that if it wasn't originally STRING_CST, it
+ isn't after tsubst_expr either.
+
+2023-11-22 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/112633
+ * pt.cc (tsubst_aggr_type): Handle empty TYPE_TEMPLATE_INFO
+ in the entering_scope adjustment.
+
+2023-11-22 Jason Merrill <jason@redhat.com>
+
+ * decl.cc (start_preparsed_function): Clarify ctype logic.
+
+2023-11-20 Marc Poulhiès <dkm@kataplop.net>
+
+ * lambda.cc (compare_lambda_sig): Fix typo in variadic.
+
+2023-11-20 Jason Merrill <jason@redhat.com>
+
+ * pt.cc (comp_template_parms): Just one level.
+ (template_parameter_lists_equivalent_p): Likewise.
+
+2023-11-20 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_TEMPLATE_PARM_CHECK): New.
+ (DECL_IMPLICIT_TEMPLATE_PARM_P): New.
+ (decl_template_parm_check): New.
+ * mangle.cc (write_closure_template_head): Use it.
+ * parser.cc (synthesize_implicit_template_parm): Likewise.
+ * pt.cc (template_parameters_equivalent_p): Likewise.
+
+2023-11-19 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/99187
+ * cp-tree.h (enum cp_tree_index): Add CPTI_THREAD_ATEXIT.
+ (thread_atexit_node): New.
+ * decl.cc (get_thread_atexit_node): Cache in thread_atexit_node.
+
+2023-11-19 David Malcolm <dmalcolm@redhat.com>
+
+ * mapper-client.cc: Include "rich-location.h".
+
+2023-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/112365
+ * class.cc (layout_class_type): Don't
+ SET_DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD on FIELD_DECLs with
+ error_mark_node type.
+
+2023-11-16 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/111703
+ PR c++/107939
+ * constexpr.cc (potential_constant_expression_1) <case CALL_EXPR>:
+ Fix FUNCTION_POINTER_TYPE_P test.
+
+2023-11-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/112410
+ * parser.cc (cp_parser_direct_declarator): Maybe call
+ abort_fully_implicit_template if it turned out the parameter list was
+ ill-formed.
+
+2023-11-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree.cc (build_cplus_array_type): Revert using the macro
+ CAN_HAVE_LOCATION_P.
+
+2023-11-15 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/112515
+ * decl.cc (is_direct_enum_init): Check type-dependence of the
+ single element.
+
+2023-11-15 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/101043
+ * tree.cc (strip_typedefs_expr) <case TREE_LIST>: Handle
+ non-empty TREE_PURPOSE.
+
+2023-11-15 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/112427
+ * tree.cc (build_min_non_dep): Propagate TREE_SIDE_EFFECTS from
+ the original arguments.
+ (build_min_non_dep_call_vec): Likewise.
+ * typeck2.cc (build_m_component_ref): Use cp_convert, build2 and
+ cp_fully_fold instead of fold_build_pointer_plus and fold_convert.
+ Don't build the POINTER_PLUS_EXPR in a template context.
+
+2023-11-15 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/111703
+ PR c++/112269
+ * constexpr.cc (potential_constant_expression_1) <case VAR_DECL>:
+ Only consider var_in_maybe_constexpr_fn if 'now' is false.
+ <case INDIRECT_REF>: Likewise.
+
+2023-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ * typeck.cc: Implement C++26 P2864R2 - Remove Deprecated Arithmetic
+ Conversion on Enumerations From C++26.
+ (do_warn_enum_conversions): Return bool rather than void, add COMPLAIN
+ argument. Use pedwarn rather than warning_at for C++26 and remove
+ " is deprecated" part of the diagnostics in that case. For SFINAE
+ in C++26 return true on newly erroneous cases.
+ (cp_build_binary_op): For C++26 call do_warn_enum_conversions
+ unconditionally, pass complain argument to it and if it returns true,
+ return error_mark_node.
+ * call.cc (build_conditional_expr): Use pedwarn rather than warning_at
+ for C++26 and remove " is deprecated" part of the diagnostics in that
+ case and check for complain & tf_warning_or_error. Use emit_diagnostic
+ with cxx_dialect >= cxx26 ? DK_PEDWARN : DK_WARNING. For SFINAE in
+ C++26 return error_mark_node on newly erroneous cases.
+ (build_new_op): Use emit_diagnostic with cxx_dialect >= cxx26
+ ? DK_PEDWARN : DK_WARNING and complain & tf_warning_or_error check
+ for C++26. For SFINAE in C++26 return error_mark_node on newly
+ erroneous cases.
+
+2023-11-14 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/103499
+ * module.cc (trees_out::decl_node): Write DECL_VINDEX for
+ virtual clones.
+ (trees_in::tree_node): Read DECL_VINDEX for virtual clones.
+
+2023-11-14 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/106849
+ * name-lookup.cc (do_nonmember_using_decl): Handle
+ TEMPLATE_DECLs when checking module attachment.
+
+2023-11-14 David Malcolm <dmalcolm@redhat.com>
+
+ * decl.cc (finish_function): Update call to
+ global_dc->m_option_enabled to use option_enabled_p.
+
+2023-11-14 David Malcolm <dmalcolm@redhat.com>
+
+ * contracts.cc (build_comment): Use global_dc's file_cache.
+
2023-11-14 Jonathan Wakely <jwakely@redhat.com>
PR c++/111842