]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
index e2dcb93723e1210520a677a73682ac4b373b8ea3..1fade0a09292e7f8bff8f0bc85ea7932fc0f0454 100644 (file)
@@ -1,3 +1,875 @@
+2022-10-12  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/60014
+       PR preprocessor/60723
+       * c-ppoutput.cc (class token_streamer): Remove member
+       line_marker_emitted to...
+       (token_streamer::stream): ...a local variable here. Set
+       print.prev_was_system_token on all code paths.
+
+2022-10-10  Nathan Sidwell  <nathan@acm.org>
+
+       * c-opts.cc (c_common_post_options): Bump abi to 18.
+
+2022-10-10  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/106937
+       * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU
+       attributes here.
+       (c_pretty_printer::direct_abstract_declarator): Print the standard [[]]
+       attributes here.
+       (pp_c_attributes): Remove.
+       (pp_c_attributes_display): Print the [[]] form if appropriate.  Use
+       get_attribute_name.  Don't print a trailing space when printing the
+       [[]] form.
+       * c-pretty-print.h (pp_c_attributes): Remove.
+
+2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
+
+       * c-attribs.cc (handle_strict_flex_array_attribute): New function.
+       (c_common_attribute_table): New item for strict_flex_array.
+       * c.opt: (fstrict-flex-arrays): New option.
+       (fstrict-flex-arrays=): New option.
+
+2022-10-07  Martin Liska  <mliska@suse.cz>
+
+       * name-hint.h: Use std::move.
+
+2022-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute
+       only in gnu namespace or as standard attribute, treat fallthrough
+       attributes in other namespaces like any other unknown attribute.
+
+2022-10-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.cc (c_common_reswords): Mark typeof as D_EXT11.  Add
+       typeof_unqual.
+       * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL.
+       (D_EXT11): New macro.  Values of subsequent macros updated.
+
+2022-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106654
+       * c-attribs.cc (handle_assume_attribute): New function.
+       (c_common_attribute_table): Add entry for assume attribute.
+       * c-lex.cc (c_common_has_attribute): Handle
+       __have_cpp_attribute (assume).
+
+2022-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-omp.cc (c_omp_directives): Uncomment begin declare target
+       entry.
+
+2022-10-03  Patrick Palka  <ppalka@redhat.com>
+
+       * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of
+       RID_IS_SAME_AS.
+
+2022-10-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-cppbuiltin.cc (builtin_define_float_constants): Do not
+       special-case __*_EPSILON__ setting for IBM long double for C2x.
+
+2022-09-30  Patrick Palka  <ppalka@redhat.com>
+
+       * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle
+       C++ traits.
+       * c-common.h (enum rid): Likewise.
+
+2022-09-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for
+       C.
+
+2022-09-29  Patrick Palka  <ppalka@redhat.com>
+
+       * c-common.cc (c_common_reswords): Add __remove_cv,
+       __remove_reference and __remove_cvref.
+       * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
+       and RID_REMOVE_CVREF.
+
+2022-09-27  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101165
+       PR c++/106882
+       * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move.
+
+2022-09-27  Marek Polacek  <polacek@redhat.com>
+
+       * c-format.cc (c_keywords): Drop nothrow.
+
+2022-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106651
+       * c-cppbuiltin.cc (c_cpp_builtins): Predefine
+       __cpp_static_call_operator=202207L for C++23.
+
+2022-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME,
+       PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN.  Rename
+       PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
+       * c-pragma.cc (omp_pragmas): Add assumes and begin.
+       For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END.
+       (omp_pragmas_simd): Add assume.
+       * c-common.h (c_omp_directives): Declare.
+       * c-omp.cc (omp_directives): Rename to ...
+       (c_omp_directives): ... this.  No longer static.  Uncomment
+       assume, assumes, begin assumes and end assumes entries.
+       In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET
+       to PRAGMA_OMP_END.
+       (c_omp_categorize_directive): Adjust for omp_directives to
+       c_omp_directives renaming.
+
+2022-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106652
+       PR c++/85518
+       * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
+       _Float{32,64,128}x flags from D_CONLY to 0.
+       (shorten_binary_op): Punt if common_type returns error_mark_node.
+       (shorten_compare): Likewise.
+       (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
+       and _Float{32,64,128}x builtin types if available.  For C++
+       clear float128t_type_node.
+       * c-cppbuiltin.cc (c_cpp_builtins): Predefine
+       __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
+       * c-lex.cc (interpret_float): For q/Q suffixes prefer
+       float128t_type_node over float128_type_node.  Allow
+       {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
+       for C++20 and older.  Allow {f,F}{32,64,128}x suffixes for C++
+       with pedwarn.  Don't call excess_precision_type for C++.
+
+2022-09-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/106656
+       * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t
+       for C++20.
+
+2022-09-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/106784
+       * c-common.cc (c_common_reswords): Add __is_convertible and
+       __is_nothrow_convertible.
+       * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and
+       RID_IS_NOTHROW_CONVERTIBLE.
+
+2022-09-22  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/106830
+       * c-warn.cc (check_for_xor_used_as_pow): Don't try checking
+       values that don't fit in uhwi.
+
+2022-09-15  Richard Biener  <rguenther@suse.de>
+
+       * c-common.h (build_void_list_node): Remove.
+       * c-common.cc (c_common_nodes_and_builtins): Do not initialize
+       void_list_node.
+
+2022-09-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * c-format.cc (convert_format_name_to_system_name): Fix warning.
+
+2022-09-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY
+       for alignas, alignof, bool, false, static_assert, thread_local and
+       true.
+
+2022-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * c.opt (Winvalid-utf8): Use ObjC instead of objC.  Remove
+       " in comments" from description.
+       (Wunicode): New option.
+
+2022-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/106836
+       * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS.
+
+2022-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS.
+       * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS
+       clause and diagnose it.  Don't handle OMP_CLAUSE_DEPEND_SOURCE and
+       OMP_CLAUSE_DEPEND_SINK.  Assert kind is not OMP_CLAUSE_DEPEND_INVALID.
+
+2022-09-02  David Malcolm  <dmalcolm@redhat.com>
+
+       PR c/90885
+       * c-common.h (check_for_xor_used_as_pow): New decl.
+       * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate.
+       * c-warn.cc (check_for_xor_used_as_pow): New.
+       * c.opt (Wxor-used-as-pow): New.
+
+2022-09-01  Jason Merrill  <jason@redhat.com>
+
+       * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on
+       char8_t.
+       (braced_list_to_string): Check for char-sized elements.
+
+2022-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106655
+       * c.opt (-Winvalid-utf8): New warning.
+       * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>:
+       Set cpp_opts->cpp_input_charset_explicit.
+       (c_common_post_options): If -finput-charset=UTF-8 is explicit
+       in C++23, enable -Winvalid-utf8 by default and if -pedantic
+       or -pedantic-errors, make it a pedwarn.
+
+2022-08-31  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn
+       for LABEL_DECL.
+       * c-common.cc (c_add_case_label): Add argument ATTRS.  Call
+       decl_attributes.
+       * c-common.h (do_case, c_add_case_label): Update declarations.
+       * c-lex.cc (c_common_has_attribute): For C, produce a result of
+       201910 for fallthrough and 202106 for maybe_unused.
+
+2022-08-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/81159
+       * c.opt (Wself-move): New option.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.cc (check_builtin_function_arguments): Handle
+       BUILT_IN_ISSIGNALING.
+
+2022-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/106648
+       * c-cppbuiltin.cc (c_cpp_builtins): Predefine
+       __cpp_named_character_escapes to 202207L.
+
+2022-08-25  Marek Polacek  <polacek@redhat.com>
+
+       * c-common.cc (c_common_reswords): Enable nullptr in C2X.
+       (c_common_nodes_and_builtins): Create the built-in node for nullptr.
+       * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE.
+       (struct c_common_resword): Resize the disable member.
+       (D_C2X): Add.
+       (nullptr_node): Define.
+       (nullptr_type_node): Define.
+       (NULLPTR_TYPE_P): Define.
+       * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle
+       NULLPTR_TYPE.
+       (c_pretty_printer::direct_abstract_declarator): Likewise.
+       (c_pretty_printer::constant): Likewise.
+
+2022-08-16  Tom Honermann  <tom@honermann.net>
+
+       PR c++/106423
+       * c-opts.cc (c_common_post_options): Disable -Wc++20-compat
+       diagnostics in C++20 and later.
+       * c.opt (Wc++20-compat): Enable hooks for the preprocessor.
+
+2022-08-11  Marek Polacek  <polacek@redhat.com>
+
+       PR middle-end/102633
+       * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call
+       suppress_warning here.
+
+2022-08-08  Tom Honermann  <tom@honermann.net>
+
+       PR preprocessor/106426
+       * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char
+       subject to -fchar8_t, -fsigned-char, and/or -funsigned-char.
+
+2022-08-08  Tom Honermann  <tom@honermann.net>
+
+       * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type
+       of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is
+       enabled.
+       * c-opts.cc (c_common_post_options): Set flag_char8_t if
+       targeting C2x.
+
+2022-07-31  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR c++/66290
+       * c-common.h: Rename global done_lexing to
+       override_libcpp_locations.
+       * c-common.cc (c_cpp_diagnostic): Likewise.
+       * c-opts.cc (c_common_finish): Set override_libcpp_locations
+       (formerly done_lexing) immediately prior to calling cpp_finish ().
+
+2022-07-27  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * c-ppoutput.cc (token_streamer::stream): Update input_location
+       prior to streaming each token.
+
+2022-07-23  Immad Mir  <mirimmad@outlook.com>
+
+       * c-attribs.cc: (c_common_attribute_table): add three new attributes
+       namely: fd_arg, fd_arg_read and fd_arg_write.
+       (handle_fd_arg_attribute): New.
+
+2022-07-15  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/104477
+       * c-common.cc (c_common_reswords): Add
+       __reference_constructs_from_temporary and
+       __reference_converts_from_temporary.
+       * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and
+       RID_REF_CONVERTS_FROM_TEMPORARY.
+
+2022-07-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * c-format.cc (class range_label_for_format_type_mismatch):
+       Adjust to new label_text API.
+
+2022-07-11  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/106252
+       * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the
+       option argument prior to verifying the option was found.
+
+2022-07-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-format.cc (range_label_for_format_type_mismatch::get_text):
+       Update for removal of label_text::maybe_free in favor of automatic
+       memory management.
+
+2022-07-06  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/53920
+       PR c++/53431
+       * c-common.cc (c_option_is_from_cpp_diagnostics): New function.
+       * c-common.h (c_option_is_from_cpp_diagnostics): Declare.
+       (c_pp_stream_token): Declare.
+       * c-ppoutput.cc (init_pp_output): Refactor logic about skipping
+       pragmas to...
+       (should_output_pragmas): ...here. New function.
+       (token_streamer::stream): Support handling early pragmas.
+       (do_line_change): Likewise.
+       (c_pp_stream_token): New function.
+       * c-pragma.cc (struct pragma_diagnostic_data): New helper class.
+       (pragma_diagnostic_lex_normal): New function. Moved logic for
+       interpreting GCC diagnostic pragmas here.
+       (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas
+       directly from libcpp.
+       (handle_pragma_diagnostic): Refactor into helper function...
+       (handle_pragma_diagnostic_impl): ...here.  New function.
+       (handle_pragma_diagnostic_early): New function.
+       (handle_pragma_diagnostic_early_pp): New function.
+       (struct pragma_ns_name): Renamed to...
+       (struct pragma_pp_data): ...this.  Add new "early_handler" member.
+       (c_register_pragma_1): Support early pragmas in the preprocessor.
+       (c_register_pragma_with_early_handler): New function.
+       (c_register_pragma): Support the new early handlers in struct
+       internal_pragma_handler.
+       (c_register_pragma_with_data): Likewise.
+       (c_register_pragma_with_expansion): Likewise.
+       (c_register_pragma_with_expansion_and_data): Likewise.
+       (c_invoke_early_pragma_handler): New function.
+       (c_pp_invoke_early_pragma_handler): New function.
+       (init_pragma): Add early pragma support for diagnostic pragmas.
+       * c-pragma.h (struct internal_pragma_handler): Add new early handler
+       members.
+       (c_register_pragma_with_early_handler): Declare.
+       (c_invoke_early_pragma_handler): Declare.
+       (c_pp_invoke_early_pragma_handler): Declare.
+
+2022-07-05  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/105626
+       * c-format.cc (check_format_arg): Don't emit -Wformat warnings with
+       u8 strings.
+
+2022-07-01  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/106111
+       * c-common.h (enum rid): Update RID_LAST_CXX20.
+
+2022-06-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * known-headers.cc (get_stdlib_header_for_name): Add <time.h>
+       names.
+
+2022-06-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/87729
+       PR c++/20423
+       * c.opt (Woverloaded-virtual): Add levels, include in -Wall.
+
+2022-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift):
+       Use flag_sanitize_trap & SANITIZE_??? instead of
+       flag_sanitize_undefined_trap_on_error.  If 2 sanitizers are involved
+       and flag_sanitize_trap differs for them, emit __builtin_trap only
+       for the comparison where trap is requested.
+       (ubsan_instrument_vla, ubsan_instrument_return): Use
+       lag_sanitize_trap & SANITIZE_??? instead of
+       flag_sanitize_undefined_trap_on_error.
+
+2022-06-13  Jason Merrill  <jason@redhat.com>
+
+       * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION.
+
+2022-05-27  Marek Polacek  <polacek@redhat.com>
+
+       PR c/90658
+       * c-attribs.cc (get_priority): Check FUNCTION_DECL.
+
+2022-05-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER.
+
+2022-05-20  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final"
+       and "override".
+       * c-pretty-print.h: Likewise.
+
+2022-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c/105131
+       * c.opt (Wenum-int-mismatch): New.
+
+2022-05-18  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/105497
+       * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled
+       enumerator when it was marked with attribute unused.
+
+2022-05-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual
+       floating-point complex types.
+       <POINTER_TYPE>: Do not use limited_with clause if the designated
+       type is a scalar type.
+
+2022-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-omp.cc (c_finish_omp_depobj): Handle
+       OMP_CLAUSE_DEPEND_INOUTSET.
+
+2022-05-16  Jason Merrill  <jason@redhat.com>
+
+       PR c/105492
+       * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs
+       here.
+
+2022-05-16  Martin Liska  <mliska@suse.cz>
+
+       * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE.
+       (c_common_nodes_and_builtins): Likewise.
+       * c-format.cc (check_tokens): Likewise.
+       (check_plain): Likewise.
+       * c-pragma.cc (c_pp_lookup_pragma): Likewise.
+       (init_pragma): Likewise.
+       * known-headers.cc (get_string_macro_hint): Likewise.
+       (get_stdlib_header_for_name): Likewise.
+       * c-attribs.cc: Likewise.
+
+2022-05-13  Richard Biener  <rguenther@suse.de>
+
+       * c-omp.cc: Remove gimple-fold.h include.
+
+2022-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY.
+       * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr
+       if null_pointer_node.
+
+2022-05-11  Martin Liska  <mliska@suse.cz>
+
+       PR target/105355
+       * c-opts.cc (c_common_handle_option): Change option name.
+       * c.opt: Remove Joined and use Separate option.
+
+2022-05-09  Alex Coplan  <alex.coplan@arm.com>
+
+       * c-common.h (get_dump_info): Delete.
+       * c-gimplify.cc (c_genericize): Get TDI_original dump file info
+       from the global dump_manager instead of the (now obsolete)
+       get_dump_info.
+       * c-opts.cc (original_dump_file): Delete.
+       (original_dump_flags): Delete.
+       (c_common_parse_file): Switch to using global dump_manager to
+       manage the original dump file; fix leak of dump file.
+       (get_dump_info): Delete.
+
+2022-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101833
+       PR c++/47634
+       * c-attribs.cc (positional_argument): Pass POS by reference.  Deal
+       with FN being either a function declaration or function type.  Use
+       maybe_adjust_arg_pos_for_attribute.
+       * c-common.cc (check_function_arguments): Maybe pass FNDECL down to
+       check_function_format.
+       * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare.
+       (positional_argument): Adjust.
+       * c-format.cc (get_constant): Rename to ...
+       (validate_constant): ... this.  Take EXPR by reference.  Return bool
+       instead of tree.
+       (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the
+       return value of validate_constant.
+       (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and
+       FIRST_ARG_NUM_EXPR by the return value of validate_constant.
+       (check_function_format): Adjust a parameter name.
+       (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr.
+
+2022-05-04  Marek Polacek  <polacek@redhat.com>
+
+       * c-warn.cc (warnings_for_convert_and_check): Convert constants of type
+       char to int.
+
+2022-04-30  Jason Merrill  <jason@redhat.com>
+
+       PR c/100545
+       * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned,
+       and typedef.
+       * c-common.cc (set_underlying_type): Add assert.
+
+2022-04-26  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/105304
+       * c-common.cc (verify_tree) [restart]: Move up to before the
+       NULL test.
+
+2022-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/105186
+       * c-common.cc (c_common_nodes_and_builtins): After registering __int%d
+       and __int%d__ builtin types, initialize corresponding ridpointers
+       entry.
+
+2022-03-30  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101030
+       * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call
+       conversion_warning when OP1 is null.
+
+2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions)
+       (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy'
+       option properties.
+
+2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c.opt (Wuse-after-free): Remove.
+
+2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c.opt (Warray-bounds): Remove.
+
+2022-03-26  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * c.opt: Properly quote comment.
+
+2022-03-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute
+       (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but
+       the referenced type instead.  Deal with the anonymous original type
+       of a typedef'ed type.  In the actual access case, follow the chain
+       of external subtypes.
+       <TYPE_DECL>: Tidy up control flow.
+
+2022-03-21  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * c-ada-spec.cc: Change array length
+
+2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
+
+       * c-common.cc (c_family_tests): Call the new tests.
+       * c-common.h (c_diagnostic_tests): Declare.
+       (c_opt_problem_cc_tests): Likewise.
+
+2022-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/101515
+       * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't
+       return COMPONENT_REFs with FIELD_DECLs whose containing scope can't
+       be printed.
+
+2022-03-16  Christophe Lyon  <christophe.lyon@arm.com>
+           Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR c/98198
+       * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check.
+
+2022-03-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96780
+       * c.opt: Add -ffold-simple-inlines.
+
+2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * c-target.def (check_string_object_format_arg): Fix description typo.
+
+2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR other/65095
+       * c-common.h (c_omp_map_clause_name): Remove.
+       * c-omp.cc (c_omp_map_clause_name): Remove.
+
+2022-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/104711
+       * c-opts.cc (c_common_post_options): Don't enable
+       -Wshift-negative-value from -Wextra for C++20 or later.
+       * c-ubsan.cc (ubsan_instrument_shift): Adjust comments.
+       * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS
+       instead of TYPE_UNSIGNED.
+
+2022-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-attribs.cc: Fix up duplicated word issue in a comment.
+
+2022-03-01  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/104533
+       * c-attribs.cc (handle_target_clones_attribute): Use
+       get_target_clone_attr_len and report warning soon.
+
+2022-02-17  Jonathan Wakely  <jwakely@redhat.com>
+
+       * c-pragma.cc (handle_pragma_pack): Remove parameter name.
+       (handle_pragma_weak): Likewise.
+       (handle_pragma_scalar_storage_order): Likewise.
+       (handle_pragma_redefine_extname): Likewise.
+       (handle_pragma_visibility): Likewise.
+       (handle_pragma_diagnostic): Likewise.
+       (handle_pragma_target): Likewise.
+       (handle_pragma_optimize): Likewise.
+       (handle_pragma_push_options): Likewise.
+       (handle_pragma_pop_options): Likewise.
+       (handle_pragma_reset_options): Likewise.
+       (handle_pragma_message): Likewise.
+       (handle_pragma_float_const_decimal64): Likewise.
+
+2022-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/104531
+       * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first
+       build_binary_op with LT_EXPR and only if that doesn't return
+       error_mark_node call build_modify_expr.
+
+2022-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/104510
+       * c-common.cc (shorten_compare): Convert original arguments to
+       the original *restype_ptr when mixing binary and decimal float.
+
+2022-02-14  Richard Biener  <rguenther@suse.de>
+
+       PR c/104505
+       * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle
+       internal function calls.
+
+2022-02-11  Richard Biener  <rguenther@suse.de>
+
+       * c-attribs.cc (c_common_attribute_table): Add entry for
+       vector_mask.
+       (handle_vector_mask_attribute): New.
+
+2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
+       * c-pragma.h (enum pragma_kind): Added 5.1 in comment.
+       (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR.
+
+2022-02-09  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.cc (c_cpp_builtins): Update values
+       of __cpp_constexpr and __cpp_concepts for C++20.
+
+2022-01-24  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/104030
+       * c.opt (Wbidi-chars): Mark as EnumSet.  Also accept =ucn.
+
+2022-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/104148
+       * c-common.h (check_function_arguments_recurse): Add for_format
+       arg.
+       * c-common.cc (check_function_nonnull): Pass false to
+       check_function_arguments_recurse's last argument.
+       (check_function_arguments_recurse): Add for_format argument,
+       if true, don't stop on warning_suppressed_p.
+       * c-format.cc (check_format_info): Pass true to
+       check_function_arguments_recurse's last argument.
+
+2022-01-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-common.cc (c_common_c_tests): Rename to...
+       (c_common_cc_tests): ...this.
+       (c_family_tests): Update calls for .c to .cc renaming.
+       * c-common.h (c_format_c_tests): Rename to...
+       (c_format_cc_tests): ...this.
+       (c_indentation_c_tests): Rename to...
+       (c_indentation_cc_tests): ...this.
+       (c_pretty_print_c_tests): Rename to...
+       (c_pretty_print_cc_tests): ...this.
+       * c-format.cc (c_format_c_tests): Rename to...
+       (c_format_cc_tests): ...this.
+       * c-indentation.cc (c_indentation_c_tests): Rename to...
+       (c_indentation_cc_tests): ...this.
+       * c-pretty-print.cc (c_pretty_print_c_tests): Rename to...
+       (c_pretty_print_cc_tests): ...this.
+
+2022-01-17  Martin Liska  <mliska@suse.cz>
+
+       * c-ada-spec.cc: Rename .c names to .cc.
+       * c-ada-spec.h: Likewise.
+       * c-common.cc (c_build_vec_convert): Likewise.
+       (warning_candidate_p): Likewise.
+       * c-common.h (enum rid): Likewise.
+       (build_real_imag_expr): Likewise.
+       (finish_label_address_expr): Likewise.
+       (c_get_substring_location): Likewise.
+       (c_build_bind_expr): Likewise.
+       (conflict_marker_get_final_tok_kind): Likewise.
+       (c_parse_error): Likewise.
+       (check_missing_format_attribute): Likewise.
+       (invalid_array_size_error): Likewise.
+       (warn_for_multistatement_macros): Likewise.
+       (build_attr_access_from_parms): Likewise.
+       * c-cppbuiltin.cc (c_cpp_builtins): Likewise.
+       * c-format.cc: Likewise.
+       * c-gimplify.cc (c_gimplify_expr): Likewise.
+       * c-indentation.h: Likewise.
+       * c-objc.h (objc_prop_attr_kind_for_rid): Likewise.
+       * c-omp.cc (c_omp_predetermined_mapping): Likewise.
+       * c-opts.cc (c_common_post_options): Likewise.
+       (set_std_cxx23): Likewise.
+       * c-pragma.cc (handle_pragma_redefine_extname): Likewise.
+       * c-pretty-print.h: Likewise.
+
+2022-01-17  Martin Liska  <mliska@suse.cz>
+
+       * c-ada-spec.c: Moved to...
+       * c-ada-spec.cc: ...here.
+       * c-attribs.c: Moved to...
+       * c-attribs.cc: ...here.
+       * c-common.c: Moved to...
+       * c-common.cc: ...here.
+       * c-cppbuiltin.c: Moved to...
+       * c-cppbuiltin.cc: ...here.
+       * c-dump.c: Moved to...
+       * c-dump.cc: ...here.
+       * c-format.c: Moved to...
+       * c-format.cc: ...here.
+       * c-gimplify.c: Moved to...
+       * c-gimplify.cc: ...here.
+       * c-indentation.c: Moved to...
+       * c-indentation.cc: ...here.
+       * c-lex.c: Moved to...
+       * c-lex.cc: ...here.
+       * c-omp.c: Moved to...
+       * c-omp.cc: ...here.
+       * c-opts.c: Moved to...
+       * c-opts.cc: ...here.
+       * c-pch.c: Moved to...
+       * c-pch.cc: ...here.
+       * c-ppoutput.c: Moved to...
+       * c-ppoutput.cc: ...here.
+       * c-pragma.c: Moved to...
+       * c-pragma.cc: ...here.
+       * c-pretty-print.c: Moved to...
+       * c-pretty-print.cc: ...here.
+       * c-semantics.c: Moved to...
+       * c-semantics.cc: ...here.
+       * c-ubsan.c: Moved to...
+       * c-ubsan.cc: ...here.
+       * c-warn.c: Moved to...
+       * c-warn.cc: ...here.
+       * cppspec.c: Moved to...
+       * cppspec.cc: ...here.
+       * stub-objc.c: Moved to...
+       * stub-objc.cc: ...here.
+
+2022-01-15  Martin Sebor  <msebor@redhat.com>
+
+       PR c/63272
+       * c.opt (-Wdangling-pointer): New option.
+
+2022-01-15  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/80532
+       * c.opt (-Wuse-after-free): New options.
+
+2022-01-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-attribs.c (c_common_attribute_table): Add "tainted_args".
+       (handle_tainted_args_attribute): New.
+
+2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/70417
+       * c.opt: Added -Wmissing-template-keyword.
+
+2022-01-13  Richard Biener  <rguenther@suse.de>
+
+       PR c/104002
+       * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR.
+
+2022-01-12  Martin Liska  <mliska@suse.cz>
+
+       PR target/103804
+       * c-attribs.c (handle_optimize_attribute): Do not call
+       cl_optimization_compare if we seen an error.
+
+2022-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/101537
+       PR c/103881
+       * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR
+       and BIT_XOR_EXPR.
+
+2022-01-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/101530
+       * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF
+       in a TARGET_EXPR to force a temporary.
+
+2022-01-06  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103758
+       * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in
+       diagnostic messages.
+       (handle_pragma_diagnostic): Likewise.
+
+2022-01-03  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/103758
+       * c-format.c (check_tokens): Accept "decl-specifier*".
+
+2022-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103600
+       * c-attribs.c (handle_non_overlapping_attribute): New function.
+       (c_common_attribute_table): Add "non overlapping" attribute.
+
+2021-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/103012
+       * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform
+       cpp_define_unused/cpp_undef calls with forced token locations
+       BUILTINS_LOCATION.
+
+2021-12-27  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/103700
+       * c-common.c (pointer_int_sum): When quiet, return
+       error_mark_node for an incomplete pointed-to type and don't
+       call size_in_bytes_loc.
+
+2021-12-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/103681
+       * c-opts.c (c_common_post_options): Update defaults.
+
 2021-12-16  Martin Liska  <mliska@suse.cz>
 
        PR target/103709
        * c-common.c: Include gt-c-family-c-common.h.
        * c-pragma.c: Include gt-c-family-c-pragma.h.
 \f
-Copyright (C) 2010-2021 Free Software Foundation, Inc.
+Copyright (C) 2010-2022 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright