diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2021-10-07 00:16:24 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2021-10-07 00:16:24 +0000 |
commit | 57c7ec62ee0fbc33cacc5feb3e26d3ad4f765cdb (patch) | |
tree | 63cad90a8f6edf9912f00ca3a07497ea8f7627ce /gcc/cp/ChangeLog | |
parent | 6aab794614d26007d6886d7440f2e8124a08416a (diff) | |
download | gcc-57c7ec62ee0fbc33cacc5feb3e26d3ad4f765cdb.zip gcc-57c7ec62ee0fbc33cacc5feb3e26d3ad4f765cdb.tar.gz gcc-57c7ec62ee0fbc33cacc5feb3e26d3ad4f765cdb.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 663c0b1..97d0a35 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,52 @@ +2021-10-06 Jakub Jelinek <jakub@redhat.com> + + PR c++/102612 + * parser.c (cp_parser_jump_statement): Implement C++23 P2242R3. + Allow goto expressions in constexpr function bodies for C++23. + Adjust error message for older standards to mention it. + * decl.c (start_decl): Allow static and thread_local declarations + in constexpr function bodies for C++23. Adjust error message for + older standards to mention it. + * constexpr.c (ensure_literal_type_for_constexpr_object): Allow + declarations of variables with non-literal type in constexpr function + bodies for C++23. Adjust error message for older standards to mention + it. + (cxx_eval_constant_expression) <case DECL_EXPR>: Diagnose declarations + of initialization of static or thread_local vars. + (cxx_eval_constant_expression) <case GOTO_EXPR>: Diagnose goto + statements for C++23. + (potential_constant_expression_1) <case DECL_EXPR>: Swap the + CP_DECL_THREAD_LOCAL_P and TREE_STATIC checks. + (potential_constant_expression_1) <case LABEL_EXPR>: Allow labels for + C++23. Adjust error message for older standards to mention it. + +2021-10-06 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/98712 + PR c++/102490 + * cp-tree.h (maybe_synthesize_method): Declare. + * method.c (genericize_spaceship): Use + LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of + LOOKUP_NORMAL for flags. + (comp_info): Remove defining member. Add complain, code, retcat. + (comp_info::comp_info): Adjust. + (do_one_comp): Split out from build_comparison_op. Use + LOOKUP_NORMAL | LOOKUP_NONVIRTUAL | LOOKUP_DEFAULTED instead of + LOOKUP_NORMAL for flags. + (build_comparison_op): Add defining argument. Adjust comp_info + construction. Use defining instead of info.defining. Assert that + if defining, ctype is a complete type. Walk base binfos. + (synthesize_method, maybe_explain_implicit_delete, + explain_implicit_non_constexpr): Adjust build_comparison_op callers. + (maybe_synthesize_method): New function. + * class.c (check_bases_and_members): Don't call defaulted_late_check + for sfk_comparison. + (finish_struct_1): Call it here instead after class has been + completed. + * pt.c (maybe_instantiate_noexcept): Call maybe_synthesize_method + instead of synthesize_method. + 2021-10-05 Jakub Jelinek <jakub@redhat.com> PR c++/102548 |