2026-06-08  Zhou Qiankang  <wszqkzqk@qq.com>

	PR c++/125642
	* c-cppbuiltin.cc (c_cpp_builtins): Don't define __FRACT_FBIT__
	in C++.

2026-06-06  Martin Uecker  <uecker@tugraz.at>

	PR c/125618
	* c-common.cc (complete_array_type): Change back to using
	build_range_type.

2026-06-05  Jakub Jelinek  <jakub@redhat.com>

	PR c/122731
	* c-common.h (enum rid): Add RID_BUILTIN_BSWAPG and
	RID_BUILTIN_BITREVERSEG.
	* c-common.cc (c_common_reswords): Add __builtin_bswapg
	and __builtin_bitreverseg.

2026-06-04  Martin Uecker  <uecker@tugraz.at>

	PR c/125072
	* c-ubsan.cc (get_index_from_offset,get_index_from_pointer_addr_expr,
	is_instrumentable_pointer_array_address): Return factor.
	(ubsan_maybe_instrument_array_ref): Apply factor.

2026-06-04  Martin Uecker  <uecker@tugraz.at>

	* c-common.cc (complete_array_type): Use build_index_type.
	* c-ubsan.cc (ubsan_instrument_bounds_pointer_address): Likewise.

2026-06-02  Christopher Bazley  <chris.bazley@arm.com>

	* c-attribs.cc (handle_optimize_attribute):
	Save the global target options before modifying
	them. If the function with the optimize attribute
	already has a target option node then restore those
	target options as the global options, so that they
	are used as the basis for any new optimization and
	target options attached to the function.

2026-06-02  H.J. Lu  <hjl.tools@gmail.com>

	PR c/121911
	* c-common.cc (c_common_nodes_and_builtins): Don't declare stack
	protection guard here.

2026-06-01  Martin Uecker  <uecker@tugraz.at>

	PR c/98539
	* c-warn.cc (warn_parm_array_mismatch): Check number of size
	expressions.

2026-06-01  Mark Wielaard  <mark@klomp.org>

	* c.opt.urls: Regenerate.

2026-05-31  Daniel Barboza  <daniel.barboza@oss.qualcomm.com>

	* c.opt: Removed Wstrict-overflow entry.

2026-05-31  Daniel Barboza  <daniel.barboza@oss.qualcomm.com>

	* c-common.cc (pointer_int_sum): Removed
	fold_*_overflow_warnings uses.

2026-05-30  Dhruv Chawla  <dhruvc@nvidia.com>

	* c-attribs.cc (append_access_attr): Fix typos.
	(append_access_attr_idxs): Likewise.
	(has_attribute): Likewise.
	* c-common.cc (get_cpp_ttype_from_string_type): Likewise.
	(cb_get_suggestion): Likewise.
	(maybe_add_include_fixit): Likewise.
	* c-common.h (convert_vector_to_array_for_subscript): Likewise.
	* c-cppbuiltin.cc (builtin_define_type_max): Likewise.
	* c-format.cc (check_format_info_main): Likewise.
	(check_format_types): Likewise.
	* c-omp.cc (c_omp_categorize_directive): Likewise.
	* c-opts.cc (c_common_post_options): Likewise.
	* c-ubsan.cc (ubsan_instrument_bounds): Likewise.

2026-05-30  Jakub Jelinek  <jakub@redhat.com>

	* c-attribs.cc (type_valid_for_vector_size): Use BITINT_TYPE_P macro.
	* c-common.cc (c_common_get_narrower): For ENUMERAL_TYPE with
	BITINT_TYPE as underlying type convert to the underlying type.
	(c_common_signed_or_unsigned_type): Use BITINT_TYPE_P macro.
	(sync_resolve_size): Likewise.
	(atomic_bitint_fetch_using_cas_loop): Likewise.
	(resolve_overloaded_builtin): Likewise.

2026-05-23  Daniel Barboza  <daniel.barboza@oss.qualcomm.com>

	* c-warn.cc (warn_for_sign_compare): Remove strict_overflow_p
	argument from tree_expr_nonnegative_p call.

2026-05-23  Daniel Barboza  <daniel.barboza@oss.qualcomm.com>

	* c-ubsan.cc (ubsan_maybe_instrument_reference_or_call): Removed
	strict_overflow_p flag.

2026-05-23  Daniel Barboza  <daniel.barboza@oss.qualcomm.com>

	* c-warn.cc (warn_logical_operator): Removed strict_overflow_p
	variable.

2026-05-22  Julian Brown  <julian@codesourcery.com>
	    Tobias Burnus  <tburnus@baylibre.com>

	* c-common.h (enum c_omp_region_type): Add C_ORT_UPDATE and
	C_ORT_OMP_UPDATE codes.
	* c-omp.cc (omp_basic_map_kind_name): New function.
	(omp_instantiate_mapper): Add LOC parameter and 'target update'
	support.
	(c_omp_instantiate_mappers): Add 'target update' support.

2026-05-22  Jakub Jelinek  <jakub@redhat.com>

	PR c++/119059
	* c-cppbuiltin.cc (c_cpp_builtins): For C++26 predefine
	__cpp_trivial_union to 202502L.

2026-05-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/125081
	* c.opt (Wconstant-logical-operand): New option.
	* c.opt.urls: Regenerate.

2026-05-14  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (omp_map_decayed_kind): Handle map modifiers
	also for declare-mapper's map clauses.

2026-05-11  Jason Merrill  <jason@redhat.com>

	PR c++/124621
	* c-common.cc (user_facing_original_type_p): Recurse.

2026-05-04  H.J. Lu  <hjl.tools@gmail.com>

	PR c/121911
	* c-common.cc (c_common_nodes_and_builtins): If the
	stack_protect_guard_symbol_p hook returns true, declare a global
	symbol for stack protection guard.

2026-04-29  Julian Brown  <julian@codesourcery.com>

	* c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA,
	C_ORT_OMP_EXIT_DATA.
	(c_omp_instantiate_mappers): Add region type parameter.
	* c-omp.cc (omp_split_map_kind, omp_join_map_kind,
	omp_map_decayed_kind): New functions.
	(omp_instantiate_mapper): Add ORT parameter.  Implement map kind decay
	for instantiated mapper clauses.
	(c_omp_instantiate_mappers): Add ORT parameter, pass to
	omp_instantiate_mapper.

2026-04-28  Jakub Jelinek  <jakub@redhat.com>

	* c-common.cc (c_common_signed_or_unsigned_type): Use
	build_bitint_type for TREE_CODE (type) == BITINT_TYPE whenever
	flag_isoc2y even when precision is 1.
	(c_common_get_alias_set): Don't special case BITINT_TYPE
	with precision 1 for flag_isoc2y.
	* c-lex.cc (interpret_integer): Use _BitInt(1) type for 0wb
	if flag_isoc2y, rather than _BitInt(2).

2026-04-22  Jakub Jelinek  <jakub@redhat.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_impl_reflection value
	from 202506L to 202603L.

2026-04-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/124969
	* c-ubsan.cc (get_index_from_pointer_addr_expr): For
	VOID_TYPE_P (pointee_type) use size_one_node instead of
	TYPE_SIZE_UNIT (pointee_type) as pointee_size.  Punt for
	!COMPLETE_OR_VOID_TYPE_P (pointee_type).  Formatting fix.  Use
	CONVERT_EXPR_P (x) instead of CONVERT_EXPR_CODE_P (TREE_CODE (x)).

2026-04-07  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/124784
	* c.opt.urls: Regenerated.

2026-03-19  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Enable -fcontracts
	in C++26 mode unless -fno-contracts was specified.

2026-03-12  Marek Polacek  <polacek@redhat.com>

	PR c++/124447
	* c-opts.cc (c_common_post_options): Error if -freflection is used
	without -std=c++26 or -std=gnu++26.

2026-03-07  Martin Uecker  <uecker@tugraz.at>

	PR c/123856
	* c-attribs.cc (handle_hardbool_attribute): Fix TYPE_NAME.

2026-03-06  Qing Zhao  <qing.zhao@oracle.com>

	PR c/124230
	* c-ubsan.cc (get_index_from_offset): Handle the special case when
	the offset is an integer constant.

2026-02-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR c/105555
	* c-common.cc (fold_offsetof): Handle REALPART_EXPR
	and IMAGPART_EXPR.

2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	PR middle-end/123892
	* c-common.cc: Replace CONST_CAST with const_cast<>.
	* c-lex.cc: Likewise.

2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	PR middle-end/123892
	* c-gimplify.cc: Replace CONST_CAST_TREE with const_cast<tree>.

2026-02-05  Jakub Jelinek  <jakub@redhat.com>

	Revert:
	2026-02-05  Jakub Jelinek  <jakub@redhat.com>

	PR c/101312
	* c-pretty-print.cc (c_pretty_printer::direct_abstract_declarator):
	Look up "array " attribute instead of "array".

2026-02-02  Patrick Palka  <ppalka@redhat.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_deduction_guides to
	202207L for C++23 and later.

2026-01-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR c++/102846
	PR c/102846
	* known-headers.cc (macro_like_function_used::macro_like_function_used): New.
	(macro_like_function_used::~macro_like_function_used): New.
	* known-headers.h (class macro_like_function_used): New class.

2026-01-28  Iain Sandoe  <iain@sandoe.co.uk>

	* c.opt: Append a period to the message for
	-fcontracts-client-check=.

2026-01-28  Jakub Jelinek  <jakub@redhat.com>

	PR c/101312
	* c-pretty-print.cc (c_pretty_printer::direct_abstract_declarator):
	Look up "array " attribute instead of "array".

2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>
	    Ville Voutilainen  <ville.voutilainen@gmail.com>

	* c.opt (fcontracts-definition-check=,
	fcontracts-client-check=): New.
	* c.opt.urls: Regenerate.

2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>
	    Ville Voutilainen  <ville.voutilainen@gmail.com>

	* c.opt (fcontract-checks-outlined,
	fcontract-disable-optimized-checks): New.
	* c.opt.urls: Regenerate.

