aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog53
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/c-family/ChangeLog14
-rw-r--r--gcc/cp/ChangeLog49
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog59
-rw-r--r--libcpp/ChangeLog9
-rw-r--r--libsanitizer/ChangeLog4
-rw-r--r--libstdc++-v3/ChangeLog13
9 files changed, 207 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0369c48..f9b93b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,56 @@
+2021-10-06 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (non_null_ref::adjust_range): Call new
+ intersect routine.
+ * gimple-range-fold.cc (adjust_pointer_diff_expr): Ditto.
+ (adjust_imagpart_expr): Ditto.
+ * value-range.cc (irange::irange_intersect): Call new routine if
+ RHS is a single pair.
+ (irange::intersect): New wide_int version.
+ * value-range.h (class irange): New prototype.
+
+2021-10-06 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range):
+ Add parameter to limit size when recognizing switches.
+ (gimple_outgoing_range::edge_range_p): Check size limit.
+ * gimple-range-edge.h (gimple_outgoing_range): Add size field.
+ * gimple-range-gori.cc (gori_map::calculate_gori): Ignore switches
+ that exceed the size limit.
+ (gori_compute::gori_compute): Add initializer.
+ * params.opt (evrp-switch-limit): New.
+ * doc/invoke.texi: Update docs.
+
+2021-10-06 Andrew MacLeod <amacleod@redhat.com>
+
+ * value-range.h (irange::set_varying): Use TYPE_MIN_VALUE and
+ TYPE_MAX_VALUE instead of creating new trees when possible.
+
+2021-10-06 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (non_null_ref::adjust_range): Check for
+ zero and non-zero more efficently.
+
+2021-10-06 Richard Biener <rguenther@suse.de>
+
+ PR c/102605
+ * dumpfile.h (TDF_GIMPLE_VAL): New.
+ (dump_flag): Re-order and adjust TDF_* flags. Make
+ the enum uint32_t. Use std::underlying_type in the
+ operator overloads.
+ (optgroup_flag): Likewise for the operator overloads.
+ * tree-pretty-print.c (dump_generic_node): Wrap ADDR_EXPR
+ in _Literal if TDF_GIMPLE_VAL.
+ * gimple-pretty-print.c (dump_gimple_assign): Add
+ TDF_GIMPLE_VAL to flags when dumping operands where only
+ is_gimple_val are allowed.
+ (dump_gimple_cond): Likewise.
+
+2021-10-06 prathamesh.kulkarni <prathamesh.kulkarni@linaro.org>
+
+ * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove redundant if
+ condition.
+
2021-10-05 qing zhao <qing.zhao@oracle.com>
PR middle-end/102359
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 46eae11..e528add 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20211006
+20211007
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index c064669..a6484f4 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,17 @@
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/102571
+ * c-omp.c (c_finish_omp_atomic): Optimize the case where type has
+ padding, but the non-padding bits are contiguous set of bytes
+ by adjusting the memcmp call arguments instead of emitting
+ __builtin_clear_padding and then comparing all the type's bytes.
+
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/102612
+ * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine
+ __cpp_constexpr to 202110L rather than 201907L.
+
2021-10-04 Marek Polacek <polacek@redhat.com>
PR c++/97573
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
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index da5d1a2..b296797 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2021-10-06 Tobias Burnus <tobias@codesourcery.com>
+
+ * resolve.c (resolve_values): Only show
+ deprecated warning if attr.referenced.
+
2021-10-04 Tobias Burnus <tobias@codesourcery.com>
PR fortran/54753
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ec22122..a3159bd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,62 @@
+2021-10-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp2a/spaceship-synth8a.C: New test.
+
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/102612
+ * g++.dg/cpp23/feat-cxx2b.C: Expect __cpp_constexpr 202110L rather
+ than 201907L.
+ * g++.dg/cpp23/constexpr-nonlit1.C: New test.
+ * g++.dg/cpp23/constexpr-nonlit2.C: New test.
+ * g++.dg/cpp23/constexpr-nonlit3.C: New test.
+ * g++.dg/cpp23/constexpr-nonlit4.C: New test.
+ * g++.dg/cpp23/constexpr-nonlit5.C: New test.
+ * g++.dg/cpp23/constexpr-nonlit6.C: New test.
+ * g++.dg/diagnostic/constexpr1.C: Only expect some diagnostics for
+ c++20_down.
+ * g++.dg/cpp1y/constexpr-label.C: Likewise.
+ * g++.dg/cpp1y/constexpr-neg1.C: Likewise.
+ * g++.dg/cpp2a/constexpr-try5.C: Likewise. Adjust some expected
+ wording.
+ * g++.dg/cpp2a/constexpr-dtor3.C: Likewise.
+ * g++.dg/cpp2a/consteval3.C: Likewise. Add effective target c++20
+ and remove dg-options.
+
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/cpp/gnu11-elifdef-1.c: New test.
+ * gcc.dg/cpp/gnu11-elifdef-2.c: New test.
+ * gcc.dg/cpp/gnu11-elifdef-3.c: New test.
+ * gcc.dg/cpp/gnu11-elifdef-4.c: New test.
+ * g++.dg/cpp/elifdef-1.C: New test.
+ * g++.dg/cpp/elifdef-2.C: New test.
+ * g++.dg/cpp/elifdef-3.C: New test.
+ * g++.dg/cpp/elifdef-4.C: New test.
+ * g++.dg/cpp/elifdef-5.C: New test.
+ * g++.dg/cpp/elifdef-6.C: New test.
+ * g++.dg/cpp/elifdef-7.C: New test.
+
+2021-10-06 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/attr_deprecated-2.f90: New test.
+
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/98712
+ PR c++/102490
+ * g++.dg/cpp2a/spaceship-synth8.C (std::strong_ordering): Provide
+ more complete definition.
+ (std::strong_ordering::less, std::strong_ordering::equal,
+ std::strong_ordering::greater): Define.
+ * g++.dg/cpp2a/spaceship-synth12.C: New test.
+ * g++.dg/cpp2a/spaceship-synth13.C: New test.
+ * g++.dg/cpp2a/spaceship-synth14.C: New test.
+ * g++.dg/cpp2a/spaceship-eq11.C: New test.
+ * g++.dg/cpp2a/spaceship-eq12.C: New test.
+ * g++.dg/cpp2a/spaceship-eq13.C: New test.
+
2021-10-05 qing zhao <qing.zhao@oracle.com>
PR middle-end/102359
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 35f952d..3fca7fd 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,12 @@
+2021-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ * init.c (lang_defaults): Implement P2334R1, enable elifdef for
+ -std=c++23 and -std=gnu++23.
+ * directives.c (_cpp_handle_directive): Support elifdef/elifndef if
+ either CPP_OPTION (pfile, elifdef) or !CPP_OPTION (pfile, std).
+ (do_elif): For older non-std modes if pedantic pedwarn about
+ #elifdef/#elifndef directives that change behavior.
+
2021-09-01 Jakub Jelinek <jakub@redhat.com>
PR c++/100977
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index 64d0194..e7a15fa 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,7 @@
+2021-10-06 H.J. Lu <hjl.tools@gmail.com>
+
+ * LOCAL_PATCHES: Update to the corresponding revision.
+
2021-10-01 H.J. Lu <hjl.tools@gmail.com>
* LOCAL_PATCHES: Update to the corresponding revision.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 614361f..daafc57 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,16 @@
+2021-10-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Regenerate.
+ * include/std/functional: Include <bits/move_only_function.h>.
+ * include/std/version (__cpp_lib_move_only_function): Define.
+ * include/bits/mofunc_impl.h: New file.
+ * include/bits/move_only_function.h: New file.
+ * testsuite/20_util/move_only_function/call.cc: New test.
+ * testsuite/20_util/move_only_function/cons.cc: New test.
+ * testsuite/20_util/move_only_function/move.cc: New test.
+ * testsuite/20_util/move_only_function/version.cc: New test.
+
2021-10-05 Jonathan Wakely <jwakely@redhat.com>
* testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc: