]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
index fea41f489665df978af516b136ac824792d0a19b..1fade0a09292e7f8bff8f0bc85ea7932fc0f0454 100644 (file)
@@ -1,3 +1,272 @@
+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