2026-01-28  Nina Ranns  <dinka.ranns@gmail.com>
	    Iain Sandoe  <iain@sandoe.co.uk>

	* c.opt (fcontracts-conservative-ipa): New.

2026-01-28  Iain Sandoe  <iain@sandoe.co.uk>
	    Nina Ranns  <dinka.ranns@gmail.com>
	    Ville Voutilainen  <ville.voutilainen@gmail.com>

	* c-common.cc: Add contract_assert keyword.
	* c-common.h (enum rid): Likewise.
	* c-cppbuiltin.cc (c_cpp_builtins): Add C++26 contracts feature test
	macro.
	* c.opt: Add a flag to control the TU-wide evaluation semantic. Add
	a flag to control whether P1494 observable_checkpoints are inserted
	to separate contract checks.
	* c.opt.urls: Regenerate.

2026-01-28  Iain Sandoe  <iain@sandoe.co.uk>
	    Nina Ranns  <dinka.ranns@gmail.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Remove C++2a-specific
	feature macros.
	* c.opt: Remove C++2a-specific flags.

2026-01-25  Sandra Loosemore  <sloosemore@baylibre.com>

	* c.opt.urls: Regenerated.

2026-01-25  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* c.opt (-output-pch): Mark as Undocumented, as it seems to be
	an internal option that has never been documented anyway.
	(Werror-implicit-function-declaration): Mark deprecated option
	that is not currently documented as Undocumented.
	(fconstant-string-class=): Add RejectNegative property.

2026-01-20  Jakub Jelinek  <jakub@redhat.com>

	PR c++/123694
	* c-indentation.cc (guard_tinfo_to_string): Handle RID_TEMPLATE
	for C++11 or later.

2026-01-15  Jakub Jelinek  <jakub@redhat.com>

	* c.opt.urls: Regenerate.

2026-01-15  Marek Polacek  <polacek@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR c++/120775
	PR c++/123081
	PR c++/122634
	* c-attribs.cc (attribute_takes_identifier_p): Return false for C++
	annotations.  Handle "old parm name".
	* c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_impl_reflection.
	* c.opt (freflection): New.

2026-01-07  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_omp_directives): Uncomment 'groupprivate'.
	* c-pragma.cc (omp_pragmas): Add PRAGMA_OMP_GROUPPRIVATE.
	* c-pragma.h (enum pragma_kind): Likewise.

2025-12-26  Egas Ribeiro  <egas.g.ribeiro@gmail.com>

	PR c++/121864
	* c-opts.cc (c_common_finish): Use out_fname as fallback when
	fdeps_file is NULL in error message.

2025-12-23  Yuao Ma  <c8ef@outlook.com>

	* c-common.cc: Mention c_common_init_options.

2025-12-21  Yuao Ma  <c8ef@outlook.com>

	* c-common.h (enum cxx_dialect): c++17 to c++20.

2025-12-18  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_omp_split_clauses): Handle target's
	device_type clause.

2025-12-18  Richard Biener  <rguenther@suse.de>

	PR c/123156
	* c-common.cc (c_build_shufflevector): Use ssizetype for the
	permute vector element type.

2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
	    Tobias Burnus  <tburnus@baylibre.com>
	    Andrew Stubbs  <ams@baylibre.com>

	* c-omp.cc (c_omp_split_clauses): Hande uses_allocators.
	* c-pragma.h (enum pragma_omp_clause): Add
	PRAGMA_OMP_CLAUSE_USES_ALLOCATORS.

2025-12-11  supers1ngular  <supers1ngular@baylibre.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Bump _OPENMP version.
	* c.opt (Wdeprecated-openmp): Add warning.
	* c.opt.urls: Regenerated.

2025-12-05  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_omp_split_clauses): Handle
	OMP_CLAUSE_DYN_GROUPPRIVATE, sort target clauses
	alphabetically.
	* c-pragma.h (enum pragma_omp_clause): Add
	PRAGMA_OMP_CLAUSE_DYN_GROUPPRIVATE.

2025-11-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* c.opt.urls: Regenerate.

2025-11-26  Alejandro Colomar  <alx@kernel.org>

	* c-common.cc (c_common_reswords): Add _Maxof & _Minof keywords.
	(c_maxof_type, c_minof_type): New functions.
	* c-common.def (MAXOF_EXPR, MINOF_EXPR): New trees.
	* c-common.h (enum rid): Add RID_MAXOF & RID_MINOF constants.
	(c_maxof_type, c_minof_type): New prototypes.

2025-11-26  Jakub Jelinek  <jakub@redhat.com>

	* c-opts.cc (c_common_init_options): Call set_std_cxx20 rather than
	set_std_cxx17.
	* c.opt (std=c++2a): Change description to deprecated option wording.
	(std=c++20): Remove experimental support part.
	(std=c++2b): Change description to deprecated option wording.
	(std=gnu++2a): Likewise.
	(std=gnu++20): Remove experimental support part.
	(std=gnu++2b): Change description to deprecated option wording.

2025-11-25  Jason Merrill  <jason@redhat.com>

	* c.opt: Add --compile-std-module.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/120052
	* c-ubsan.cc (ubsan_instrument_bounds): For VLAs use
	1 instead of 0 as first IFN_UBSAN_BOUNDS argument and only
	use the addend without TYPE_MAX_VALUE (TYPE_DOMAIN (type))
	in the 3rd argument.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/122624
	* c-common.cc (c_common_get_alias_set): Fix up handling of BITINT_TYPE
	and non-standard INTEGER_TYPEs.  For unsigned _BitInt(1) always return
	-1.  For other unsigned types set TYPE_ALIAS_SET to get_alias_set of
	corresponding signed type and return that.  For signed types check if
	corresponding unsigned type has TYPE_ALIAS_SET_KNOWN_P and if so copy
	its TYPE_ALIAS_SET and return that.

2025-11-25  Kito Cheng  <kito.cheng@sifive.com>

	* c-opts.cc (c_common_post_options): Skip register_include_chains
	when cpp_opts->preprocessed is set.

2025-11-22  Sandra Loosemore  <sloosemore@baylibre.com>
	    Julian Brown  <julian@codesourcery.com>
	    waffl3x  <waffl3x@baylibre.com>

	* c-omp.cc (c_omp_directives): Uncomment "begin declare variant"
	and "end declare variant".

2025-11-11  Alejandro Colomar  <alx@kernel.org>

	* c-warn.cc (warn_parms_array_mismatch): Split out body of
	per-pair in parameter lists iteration into...
	(warn_parm_array_mismatch): ...this new function.

2025-11-11  Alejandro Colomar  <alx@kernel.org>

	* c-warn.cc (warn_parms_array_mismatch): Reduce scope of local
	variable.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* c.opt.urls: Regenerated.

2025-11-10  Alejandro Colomar  <alx@kernel.org>

	PR c/122591
	* c-common.cc (c_countof_type): Convert return value to size_t.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* c.opt (fmodule-version-ignore): Mark as "Undocumented".

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* c.opt: (fdeps-format=): Add RejectNegative.
	(fdeps-file=): Likewise.
	(fdeps-target=): Likewise.
	(Walloc-size-larger-than=): Likewise.
	(Wno-alloc-size-larger-than): Likewise.
	(Walloca-larger-than=): Likewise.
	(Wno-alloca-larger-than): Likewise.
	(Woverloaded-virtual=): Likewise.
	(Wvla-larger-than=): Likewise.
	(Wno-vla-larger-than): Likewise.
	(fopenacc-dim=): Likewise.
	(femit-struct-debug-baseonly): Likewise.
	(femit-struct-debug-reduced): Likewise.
	(femit-struct-debug-detailed=): Likewise.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* c.opt (Wsynth): Mark as "Ignore".

2025-11-10  Tejas Belagod  <tejas.belagod@arm.com>

	* c-common.cc (c_build_vec_convert): Support vector boolean
	types for __builtin_convertvector ().

2025-11-10  Jakub Jelinek  <jakub@redhat.com>

	PR c++/119064
	* c-cppbuiltin.cc (c_cpp_builtins): Revert 2025-07-11
	changes.

2025-11-10  Lewis Hyatt  <lhyatt@gmail.com>

	PR preprocessor/105608
	* c-opts.cc (c_finish_options): Set new member
	line_table->cmdline_location.
	* c-pch.cc (c_common_read_pch): Adapt linemap usage to changes in
	libcpp pch.cc; it is now possible that the linemap is in a different
	file after returning from cpp_read_state().

2025-11-05  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/121574
	* c.opt: New warning '-Wexpose-global-module-tu-local'.
	* c.opt.urls: Regenerate.

2025-11-04  Alejandro Colomar  <alx@kernel.org>

	* c-warn.cc (warn_parms_array_mismatch): Fix typos in comment.

2025-11-04  Alejandro Colomar  <alx@kernel.org>

	* c-common.h (warn_parm_array_mismatch):
	Rename warn_parm_array_mismatch => warn_parms_array_mismatch.
	* c-warn.cc (warn_parm_array_mismatch):
	Rename warn_parm_array_mismatch => warn_parms_array_mismatch.

2025-10-30  Qing Zhao  <qing.zhao@oracle.com>

	* c-attribs.cc (handle_counted_by_attribute): Allow counted_by for
	void pointer. Issue warnings when -Wpointer-arith is present.

2025-10-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/122325
	* c-opts.cc (c_common_init_options_struct): Remove set of
	flag_default_complex_method.

2025-10-22  Jakub Jelinek  <jakub@redhat.com>

	PR c++/122302
	* c-common.cc (braced_list_to_string): Call copy_node on RAW_DATA_CST
	before changing RAW_DATA_POINTER and RAW_DATA_LENGTH on it.

2025-10-21  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_omp_directives): Uncomment 'declare mapper',
	add comment to 'begin metadirective', add 6.x unimplemented
	directives as comment-out entries.

2025-10-17  Josef Melcr  <jmelcr02@gmail.com>

	* c-attribs.cc: Define callback attr.

2025-10-14  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wflex-array-member-not-at-end, Wignored-qualifiers,
	Wopenacc-parallelism, Wstrict-flex-arrays, Wsync-nand,
	fstrict-flex-arrays, fstrict-flex-arrays=): Enable also for ObjC and
	ObjC++ next to C and C++.
	(Wmisleading-indentation, Wopenmp-simd): Likewise.  Also change
	LangEnabledBy from just C C++ to C ObjC C++ ObjC++.
	(Wplacement-new, Wplacement-new=, fcontract-assumption-mode=,
	fcontract-build-level=, fcontract-strict-declarations=,
	fcontract-mode=, fcontract-continuation-mode=, fcontract-role=,
	fcontract-semantic=, fcoroutines, flang-info-include-translate,
	flang-info-include-translate-not, flang-info-include-translate=,
	flang-info-module-cmi, flang-info-module-cmi=): Enable also
	for ObjC++ next to C++.

2025-10-13  Iain Sandoe  <iain@sandoe.co.uk>

	* c.opt: Enable Wignored-attributes for Objective-C and
	Objective-C++.

2025-10-09  David Faust  <david.faust@oracle.com>

	* c-attribs.cc (c_common_attribute_table): Add btf_decl_tag and
	btf_type_tag attributes.
	(handle_btf_decl_tag_attribute): New handler for btf_decl_tag.
	(hanlde_btf_type_tag_attribute): New handler for btf_type_tag.
	(btf_tag_args_ok): Helper for new attribute handlers.

2025-10-09  Jakub Jelinek  <jakub@redhat.com>

	* c-common.h (D_CXX26): Define.
	* c-common.cc (c_common_resword): Add D_CXX26 to
	__builtin_c23_va_start flags, mention D_CXX26 in comment.

2025-10-09  Jakub Jelinek  <jakub@redhat.com>

	PR c/122188
	* c-gimplify.cc (c_gimplify_expr): Also gimplify the second operand
	before the COND_EXPR and use in COND_EXPR result of gimplification.

2025-10-09  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc: Define INCLUDE_VECTOR.

2025-10-08  Jakub Jelinek  <jakub@redhat.com>

	PR c/122188
	* c-gimplify.cc (c_gimplify_expr): Gimplify CALL_EXPR_ARG (*expr_p, 0)
	instead of calling save_expr on it.

2025-10-04  Jakub Jelinek  <jakub@redhat.com>

	PR c++/114457
	* c-opts.cc (c_common_post_options): For C++26 set
	flag_auto_var_init to AUTO_INIT_CXX26 if not specified explicitly.
	For C++ disable warn_trivial_auto_var_init.

2025-10-04  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/117658
	* c.opt: New flag '-Wexternal-tu-local'.
	* c.opt.urls: Regenerate.

2025-10-02  Alfie Richards  <alfie.richards@arm.com>

	* c-attribs.cc (attr_target_clones_exclusions): Add simd and omp
	exclusions.
	(attr_target_version_exclusions): New definition with simd and omp
	exclusions.
	(attr_omp_declare_simd_exclusions): New definition with target_version
	and clones exclusions.
	(attr_simd_exclusions): Ditto.
	(c_common_gnu_attributes): Add new target_version, simd, and omp
	declare simd variables.

2025-10-01  Alejandro Colomar  <alx@kernel.org>

	* c.opt.urls: Regenerate

2025-09-26  Alejandro Colomar  <alx@kernel.org>

	* c.opt: Add -Wmultiple-parameter-fwd-decl-lists

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* c-attribs.cc: Add support for target_version and target_clone mixing.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* c-pretty-print.cc (pp_c_function_target_version): New function.
	(pp_c_function_target_clones): New function.
	(pp_c_maybe_whitespace): Move to c-pretty-print.h.
	* c-pretty-print.h (pp_c_function_target_version): New function.
	(pp_c_function_target_clones): New function.
	(pp_c_maybe_whitespace): Moved here from c-pretty-print.cc.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* c-attribs.cc (handle_target_clones_attribute): Update to use new hook.

2025-09-08  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/121544
	* c-ada-spec.cc (dump_ada_node) <POINTER_TYPE>: Dump the name of
	anonymous tagged pointed-to types specially.
	(dump_nested_type) <POINTER_TYPE>: Recurse on anonymous pointed-to
	types declared in the same file.
	Set TREE_VISITED on the underlying DECL of the field type, if any.

2025-08-27  Jakub Jelinek  <jakub@redhat.com>

	PR target/121520
	* c-cppbuiltin.cc (c_cpp_builtins): Properly call cpp_warn
	for __STDCPP_FLOAT<NN>_T__ if FLOATN_NX_TYPE_NODE (i) is NULL
	for C++23 for non-extended types and don't call cpp_warn for
	extended types.

2025-08-18  Indu Bhagat  <indu.bhagat@oracle.com>

	* c-attribs.cc (add_no_sanitize_value): Use 'sanitize_code_type'
	instead of 'unsigned int'.
	(handle_no_sanitize_attribute): Likewise.
	(handle_no_sanitize_address_attribute): Likewise.
	(handle_no_sanitize_thread_attribute): Likewise.
	(handle_no_address_safety_analysis_attribute): Likewise.
	* c-common.h (add_no_sanitize_value): Likewise.

2025-08-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/121552
	* c.opt (Wnon-c-typedef-for-linkage): New option.
	* c.opt.urls: Regenerate.

2025-08-15  Jakub Jelinek  <jakub@redhat.com>

	PR preprocessor/120778
	PR target/121520
	* c-cppbuiltin.cc (c_cpp_builtins): Implement C++26 DR 2581.  Add
	cpp_define_warn lambda and use it as well as cpp_warn where needed.
	In the if (c_dialect_cxx ()) block with __cpp_* predefinitions add
	cpp_define lambda.  Formatting fixes.

2025-08-15  Qing Zhao  <qing.zhao@oracle.com>

	* c-gimplify.cc (is_address_with_access_with_size): New function.
	(ubsan_walk_array_refs_r): Instrument an INDIRECT_REF whose base
	address is .ACCESS_WITH_SIZE or an address computation whose base
	address is .ACCESS_WITH_SIZE.
	* c-ubsan.cc (ubsan_instrument_bounds_pointer_address): New function.
	(struct factor_t): New structure.
	(get_factors_from_mul_expr): New function.
	(get_index_from_offset): New function.
	(get_index_from_pointer_addr_expr): New function.
	(is_instrumentable_pointer_array_address): New function.
	(ubsan_array_ref_instrumented_p): Change prototype.
	Handle MEM_REF in addtional to ARRAY_REF.
	(ubsan_maybe_instrument_array_ref): Handle MEM_REF in addtional
	to ARRAY_REF.

2025-08-15  Qing Zhao  <qing.zhao@oracle.com>

	* c-attribs.cc (handle_counted_by_attribute): Accept counted_by
	attribute for pointer fields.

2025-08-13  Jakub Jelinek  <jakub@redhat.com>

	PR c++/120776
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
	__cpp_expansion_statements=202506L for C++26.

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	* c-indentation.cc (should_warn_for_misleading_indentation):
	Update for moving diagnostics::context::m_tabstop into
	diagnostics::column_options.
	* c-opts.cc (c_common_post_options): Likewise.

2025-08-07  Jakub Jelinek  <jakub@redhat.com>

	PR c++/117783
	* c-cppbuiltin.cc (c_cpp_builtins): Change __cpp_structured_bindings
	predefined value for C++26 from 202403L to 202411L.

2025-08-07  Jakub Jelinek  <jakub@redhat.com>

	PR preprocessor/120778
	* c.opt (Wkeyword-macro): New option.
	* c.opt.urls: Regenerate.
	* c-common.h (cxx_dialect): Comment formatting fix.
	* c-opts.cc (c_common_post_options): Default to
	-Wkeyword-macro for C++26 if pedantic.

2025-08-06  Alexandre Oliva  <oliva@adacore.com>

	* c-attribs.cc (handle_hardbool_attribute): Create distinct
	enumeration types, with structural equality.  Handle
	base type qualifiers.

2025-08-02  Martin Uecker  <uecker@tugraz.at>

	* c-attribs.cc (handle_argspec_attribute): Update.
	(build_arg_spec): New function.
	(build_attr_access_from_parms): Rewrite `arg spec' handling.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Make diagnostics::context::m_source_printing
	private.
	* c-format.cc: Likewise.
	* c-opts.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Update usage of "diagnostic_info" to explicitly
	refer to "diagnostics::diagnostic_info".
	* c-opts.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-format.cc: Update for file_cache and char_span moving from
	input.h to diagnostics/file-cache.h and into the "diagnostics::"
	namespace.
	* c-indentation.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc (c_family_tests): Add include of
	"diagnostics/diagnostics-selftests.h".  Replace
	c_diagnostic_cc_tests with
	diagnostics::selftest::context_cc_tests.
	* c-common.h: Drop c_diagnostic_cc_tests decl.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Update for diagnostic_t becoming
	enum class diagnostics::kind.
	* c-format.cc: Likewise.
	* c-lex.cc: Likewise.
	* c-opts.cc: Likewise.
	* c-pragma.cc: Likewise.
	* c-warn.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Update for renaming of diagnostic_option_id to
	diagnostics::option_id.
	* c-common.h: Likewise.
	* c-cppbuiltin.cc: Likewise.
	* known-headers.cc: Likewise.
	* known-headers.h: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Update comment for renaming of edit_context.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-format.cc (test_type_mismatch_range_labels): Update for
	move of selftest::test_diagnostic_context to
	diagnostics::selftest::test_context.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-format.cc: Update for move of selftest-diagnostic.h to
	diagnostics/selftest-context.h.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-common.h: Update for diagnostic_context becoming
	diagnostics::context.
	* c-opts.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc (c_diagnostic_text_finalizer): Add "m_" prefix to
	fields of diagnostic_info.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc: Update for move of "diagnostic-macro-unwinding.h"
	to "diagnostics/macro-unwinding.h".

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc: Update for move of diagnostics output formats into
	namespace "diagnostics" as "sinks".

2025-07-16  Kwok Cheung Yeung  <kcyeung@baylibre.com>

	* c-omp.cc (c_finish_omp_depobj): Use OMP_ITERATOR_DECL_P.

2025-07-16  Alfie Richards  <alfie.richards@arm.com>

	* c-attribs.cc (handle_target_clones_attribute): Change to use
	get_clone_versions.

2025-07-16  Alfie Richards  <alfie.richards@arm.com>

	* c-format.cc (local_string_slice_node): New node type.
	(asm_fprintf_char_table): New entry.
	(init_dynamic_diag_info): Add support for string_slice.
	* c-format.h (T_STRING_SLICE): New node type.

2025-07-15  Jakub Jelinek  <jakub@redhat.com>
	    Jason Merrill  <jason@redhat.com>

	PR c/44677
	* c-opts.cc (c_common_post_options): Change
	warn_unused_but_set_parameter and warn_unused_but_set_variable
	from 1 to 3 if they were set only implicitly.
	* c-attribs.cc (build_attr_access_from_parms): Remove unused
	but set variable nelts.

2025-07-11  Jakub Jelinek  <jakub@redhat.com>

	PR c++/119064
	* c.opt (Wc++26-compat): New option.
	* c.opt.urls: Regenerate.
	* c-opts.cc (c_common_post_options): Clear warn_cxx26_compat for
	C++26 or later.
	* c-cppbuiltin.cc (c_cpp_builtins): For C++26 predefine
	__cpp_trivial_relocatability=202502L.

2025-07-10  Jakub Jelinek  <jakub@redhat.com>

	PR c++/117785
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
	__cpp_constexpr_exceptions=202411L for C++26.

2025-07-10  Qing Zhao  <qing.zhao@oracle.com>

	* c-ubsan.cc (get_bound_from_access_with_size): Adjust the position
	of the arguments per the new design.

2025-07-07  Qing Zhao  <qing.zhao@oracle.com>

	Revert:
	2025-07-01  Qing Zhao  <qing.zhao@oracle.com>

	* c-attribs.cc (handle_counted_by_attribute): Accept counted_by
	attribute for pointer fields.

2025-07-07  Qing Zhao  <qing.zhao@oracle.com>

	Revert:
	2025-07-01  Qing Zhao  <qing.zhao@oracle.com>

	* c-gimplify.cc (is_address_with_access_with_size): New function.
	(ubsan_walk_array_refs_r): Instrument an INDIRECT_REF whose base
	address is .ACCESS_WITH_SIZE or an address computation whose base
	address is .ACCESS_WITH_SIZE.
	* c-ubsan.cc (ubsan_instrument_bounds_pointer_address): New function.
	(struct factor_t): New structure.
	(get_factors_from_mul_expr): New function.
	(get_index_from_offset): New function.
	(get_index_from_pointer_addr_expr): New function.
	(is_instrumentable_pointer_array_address): New function.
	(ubsan_array_ref_instrumented_p): Change prototype.
	Handle MEM_REF in addtional to ARRAY_REF.
	(ubsan_maybe_instrument_array_ref): Handle MEM_REF in addtional
	to ARRAY_REF.

2025-07-07  Jason Merrill  <jason@redhat.com>

	PR c++/120917
	* c.opt: Add -Wno-abbreviated-auto-in-template-arg.
	* c.opt.urls: Regenerate.

2025-07-04  Jakub Jelinek  <jakub@redhat.com>

	PR c/120837
	* c-common.cc (pointer_int_sum): Rewrite the intop PLUS_EXPR or
	MINUS_EXPR optimization into extension of both intop operands,
	their separate multiplication and then addition/subtraction followed
	by rest of pointer_int_sum handling after the multiplication.

2025-07-01  Qing Zhao  <qing.zhao@oracle.com>

	* c-gimplify.cc (is_address_with_access_with_size): New function.
	(ubsan_walk_array_refs_r): Instrument an INDIRECT_REF whose base
	address is .ACCESS_WITH_SIZE or an address computation whose base
	address is .ACCESS_WITH_SIZE.
	* c-ubsan.cc (ubsan_instrument_bounds_pointer_address): New function.
	(struct factor_t): New structure.
	(get_factors_from_mul_expr): New function.
	(get_index_from_offset): New function.
	(get_index_from_pointer_addr_expr): New function.
	(is_instrumentable_pointer_array_address): New function.
	(ubsan_array_ref_instrumented_p): Change prototype.
	Handle MEM_REF in addtional to ARRAY_REF.
	(ubsan_maybe_instrument_array_ref): Handle MEM_REF in addtional
	to ARRAY_REF.

2025-07-01  Qing Zhao  <qing.zhao@oracle.com>

	* c-attribs.cc (handle_counted_by_attribute): Accept counted_by
	attribute for pointer fields.

2025-06-30  Jakub Jelinek  <jakub@redhat.com>

	PR c/120520
	PR c/117023
	* c-attribs.cc (c_common_gnu_attributes): Allow 2 or 3 arguments for
	nonnull_if_nonzero attribute instead of only 2.
	(handle_nonnull_if_nonzero_attribute): Handle 3 argument
	nonnull_if_nonzero.
	* c-common.cc (struct nonnull_arg_ctx): Rename other member to other1,
	add other2 member.
	(check_function_nonnull): Clear a if nonnull attribute has an
	argument.  Adjust for nonnull_arg_ctx changes.  Handle 3 argument
	nonnull_if_nonzero attribute.
	(check_nonnull_arg): Adjust for nonnull_arg_ctx changes, emit different
	diagnostics for 3 argument nonnull_if_nonzero attributes.
	(check_function_arguments): Adjust ctx var initialization.

2025-06-27  Jakub Jelinek  <jakub@redhat.com>

	PR c++/120777
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
	__cpp_constexpr_virtual_inheritance=202506L for C++26.

2025-06-26  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc (c_common_diagnostics_set_defaults): Use
	diagnostic_context::set_permissive_option.

2025-06-23  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_finish_oacc_wait): Handle if clause.

2025-06-16  Jason Merrill  <jason@redhat.com>

	* c.opt: Add -Wsfinae-incomplete.
	* c.opt.urls: Regenerate.

2025-06-12  Gwenole Beauchesne  <gb.devel@gmail.com>
	    Andrew Pinski  <quic_apinski@quicinc.com>

	PR c++/41201
	PR c++/48026
	* c-pragma.cc (init_pragma): Use c_register_pragma_with_early_handler
	instead of c_register_pragma for `#pragma GCC optimize`.

2025-06-03  Martin Uecker  <uecker@tugraz.at>

	PR c/120078
	* c.opt (Wjump-misses-init): Fix typo.

2025-05-30  Julian Brown  <julian@codesourcery.com>
	    Tobias Burnus  <tburnus@baylibre.com>

	* c-common.h (c_omp_region_type): Add C_ORT_DECLARE_MAPPER and
	C_ORT_OMP_DECLARE_MAPPER codes.
	(omp_mapper_list): Add forward declaration.
	(c_omp_find_nested_mappers, c_omp_instantiate_mappers): Add prototypes.
	* c-omp.cc (c_omp_find_nested_mappers): New function.
	(remap_mapper_decl_info): New struct.
	(remap_mapper_decl_1, omp_instantiate_mapper,
	c_omp_instantiate_mappers): New functions.

2025-05-27  Alejandro Colomar  <alx@kernel.org>
	    Martin Uecker  <uecker@tugraz.at>

	PR c/117025
	* c-common.h (enum rid): Add RID_COUNTOF.
	(c_countof_type): New function prototype.
	* c-common.def (COUNTOF_EXPR): New tree.
	* c-common.cc (c_common_reswords): Add RID_COUNTOF entry.
	(c_countof_type): New function.

2025-05-23  Jason Merrill  <jason@redhat.com>

	* c-format.cc (flag_chars_t::validate): Control quoting warnings
	with -Wformat-diag.

2025-05-15  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Set flag_coroutines.
	(set_std_cxx20, set_std_cxx23, set_std_cxx26): Not here.

2025-05-03  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Let plain -Wabi warn
	about changes in a future version.

2025-04-28  David Malcolm  <dmalcolm@redhat.com>

	* c-pretty-print.cc: Drop include of "make-unique.h".
	Replace uses of ::make_unique with std::make_unique.

2025-04-28  David Malcolm  <dmalcolm@redhat.com>

	* name-hint.h (name_hint::name_hint): Use std::unique_ptr for
	param.

2025-04-28  Lewis Hyatt  <lhyatt@gmail.com>

	PR c/118838
	* c-lex.cc (cb_def_pragma): Call cpp_get_diagnostic_override_loc()
	to get a valid location at which to issue -Wunknown-pragmas, in case
	it was triggered from a _Pragma.

2025-04-25  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Bump default ABI to 21
	and compat ABI to 18.

2025-04-06  Sandra Loosemore  <sloosemore@baylibre.com>

	* c.opt.urls: Regenerate.

2025-04-06  Sandra Loosemore  <sloosemore@baylibre.com>

	PR c/81831
	* c.opt (Wpsabi): Remove "Undocumented" modifier and add a
	documentation string.

2025-04-03  Jakub Jelinek  <jakub@redhat.com>

	* c.opt.urls: Regenerate.

2025-03-30  Sandra Loosemore  <sloosemore@baylibre.com>

	* c.opt.urls: Regenerate.

2025-03-22  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wdeprecated-literal-operator): Use \"\" rather than ""
	in option description.

2025-03-18  Jakub Jelinek  <jakub@redhat.com>

	PR c/116545
	* c-attribs.cc (c_common_clang_attributes): Add musttail.

2025-03-14  Jakub Jelinek  <jakub@redhat.com>

	PR target/119120
	* c-gimplify.cc (c_genericize_control_r): Set DECL_NOT_GIMPLE_REG_P
	on {REAL,IMAG}PART_EXPR is_gimple_reg operand at -O0 if it is lhs
	of a MODIFY_EXPR.

2025-03-13  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/119265
	* c-ada-spec.cc (dump_ada_node) <INTEGER_TYPE>: Deal with typedefs
	of unsigned __int128.

2025-03-07  Jakub Jelinek  <jakub@redhat.com>

	PR c/117178
	* c-attribs.cc (handle_nonstring_attribute): Allow the attribute also
	on multi-dimensional arrays with char/signed char/unsigned char
	element type or pointers to such single and multi-dimensional arrays.

2025-03-07  Kees Cook  <kees@kernel.org>
	    Jakub Jelinek  <jakub@redhat.com>

	PR c/117178
	* c.opt (Wunterminated-string-initialization): Don't depend on
	-Wc++-compat.

2025-03-05  Marek Polacek  <polacek@redhat.com>

	PR c++/115580
	* c-common.cc (check_function_arguments): Return early if
	c_inhibit_evaluation_warnings.

2025-02-28  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wc++26-extensions): Add CppReason(CPP_W_CXX26_EXTENSIONS).
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine __cpp_pp_embed=202502
	for C++26.

2025-02-13  Jakub Jelinek  <jakub@redhat.com>

	PR c++/118822
	PR c++/118833
	* c-common.h (WHILE_COND_CLEANUP): Change description in comment.
	(FOR_COND_CLEANUP): Likewise.
	* c-gimplify.cc (genericize_c_loop): Adjust for COND_CLEANUP
	being CLEANUP_STMT/TRY_FINALLY_EXPR trailing nesting depth
	instead of actual cleanup.

2025-02-11  Jason Merrill  <jason@redhat.com>

	PR c++/188574
	* c-opts.cc (c_common_post_options): Only enable
	-frange-for-ext-temps by default in C++23.

2025-02-07  Jakub Jelinek  <jakub@redhat.com>
	    Jason Merrill  <jason@redhat.com>

	PR c++/86769
	* c-common.def (FOR_STMT): Add 2 operands and document them.
	(WHILE_STMT): Likewise.
	* c-common.h (WHILE_COND_PREP, WHILE_COND_CLEANUP): Define.
	(FOR_COND_PREP, FOR_COND_CLEANUP): Define.
	* c-gimplify.cc (genericize_c_loop): Add COND_PREP and COND_CLEANUP
	arguments, handle them if they are non-NULL.
	(genericize_for_stmt, genericize_while_stmt, genericize_do_stmt):
	Adjust callers.

2025-02-07  Thomas Schwinge  <tschwinge@baylibre.com>

	* c-gimplify.cc (c_genericize): Pass 'local_dump_flags' to
	'print_c_tree'.
	* c-pretty-print.cc (c_pretty_printer::statement): Pass
	'dump_flags' to 'dump_generic_node'.
	(c_pretty_printer::c_pretty_printer): Initialize 'dump_flags'.
	(print_c_tree): Add 'dump_flags_t' formal parameter.
	(debug_c_tree): Adjust.
	* c-pretty-print.h (c_pretty_printer): Add 'dump_flags_t
	dump_flags'.
	(c_pretty_printer::c_pretty_printer): Add 'dump_flags_t' formal
	parameter.
	(print_c_tree): Adjust.

2025-01-23  Jakub Jelinek  <jakub@redhat.com>

	* c-common.cc (make_tree_vector_from_ctor): Only use make_tree_vector
	for ctors with <= 16 elements.

2025-01-23  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/107741
	* c-opts.cc (c_common_post_options): Bump ABI version.

2025-01-22  Jakub Jelinek  <jakub@redhat.com>

	* c-common.h (append_ctor_to_tree_vector): Declare.
	* c-common.cc (append_ctor_to_tree_vector): New function.
	(make_tree_vector_from_ctor): Use it.

2025-01-20  Jakub Jelinek  <jakub@redhat.com>

	PR c++/118528
	* c-common.cc (make_tree_vector_from_ctor): Expand RAW_DATA_CST
	elements from the CONSTRUCTOR to individual INTEGER_CSTs.

2025-01-20  Jakub Jelinek  <jakub@redhat.com>

	PR c++/118509
	* c-omp.cc (c_finish_omp_for): Handle TARGET_EXPR in first operand
	of COMPOUND_EXPR incr the same as SAVE_EXPR.

2025-01-16  Sandra Loosemore  <sloosemore@baylibre.com>

	* c-attribs.cc (c_common_gnu_attributes): Delete "omp declare
	target block".

2025-01-16  Sandra Loosemore  <sloosemore@baylibre.com>
	    Kwok Cheung Yeung  <kcy@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/112779
	PR middle-end/113904
	* c-common.h (enum c_omp_directive_kind): Add C_OMP_DIR_META.
	(c_omp_expand_variant_construct): Declare.
	* c-gimplify.cc: Include omp-general.h.
	(genericize_omp_metadirective_stmt): New.
	(c_genericize_control_stmt): Add case for OMP_METADIRECTIVE.
	* c-omp.cc (c_omp_directives): Fix entries for metadirective.
	(c_omp_expand_variant_construct_r): New.
	(c_omp_expand_variant_construct): New.
	* c-pragma.cc (omp_pragmas): Add metadirective.
	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_METADIRECTIVE.

2025-01-16  Jakub Jelinek  <jakub@redhat.com>

	* c-lex.cc (interpret_float): Use -std=c++23 and -std=gnu++23
	in diagnostics rather than -std=c++2b and -std=gnu++2b.

2025-01-12  Hans-Peter Nilsson  <hp@bitrange.com>

	PR middle-end/118303
	* c-pretty-print.cc (c_pretty_printer::primary_expression) <SSA_NAME>:
	Call primary_expression for all SSA_NAME_VAR nodes and instead move the
	DECL_ARTIFICIAL private name stripping to...
	(pp_c_tree_decl_identifier): ...here.

2025-01-02  Paul-Antoine Arras  <parras@baylibre.com>

	* c-attribs.cc: (c_common_gnu_attributes): Rename "omp declare variant
	variant adjust_args" into "omp declare variant variant args" to also
	accommodate append_args.

2024-12-20  Nathaniel Shead  <nathanieloshead@gmail.com>

	* c.opt.urls: Regenerate.

2024-12-20  Nathaniel Shead  <nathanieloshead@gmail.com>

	* c.opt: New warning '-Wtemplate-names-tu-local'.

2024-12-18  Tobias Burnus  <tburnus@baylibre.com>

	* c-omp.cc (c_omp_interop_t_p): Handle error_mark_node.

2024-12-18  Jakub Jelinek  <jakub@redhat.com>

	PR c++/110345
	* c-common.h (attr_aligned_exclusions): Declare.
	(handle_aligned_attribute): Likewise.
	* c-attribs.cc (handle_aligned_attribute): No longer
	static.
	(attr_aligned_exclusions): Use extern instead of static.

2024-12-17  Sandra Loosemore  <sloosemore@baylibre.com>

	PR c/26154
	* c.opt.urls: Regenerated.

2024-12-16  David Malcolm  <dmalcolm@redhat.com>

	PR sarif-replay/117943
	* c-format.cc (selftest::test_type_mismatch_range_labels): Use
	dc.m_source_printing.
	* c-opts.cc (c_diagnostic_text_finalizer): Use source-printing
	options from text_output.

2024-12-12  Sandra Loosemore  <sloosemore@baylibre.com>
	    Peter Eisentraut  <peter@eisentraut.org>

	PR c/115532
	* c.opt.urls: Regenerated.

2024-12-12  Alexandre Oliva  <oliva@adacore.com>

	* c.opt (Wtautological-compare): Move to ../common.opt.

2024-12-10  Arsen Arsenović  <arsen@aarsen.me>
	    Iain Sandoe  <iain@sandoe.co.uk>

	* c-pretty-print.cc (c_pretty_printer::storage_class_specifier):
	Check that we're looking at a PARM_DECL or VAR_DECL before
	looking at DECL_REGISTER.

2024-12-10  Marek Polacek  <polacek@redhat.com>

	PR c++/117788
	* c-warn.cc (do_warn_array_compare): Emit a permerror in C++26.

2024-12-09  Matthew Malcomson  <mmalcomson@nvidia.com>

	* c-common.cc (builtin_function_validate_nargs,
	check_builtin_function_arguments,
	speculation_safe_value_resolve_call,
	speculation_safe_value_resolve_params, sync_resolve_size,
	sync_resolve_params, get_atomic_generic_size,
	resolve_overloaded_atomic_exchange,
	resolve_overloaded_atomic_compare_exchange,
	resolve_overloaded_atomic_load, resolve_overloaded_atomic_store,
	resolve_overloaded_builtin):  Add `complain` boolean parameter
	and determine whether to emit errors based on its value.
	* c-common.h (check_builtin_function_arguments,
	resolve_overloaded_builtin):  Mention `complain` boolean
	parameter in declarations.  Give it a default of `true`.

2024-12-06  David Malcolm  <dmalcolm@redhat.com>

	* c-attribs.cc: Include "gcc-urlifier.h".
	(positional_argument): Use auto_urlify_attributes.
	* c-common.cc: Include "gcc-urlifier.h".
	(parse_optimize_options): Use auto_urlify_attributes with
	OPT_Wattributes.
	(attribute_fallthrough_p): Use auto_urlify_attributes.
	* c-warn.cc: Include "gcc-urlifier.h".
	(diagnose_mismatched_attributes): Use auto_urlify_attributes.

2024-12-05  Jakub Jelinek  <jakub@redhat.com>

	PR c/107980
	* c-common.h (enum rid): Add RID_C23_VA_START.
	* c-common.cc (c_common_reswords): Add __builtin_c23_va_start.

2024-11-30  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wdeprecated-variadic-comma-omission): New option.
	* c.opt.urls: Regenerate.
	* c-opts.cc (c_common_post_options): Default to
	-Wdeprecated-variadic-comma-omission for C++26 or -Wpedantic.

2024-11-29  Tejas Belagod  <tejas.belagod@arm.com>

	* c-common.cc (convert_vector_to_array_for_subscript): Add
	range-check for target vector types.

2024-11-28  Marek Polacek  <polacek@redhat.com>

	PR c++/113798
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
	__cpp_pack_indexing=202311L for C++26.

2024-11-28  Jakub Jelinek  <jakub@redhat.com>

	PR c/117023
	* c-attribs.cc (handle_nonnull_if_nonzero_attribute): New
	function.
	(c_common_gnu_attributes): Add nonnull_if_nonzero attribute.
	(handle_nonnull_attribute): Fix comment typo.
	* c-common.cc (struct nonnull_arg_ctx): Add other member.
	(check_function_nonnull): Also check nonnull_if_nonzero attributes.
	(check_nonnull_arg): Use different warning wording if pctx->other
	is non-zero.
	(check_function_arguments): Initialize ctx.other.

2024-11-28  Joseph Myers  <josmyers@redhat.com>

	PR c/117757
	* c-gimplify.cc (c_gimplify_expr): Check for error_operand_p
	before calling TYPE_MAIN_VARIANT for shifts.

2024-11-28  David Malcolm  <dmalcolm@redhat.com>

	PR c/82892
	* c-common.h (get_option_for_builtin_define): New decl.
	* c-cppbuiltin.cc (get_option_for_builtin_define): New.
	* known-headers.cc: Include "opts.h".
	(suggest_missing_option::suggest_missing_option): New.
	(suggest_missing_option::~suggest_missing_option): New.
	* known-headers.h (class suggest_missing_option): New.

2024-11-28  David Malcolm  <dmalcolm@redhat.com>

	PR c++/87850
	* c-common.cc: Include "gcc-rich-location.h".
	(maybe_emit_indirection_note): New function.
	* c-common.h (maybe_emit_indirection_note): New decl.
	(compatible_types_for_indirection_note_p): New decl.

2024-11-28  David Malcolm  <dmalcolm@redhat.com>

	PR c/104896
	* c-lex.cc (c_common_lex_availability_macro): Replace "%<%s%>"
	with "%qs" in message wording.
	* c-opts.cc (c_common_handle_option): Likewise.
	* c-warn.cc (warn_parm_array_mismatch): Likewise.

2024-11-27  Florian Weimer  <fweimer@redhat.com>

	* c-opts.cc (c_common_post_options): Initialize
	warn_free_labels.
	* c.opt (Wfree-labels): New option.
	* c.opt.urls: Regenerate.

2024-11-27  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Enable -Warray-compare
	in C++20.

2024-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/43374
	* c-cppbuiltin.cc (builtin_define_decimal_float_constants): Use
	get_max_float.

2024-11-23  Jakub Jelinek  <jakub@redhat.com>

	* c.opt.urls: Regenerate.

2024-11-23  Lewis Hyatt  <lhyatt@gmail.com>

	* c-indentation.cc (should_warn_for_misleading_indentation): Remove
	comment about -flarge-source-files.
	* c-lex.cc (cb_ident): Change "unsigned int" argument to type
	"location_t".
	(cb_def_pragma): Likewise.
	(cb_define): Likewise.
	(cb_undef): Likewise.

2024-11-22  Andrew Pinski  <quic_apinski@quicinc.com>

	PR bootstrap/117737
	* c-ada-spec.cc (INCLUDE_MEMORY): Remove.
	* c-attribs.cc (INCLUDE_MEMORY): Remove.
	* c-common.cc (INCLUDE_MEMORY): Remove.
	* c-format.cc (INCLUDE_MEMORY): Remove.
	* c-gimplify.cc (INCLUDE_MEMORY): Remove.
	* c-indentation.cc (INCLUDE_MEMORY): Remove.
	* c-opts.cc (INCLUDE_MEMORY): Remove.
	* c-pch.cc (INCLUDE_MEMORY): Remove.
	* c-pragma.cc (INCLUDE_MEMORY): Remove.
	* c-pretty-print.cc (INCLUDE_MEMORY): Remove.
	* c-type-mismatch.cc (INCLUDE_MEMORY): Remove.
	* c-warn.cc (INCLUDE_MEMORY): Remove.
	* known-headers.cc (INCLUDE_MEMORY): Remove.
	* name-hint.h: Remove check of INCLUDE_MEMORY.

2024-11-22  Jakub Jelinek  <jakub@redhat.com>

	PR c++/110137
	PR middle-end/101480
	* c.opt (fassume-sane-operators-new-delete): New option.

2024-11-22  Jakub Jelinek  <jakub@redhat.com>

	PR c/117641
	* c-common.cc (sync_resolve_size): For size 16 with _BitInt
	on targets where TImode isn't supported, use goto incompatible if
	!fetch.

2024-11-22  Tobias Burnus  <tburnus@baylibre.com>

	* c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_INTEROP.

2024-11-22  Tobias Burnus  <tburnus@baylibre.com>

	* c-common.h (enum c_omp_region_type): Add C_ORT_INTEROP
	and C_ORT_OMP_INTEROP.
	(c_omp_interop_t_p): New prototype.
	* c-omp.cc (c_omp_interop_t_p): Check whether the type is
	omp_interop_t.
	(c_omp_directives): Uncomment 'interop'.
	* c-pragma.cc (omp_pragmas): Add 'interop'.
	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_INTEROP.
	(enum pragma_omp_clause): Add init, use, and destroy clauses.

2024-11-21  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (std=c23, std=gnu23, std=iso9899:2024): Adjust description
	for publication of the ISO/IEC 9899:2024 standard.

2024-11-20  Paul-Antoine Arras  <parras@baylibre.com>

	* c-attribs.cc (c_common_gnu_attributes): Add attribute for adjust_args
	need_device_ptr.
	* c-omp.cc (c_omp_directives): Uncomment dispatch.
	* c-pragma.cc (omp_pragmas): Add dispatch.
	* c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_DISPATCH.
	(enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NOCONTEXT and
	PRAGMA_OMP_CLAUSE_NOVARIANTS.

2024-11-19  Jakub Jelinek  <jakub@redhat.com>

	PR c/117641
	* c-common.cc (sync_resolve_size): For size == 16 fetch of
	BITINT_TYPE if TImode isn't supported scalar mode diagnose
	and return 0 if orig_format instead of returning 16.

2024-11-18  David Malcolm  <dmalcolm@redhat.com>

	PR other/116253
	* c-opts.cc (c_diagnostic_text_finalizer): Use
	text_output.build_indent_prefix for prefix to
	diagnostic_show_locus.

2024-11-17  Jason Merrill  <jason@redhat.com>

	* c.opt.urls: Regenerate.

2024-11-17  Florian Weimer  <fweimer@redhat.com>

	PR c/95445
	* c-opts.cc (c_common_post_options): Initialize
	warn_deprecated_non_prototype.
	* c.opt (Wdeprecated-non-prototype): New option.
	* c.opt.urls: Regenerate.

2024-11-17  Jason Merrill  <jason@redhat.com>

	* c-ppoutput.cc (preprocess_file): Don't set directives_only here.

2024-11-17  Jason Merrill  <jason@redhat.com>

	* c.opt: Add -fsearch-include-path.
	* c-opts.cc (c_common_post_options): Handle it.

2024-11-15  Joseph Myers  <josmyers@redhat.com>

	* c-opts.cc (c_common_init_options): Default to C23.

2024-11-15  Florian Weimer  <fweimer@redhat.com>

	* c.opt.urls: Regenerate.

2024-11-15  Florian Weimer  <fweimer@redhat.com>

	* c-opts.cc (c_common_post_options): Initialize
	warn_missing_parameter_name.
	* c.opt (Wmissing-parameter-name): New.

2024-11-15  Jakub Jelinek  <jakub@redhat.com>

	* c-common.h (enum rid): Add RID_DFLOAT64X.
	* c-common.cc (c_global_trees): Fix comment typo.  Add
	dfloat64x_type_node.
	(c_common_nodes_and_builtins): Handle RID_DFLOAT64X.
	* c-cppbuiltin.cc (c_cpp_builtins): Call
	builtin_define_decimal_float_constants also for dfloat64x_type_node
	if non-NULL.
	* c-lex.cc (interpret_float): Handle d64x suffixes.
	* c-pretty-print.cc (pp_c_floating_constant): Print d64x suffixes
	on dfloat64x_type_node typed constants.

2024-11-13  Martin Uecker  <uecker@tugraz.at>

	PR c/117059
	* c.opt (Wzero-as-null-pointer-constant): Enable for C and ObjC.

2024-11-13  Jakub Jelinek  <jakub@redhat.com>

	* c-lex.cc (interpret_float): Subtract 3 or 4 from copylen
	rather than 2 if last character of CPP_N_DFLOAT is a digit.

2024-11-12  Jason Merrill  <jason@redhat.com>

	* c.opt.urls: Regenerate.

2024-11-11  Jason Merrill  <jason@redhat.com>

	* c.opt: Add -fmodules with same effect as -fmodules-ts.

2024-11-11  Jakub Jelinek  <jakub@redhat.com>

	* c-common.h (enum rid): Add RID_BUILTIN_OPERATOR_NEW
	and RID_BUILTIN_OPERATOR_DELETE.
	(names_builtin_p): Change return type from bool to int.
	* c-common.cc (c_common_reswords): Add __builtin_operator_new
	and __builtin_operator_delete.

2024-11-07  Paul Iannetta  <piannetta@kalrayinc.com>

	* c-pragma.cc (struct pragma_pp_data): Use (struct internal_pragma_handler);
	(c_register_pragma_1): Always register name and space for all pragmas.
	(c_invoke_pragma_handler): Adapt.
	(c_invoke_early_pragma_handler): Likewise.
	(c_pp_invoke_early_pragma_handler): Likewise.

2024-11-01  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (std=c++2b, std=c++23, std=gnu++2b, std=gnu++23): Adjust
	description now that ISO C++ 14882:2024 is published.

2024-10-31  Martin Uecker  <uecker@tugraz.at>

	PR c/117145
	PR c/117245
	PR c/100420
	* c-pretty-print.cc (c_pretty_printer::direct_abstract_declarator):
	Detect arrays of unspecified size.

2024-10-30  Joseph Myers  <josmyers@redhat.com>

	* c.opt (std=c23, std=gnu23, std=iso9899:2024): Do not mark as
	experimental and incomplete.

2024-10-30  Jakub Jelinek  <jakub@redhat.com>

	PR c/117021
	* c-common.cc (c_add_case_label): Emit different diagnostics for C
	on case ranges.  Diagnose for C using pedwarn conversions of range
	expressions changing value and don't emit further conversion
	diagnostics if the pedwarn has been diagnosed.  For empty ranges
	bail out after emitting warning, don't add anything into splay
	trees nor add a CASE_LABEL_EXPR.

2024-10-29  David Malcolm  <dmalcolm@redhat.com>

	PR other/116613
	* c-format.cc (selftest::test_type_mismatch_range_labels): Update
	for m_printer becoming reference printer.
	(selftest::test_type_mismatch_range_labels): Likewise.

2024-10-29  Jakub Jelinek  <jakub@redhat.com>

	PR c/117313
	* c-common.cc (complete_array_type): For RAW_DATA_CST elements
	advance curindex by RAW_DATA_LENGTH or one less than that if
	ce->index is non-NULL.  Handle even the first element if
	it is RAW_DATA_CST.  Formatting fix.

2024-10-29  Jakub Jelinek  <jakub@redhat.com>

	PR c/117030
	* c-common.cc (c_common_reswords): Add __builtin_stdc_rotate_left
	and __builtin_stdc_rotate_right.
	* c-ubsan.cc (ubsan_instrument_shift): For {L,R}ROTATE_EXPR
	just check if op1 is negative.

2024-10-27  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (warn_trailing_whitespace_kind): Change blank
	to blanks and space to any.

2024-10-25  Jakub Jelinek  <jakub@redhat.com>

	* c-ubsan.cc: Remove trailing whitespace.
	* stub-objc.cc: Likewise.
	* c-pragma.cc: Likewise.
	* c-ppoutput.cc: Likewise.
	* c-indentation.cc: Likewise.
	* c-ada-spec.cc: Likewise.
	* c-opts.cc: Likewise.
	* c-common.cc: Likewise.
	* c-format.cc: Likewise.
	* c-omp.cc: Likewise.
	* c-objc.h: Likewise.
	* c-cppbuiltin.cc: Likewise.
	* c-attribs.cc: Likewise.
	* c-target.def: Likewise.
	* c-common.h: Likewise.

2024-10-24  David Malcolm  <dmalcolm@redhat.com>
	    Gaius Mulley  <gaiusmod2@gmail.com>

	PR other/116613
	* c-ada-spec.cc: Add #define INCLUDE_MEMORY.
	* c-attribs.cc: Likewise.
	* c-common.cc: Likewise.
	* c-format.cc: Likewise.
	* c-gimplify.cc: Likewise.
	* c-indentation.cc: Likewise.
	* c-opts.cc: Likewise.
	* c-pch.cc: Likewise.
	* c-pragma.cc: Likewise.
	* c-pretty-print.cc: Likewise.  Add #include "make-unique.h".
	(c_pretty_printer::clone): Use std::unique_ptr and ::make_unique.
	* c-pretty-print.h (c_pretty_printer::clone): Use std::unique_ptr.
	* c-type-mismatch.cc: Add #define INCLUDE_MEMORY.
	* c-warn.cc: Likewise.

2024-10-23  Jakub Jelinek  <jakub@redhat.com>

	* c.opt.urls: Regenerate.

2024-10-23  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wleading-whitespace=): New option.
	* c-opts.cc (c_common_post_options): Set cpp_opts->cpp_tabstop
	to global_dc->m_tabstop.

2024-10-22  Jakub Jelinek  <jakub@redhat.com>

	PR c/117230
	* c-warn.cc (sizeof_pointer_memaccess_warning): Only compare
	TYPE_PRECISION of TREE_TYPE (type) to precision of char if
	TREE_TYPE (type) is integral type.

2024-10-17  Jakub Jelinek  <jakub@redhat.com>

	PR c/117028
	* c.opt (Wc23-c2y-compat): Add CPP and CppReason parameters.
	* c-opts.cc (set_std_c2y): Use CLK_STDC2Y or CLK_GNUC2Y rather
	than CLK_STDC23 and CLK_GNUC23.  Formatting fix.
	* c-lex.cc (interpret_integer): Handle C2Y 0o or 0O prefixed
	and wb/WB/uwb/UWB suffixed octal constants.

2024-10-16  Jakub Jelinek  <jakub@redhat.com>

	* c-opts.cc (c_common_init_options, c_common_handle_option,
	c_common_finish, set_std_c89, set_std_c99, set_std_c11,
	set_std_c17, set_std_c23, set_std_cxx98, set_std_cxx11,
	set_std_cxx14, set_std_cxx17, set_std_cxx20, set_std_cxx23,
	set_std_cxx26): ?: operator formatting fixes.

2024-10-16  Jakub Jelinek  <jakub@redhat.com>

	* c-ppoutput.cc (token_streamer::stream): Add special code to spell
	CPP_EMBED token.
	* c-lex.cc (c_lex_with_flags): Handle CPP_EMBED.  Formatting fix.
	* c-common.cc (c_parse_error): Handle CPP_EMBED.
	(braced_list_to_string): Optimize RAW_DATA_CST surrounded by
	INTEGER_CSTs which match some bytes before or after RAW_DATA_CST in
	its owner.

2024-10-15  Qing Zhao  <qing.zhao@oracle.com>

	PR c/116016
	* c-common.cc: Add new __builtin_counted_by_ref.
	* c-common.h (enum rid): Add RID_BUILTIN_COUNTED_BY_REF.

2024-10-15  Jakub Jelinek  <jakub@redhat.com>

	PR c/117022
	* c-common.def (FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
	CONTINUE_STMT, SWITCH_STMT): Add an extra operand, *_NAME
	and document it.
	* c-common.h (bc_hash_map_t): New typedef.
	(struct bc_state): Add bc_hash_map member.
	(WHILE_NAME, DO_NAME, FOR_NAME, BREAK_NAME, CONTINUE_NAME,
	SWITCH_STMT_NAME): Define.
	* c-pretty-print.cc (c_pretty_printer::statement): Print
	BREAK_STMT or CONTINUE_STMT operand if any.
	* c-gimplify.cc (bc_hash_map): New static variable.
	(note_named_bc, release_named_bc): New functions.
	(save_bc_state): Save and clear bc_hash_map.
	(restore_bc_state): Assert NULL and restore bc_hash_map.
	(genericize_c_loop): Add NAME argument, call note_named_bc
	and release_named_bc if non-NULL around the body walk.
	(genericize_for_stmt, genericize_while_stmt, genericize_do_stmt):
	Adjust callers of it.
	(genericize_switch_stmt): Rename break_block variable to blab.
	Call note_named_bc and release_named_bc if SWITCH_STMT_NAME is
	non-NULL around the body walk.
	(genericize_continue_stmt): Handle non-NULL CONTINUE_NAME.
	(genericize_break_stmt): Handle non-NULL BREAK_NAME.
	(c_genericize): Delete and clear bc_hash_map.

2024-10-15  Andrew Pinski  <quic_apinski@quicinc.com>

	PR c++/117157
	* c.opt.urls: Regenerate.

2024-10-15  Jakub Jelinek  <jakub@redhat.com>

	* c.opt (Wtrailing-whitespace=): New option.
	(Wtrailing-whitespace): New alias.
	* c.opt.urls: Regenerate.

2024-10-12  Jakub Jelinek  <jakub@redhat.com>

	* c-lex.cc (c_common_has_attribute,
	c_common_lex_availability_macro): Fix up -Wformat-diag warnings.

2024-10-09  Jason Merrill  <jason@redhat.com>

	* c-ppoutput.cc (preprocess_file): Set directives_only flag.

2024-10-09  Ken Matsui  <kmatsui@gcc.gnu.org>

	PR preprocessor/89808
	* c.opt (Wpragma_once_outside_header): Define new option.
	* c.opt.urls: Regenerate.

2024-10-07  Jason Merrill  <jason@redhat.com>

	* c-ppoutput.cc (preprocess_file): For modules,
	use directives-only scan even with flag_no_output.
	(directives_only_cb): Respect flag_no_output.

2024-10-03  Jason Merrill  <jason@redhat.com>

	* c-opts.cc (c_common_post_options): Explicit -Wdeprecated enables
	deprecations from later standards.

2024-10-03  Jason Merrill  <jason@redhat.com>

	* c.opt: Add -Wdeprecated-literal-operator.
	* c-opts.cc (c_common_post_options): Default on in C++23.
	* c.opt.urls: Regenerate.

2024-10-02  Jakub Jelinek  <jakub@redhat.com>

	PR preprocessor/96842
	* c.opt (Wheader-guard): New option.
	* c.opt.urls: Regenerated.
	* c-ppoutput.cc (init_pp_output): Initialize also cb->get_suggestion.

2024-10-01  Jason Merrill  <jason@redhat.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Don't define __cpp_concepts
	before C++17.

2024-09-30  David Malcolm  <dmalcolm@redhat.com>

	PR other/116613
	* c-format.cc (selftest::test_type_mismatch_range_labels):
	Explicitly pass in dc.m_printer to diagnostic_show_locus.

2024-09-27  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/116847
	* c-pch.cc: Include diagnostic.h.
	(c_common_write_pch): Call global_dc->pch_save.
	(c_common_read_pch): Call global_dc->pch_restore.

2024-09-25  Mikael Morin  <mikael@gcc.gnu.org>

	PR other/116801
	* c.opt.urls: Regenerate.

2024-09-25  Marek Polacek  <polacek@redhat.com>

	* c-pretty-print.cc (c_pretty_printer::primary_expression): Use
	TARGET_EXPR accessors.
	(c_pretty_printer::expression): Likewise.

2024-09-24  Jakub Jelinek  <jakub@redhat.com>

	* c.opt.urls: Regenerate.

2024-09-24  Jakub Jelinek  <jakub@redhat.com>

	PR c++/107637
	* c.opt (frange-for-ext-temps): New option.
	* c-opts.cc (c_common_post_options): Set flag_range_for_ext_temps
	for C++23 or later or for C++11 or later in !flag_iso mode if
	the option wasn't set by user.
	* c-cppbuiltin.cc (c_cpp_builtins): Change __cpp_range_based_for
	value for flag_range_for_ext_temps from 201603L to 202212L in C++17
	or later.
	* c-omp.cc (c_find_nested_loop_xform_r): Handle CLEANUP_POINT_EXPR
	like TRY_FINALLY_EXPR.

2024-09-20  David Malcolm  <dmalcolm@redhat.com>

	PR other/116613
	* c-opts.cc: Include "diagnostic-format-text.h".
	(c_diagnostic_finalizer): Rename to...
	(c_diagnostic_text_finalizer): ...this.  Convert first param
	from diagnostic_context * to diagnostic_text_output_format & and
	update accordingly.
	(c_common_diagnostics_set_defaults): Update for renamings.

2024-09-19  Marek Polacek  <polacek@redhat.com>

	* c.opt.urls: Regenerate.

2024-09-19  Marek Polacek  <polacek@redhat.com>

	PR c++/116162
	* c.opt (Wdefaulted-function-deleted): New.

2024-09-12  Jason Merrill  <jason@redhat.com>

	* c.opt: Add CppReason for Wc++{14,17,20,23}-extensions.
	* c-pragma.cc (handle_pragma_diagnostic_impl): Don't check
	OPT_Wc__23_extensions.

2024-09-12  Jakub Jelinek  <jakub@redhat.com>

	PR c/105863
	* c.opt (-embed-dir=): New option.
	(-embed-directory): New alias.
	(-embed-directory=): New alias.
	* c-opts.cc (c_common_handle_option): Handle OPT__embed_dir_.

2024-09-09  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc (c_option_controlling_cpp_diagnostic): Return
	diagnostic_option_id rather than int.
	(c_cpp_diagnostic): Update for renaming of
	diagnostic_override_option_index to diagnostic_set_option_id.

2024-09-09  David Malcolm  <dmalcolm@redhat.com>

	PR other/116613
	* c-format.cc (selftest::test_type_mismatch_range_labels): Rename
	diagnostic_context's "printer" field to "m_printer".
	(selftest::test_type_mismatch_range_labels): Likewise.
	* c-opts.cc (c_diagnostic_finalizer): Likewise.

2024-09-06  Jason Merrill  <jason@redhat.com>

	PR c++/46457
	PR c++/81665
	* c-attribs.cc (handle_flag_enum_attribute): New.
	(c_common_gnu_attributes): Add it.
	(c_common_clang_attributes, c_common_clang_attribute_table): New.
	* c-common.h: Declare c_common_clang_attribute_table.
	* c-warn.cc (c_do_switch_warnings): Handle flag_enum.

2024-09-03  Qing Zhao  <qing.zhao@oracle.com>

	* c-attribs.cc (handle_counted_by_attribute): Is ignored and issues
	warning with -Wattributes in C++ for now.

2024-09-03  David Malcolm  <dmalcolm@redhat.com>

	* c-ada-spec.cc (dump_ada_node): Prefix all output_buffer fields
	with "m_".
	* c-pretty-print.cc (pp_c_integer_constant): Likewise.
	(pp_c_integer_constant): Likewise.
	(pp_c_floating_constant): Likewise.
	(pp_c_fixed_constant): Likewise.

2024-08-31  Jakub Jelinek  <jakub@redhat.com>

	PR c/116130
	* c-attribs.cc (c_common_gnu_attributes): Add entries for
	"unsequenced", "reproducible", "unsequenced noptr" and
	"reproducible noptr" attributes.
	(handle_unsequenced_attribute): New function.
	(handle_reproducible_attribute): Likewise.
	* c-common.h (handle_unsequenced_attribute): Declare.
	(handle_reproducible_attribute): Likewise.
	* c-lex.cc (c_common_has_attribute): Return 202311 for standard
	unsequenced and reproducible attributes.

2024-08-28  Jason Merrill  <jason@redhat.com>

	* c-pragma.cc (handle_pragma_diagnostic_impl): Also handle
	-Wc++23-extensions early.
	* c-lex.cc (interpret_float): Use -Wc++23-extensions for extended
	floating point literal pedwarn.

2024-08-09  Patrick Palka  <ppalka@redhat.com>

	* c.opt.urls: Regenerate.

2024-08-09  Jakub Jelinek  <jakub@redhat.com>

	* c-pragma.cc (c_pp_lookup_pragma): Use ARRAY_SIZE in
	n_omp_pragmas_simd initializer.
	(init_pragmas): Likewise.

2024-08-08  Jakub Jelinek  <jakub@redhat.com>

	PR c++/115744
	* c-cppbuiltin.cc (c_cpp_builtins): Change __cpp_constexpr
	from 202306L to 202406L for C++26.

2024-08-07  Patrick Palka  <ppalka@redhat.com>

	PR c++/116064
	* c.opt (Wtemplate-body): New warning.

2024-08-02  Marek Polacek  <polacek@redhat.com>

	* c.opt (Wdangling-reference): Move from -Wall to -Wextra.

2024-07-30  Paul-Antoine Arras  <parras@baylibre.com>

	* c-format.cc (gcc_gfc_char_table): Add formats for tree objects.

2024-07-23  Andi Kleen  <ak@linux.intel.com>

	* c-attribs.cc (set_musttail_on_return): New function.
	* c-common.h (set_musttail_on_return): Declare new function.

2024-07-20  Andi Kleen  <ak@gcc.gnu.org>

	Revert:
	2024-07-20  Andi Kleen  <ak@linux.intel.com>

	* c-attribs.cc (set_musttail_on_return): New function.
	* c-common.h (set_musttail_on_return): Declare new function.

2024-07-20  Andi Kleen  <ak@linux.intel.com>

	* c-attribs.cc (set_musttail_on_return): New function.
	* c-common.h (set_musttail_on_return): Declare new function.

2024-07-20  Andi Kleen  <ak@linux.intel.com>

	PR c/83324
	* c-attribs.cc (handle_musttail_attribute): Add.
	* c-common.h (handle_musttail_attribute): Add.

2024-07-17  Mark Wielaard  <mark@klomp.org>

	* c.opt.urls: Regenerate.

2024-07-14  Alejandro Colomar  <alx@kernel.org>

	PR c/115185
	* c.opt: Add -Wunterminated-string-initialization.

2024-07-13  David Malcolm  <dmalcolm@redhat.com>

	* c-common.cc: Include "tree-pretty-print-markup.h".
	(binary_op_error): Use pp_markup::element_quoted_type and %e.
	(check_function_arguments): Add "comp_types" param and pass it to
	check_function_format.
	* c-common.h (check_function_arguments): Add "comp_types" param.
	(check_function_format): Likewise.
	* c-format.cc: Include "tree-pretty-print-markup.h".
	(local_pp_element_ptr_node): New.
	(PP_FORMAT_CHAR_TABLE): Add entry for %e.
	(struct format_check_context): Add "m_comp_types" field.
	(check_function_format): Add "comp_types" param and pass it to
	check_format_info.
	(check_format_info): Likewise, passing it to format_ctx's ctor.
	(check_format_arg): Extract m_comp_types from format_ctx and
	pass it to check_format_info_main.
	(check_format_info_main): Add "comp_types" param and pass it to
	arg_parser's ctor.
	(class argument_parser): Add "m_comp_types" field.
	(argument_parser::check_argument_type): Pass m_comp_types to
	check_format_types.
	(handle_subclass_of_pp_element_p): New.
	(check_format_types): Add "comp_types" param, and use it to
	call handle_subclass_of_pp_element_p.
	(class element_format_substring): New.
	(class element_expected_type_with_indirection): New.
	(format_type_warning): Use element_expected_type_with_indirection
	to unify the if (wanted_type_name) branches, reducing from four
	emit_warning calls to two.  Simplify these further using %e.
	Doing so also gives suitable colorization of the text within the
	diagnostics.
	(init_dynamic_diag_info): Initialize local_pp_element_ptr_node.
	(selftest::test_type_mismatch_range_labels): Add nullptr for new
	param of gcc_rich_location label overload.
	* c-format.h (T_PP_ELEMENT_PTR): New.
	* c-type-mismatch.cc: Include "diagnostic-highlight-colors.h".
	(binary_op_rich_location::binary_op_rich_location): Use
	highlight_colors::lhs and highlight_colors::rhs for the ranges.
	* c-type-mismatch.h (class binary_op_rich_location): Add comment
	about highlight_colors.

2024-07-10  Marek Polacek  <polacek@redhat.com>

	* c-cppbuiltin.cc (c_cpp_builtins): Remove flag_concepts_ts code.
	* c-opts.cc (c_common_post_options): Likewise.
	* c.opt: Remove -fconcepts-ts.
	* c.opt.urls: Regenerate.

2024-07-08  David Malcolm  <dmalcolm@redhat.com>

	* c-format.cc (format_check_results::format_check_results): New
	ctor.
	(struct format_check_context): Add ctor; add "m_" prefix to all
	fields.
	(check_format_info): Use above ctors.
	(check_format_arg): Update for "m_" prefix to
	format_check_context.

2024-07-03  Lewis Hyatt  <lhyatt@gmail.com>

	PR pch/115312
	* c-opts.cc (c_common_init): Call c_init_preprocess() before
	c_finish_options() so that a parser is available to process any
	includes specified on the command line.

2024-06-25  Andrew Pinski  <quic_apinski@quicinc.com>

	PR c++/115624
	* c.opt (Wnrvo): Add Warning property.

2024-06-18  David Malcolm  <dmalcolm@redhat.com>

	* c-opts.cc: Replace include of "tree-diagnostic.h" with
	"diagnostic-macro-unwinding.h".

2024-06-17  Eric Botcazou  <ebotcazou@adacore.com>

	* c-ada-spec.cc (is_float16): New predicate.
	(dump_ada_node) <REAL_TYPE>: Call it.

2024-06-17  Joseph Myers  <josmyers@redhat.c