diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2022-09-28 00:17:27 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2022-09-28 00:17:27 +0000 |
commit | 1f16a020acbea0af26209478990b83b1a1ba3a2b (patch) | |
tree | 07a98c53dcb03190e005d9140d3eaad919f96057 /gcc | |
parent | 6bf473089f3c0c6ecf101f87f705618b1707fa82 (diff) | |
download | gcc-1f16a020acbea0af26209478990b83b1a1ba3a2b.zip gcc-1f16a020acbea0af26209478990b83b1a1ba3a2b.tar.gz gcc-1f16a020acbea0af26209478990b83b1a1ba3a2b.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 62 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/c-family/ChangeLog | 52 | ||||
-rw-r--r-- | gcc/c/ChangeLog | 18 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 114 | ||||
-rw-r--r-- | gcc/d/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 115 |
8 files changed, 381 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4bd177d..ce38410 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,65 @@ +2022-09-27 Eugene Rozenfeld <erozen@microsoft.com> + + * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison. + +2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com> + + * doc/invoke.texi: Update ABI version info. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a + singleton. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * value-range.cc (irange::set_nonzero_bits): Set range when known. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * value-range.h (irange::set): New version taking wide_int_ref. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107029 + * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat + OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be + signed and so can trigger even the (b % 4) == 3 case. + +2022-09-27 Jeff Law <jeffreyalaw@gmail.com> + + * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return + and return are available before trying to use them. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE + enumerator. + * tree.h (float128t_type_node): Define. + * tree.cc (build_common_tree_nodes): Initialize float128t_type_node. + * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that + _Float<N> is supported in C++ too. + * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g" + float128t_type_node. + * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph, + _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of + 0.0f. + * config/ia64/ia64.cc (ia64_init_builtins): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + * config/rs6000/rs6000-c.cc (is_float128_p): Also return true + for float128t_type_node if non-NULL. + * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle + float128_type_node as "u9__ieee128". + * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use + float128t_type_node for __float128 instead of float128_type_node + and create it if NULL. + 2022-09-26 Martin Liska <mliska@suse.cz> * doc/invoke.texi: Add missing dash for diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 38c805d..8830fa8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220927 +20220928 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 4e99c43..a9ed2f0 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,55 @@ +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 diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 4b852b8..7b29d78 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,21 @@ +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * c-lang.h (current_omp_begin_assumes): Declare. + * c-parser.cc: Include bitmap.h. + (c_parser_omp_end_declare_target): Rename to ... + (c_parser_omp_end): ... this. Handle also end assumes. + (c_parser_omp_begin, c_parser_omp_assumption_clauses, + c_parser_omp_assumes, c_parser_omp_assume): New functions. + (c_parser_translation_unit): Also diagnose #pragma omp begin assumes + without corresponding #pragma omp end assumes. + (c_parser_pragma): Use %s in may only be used at file scope + diagnostics to decrease number of translatable messages. Handle + PRAGMA_OMP_BEGIN and PRAGMA_OMP_ASSUMES. Handle PRAGMA_OMP_END + rather than PRAGMA_OMP_END_DECLARE_TARGET and call c_parser_omp_end + for it rather than c_parser_omp_end_declare_target. + (c_parser_omp_construct): Handle PRAGMA_OMP_ASSUME. + * c-decl.cc (current_omp_begin_assumes): Define. + 2022-09-24 Jakub Jelinek <jakub@redhat.com> PR c/106981 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ca5015e..8d4c6d1 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,117 @@ +2022-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/101165 + PR c++/106882 + * call.cc (reference_binding): Check clk_implicit_rval in C++20 only. + * cp-tree.h (unparenthesized_id_or_class_member_access_p): Declare. + * pt.cc (unparenthesized_id_or_class_member_access_p): New function, + broken out of... + (do_auto_deduction): ...here. Use it. In C++23, maybe call + treat_lvalue_as_rvalue_p. + * tree.cc (xvalue_p): Check & clk_rvalueref, not == clk_rvalueref. + * typeck.cc (check_return_expr): Allow implicit move for functions + returning a reference as well, or when the return value type is not + a scalar type. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + * constraint.cc (diagnose_trait_expr): Say "nothrow" without quotes + rather than in quotes. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/107049 + * method.cc (is_convertible_helper): Use access check sentinel. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106651 + * cp-tree.h (LAMBDA_EXPR_STATIC_P): Implement C++23 + P1169R4 - static operator(). Define. + * parser.cc (CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): Document + that it also allows static. + (cp_parser_lambda_declarator_opt): Handle static lambda specifier. + (cp_parser_decl_specifier_seq): Allow RID_STATIC for + CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. + * decl.cc (grok_op_properties): If operator() isn't a method, + use a different error wording, if it is static member function, + allow it (for C++20 and older with a pedwarn unless it is + a lambda function or template instantiation). + * call.cc (joust): Don't ICE if one candidate is static member + function and the other is an indirect call. If the parameter + conversion on the other candidate is user defined conversion, + ellipsis or bad conversion, make static member function candidate + a winner for that parameter. + * lambda.cc (maybe_add_lambda_conv_op): Handle static lambdas. + * error.cc (dump_lambda_function): Print static for static lambdas. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * cp-tree.h (struct omp_begin_assumes_data): New type. + (struct saved_scope): Add omp_begin_assumes member. + * parser.cc: Include bitmap.h. + (cp_parser_omp_assumption_clauses, cp_parser_omp_assume, + cp_parser_omp_assumes, cp_parser_omp_begin): New functions. + (cp_parser_omp_end_declare_target): Rename to ... + (cp_parser_omp_end): ... this. Handle also end assumes. + (cp_parser_omp_construct): Handle PRAGMA_OMP_ASSUME. + (cp_parser_pragma): Handle PRAGMA_OMP_ASSUME, PRAGMA_OMP_ASSUMES + and PRAGMA_OMP_BEGIN. Handle PRAGMA_OMP_END rather than + PRAGMA_OMP_END_DECLARE_TARGET and call cp_parser_omp_end + for it rather than cp_parser_omp_end_declare_target. + * pt.cc (apply_late_template_attributes): Also temporarily clear + omp_begin_assumes. + * semantics.cc (finish_translation_unit): Also diagnose + #pragma omp begin assumes without corresponding + #pragma omp end assumes. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * parser.cc (cp_parser_lambda_declarator_opt): Don't diagnose + conflicting specifiers here. + (cp_storage_class_name): New variable. + (cp_parser_decl_specifier_seq): When setting conflicting_specifiers_p + for the first time, diagnose which exact specifiers conflict. + (cp_parser_set_storage_class): Likewise. Move storage_class + computation earlier. + * decl.cc (grokdeclarator): Don't diagnose conflicting specifiers + here, just return error_mark_node. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * cp-tree.h (cp_compare_floating_point_conversion_ranks): Implement + P1467R9 - Extended floating-point types and standard names except + for std::bfloat16_t for now. Declare. + (extended_float_type_p): New inline function. + * mangle.cc (write_builtin_type): Mangle float{16,32,64,128}_type_node + as DF{16,32,64,128}_. Mangle float{32,64,128}x_type_node as + DF{32,64,128}x. Remove FIXED_POINT_TYPE mangling that conflicts + with that. + * typeck2.cc (check_narrowing): If one of ftype or type is extended + floating-point type, compare floating-point conversion ranks. + * parser.cc (cp_keyword_starts_decl_specifier_p): Handle + CASE_RID_FLOATN_NX. + (cp_parser_simple_type_specifier): Likewise and diagnose missing + _Float<N> or _Float<N>x support if not supported by target. + * typeck.cc (cp_compare_floating_point_conversion_ranks): New function. + (cp_common_type): If both types are REAL_TYPE and one or both are + extended floating-point types, select common type based on comparison + of floating-point conversion ranks and subranks. + (cp_build_binary_op): Diagnose operation with floating point arguments + with unordered conversion ranks. + * call.cc (standard_conversion): For floating-point conversion, if + either from or to are extended floating-point types, set conv->bad_p + for implicit conversion from larger to smaller conversion rank or + with unordered conversion ranks. + (convert_like_internal): Emit a pedwarn on such conversions. + (build_conditional_expr): Diagnose operation with floating point + arguments with unordered conversion ranks. + (convert_arg_to_ellipsis): Don't promote extended floating-point types + narrower than double to double. + (compare_ics): Implement P1467R9 [over.ics.rank]/4 changes. + 2022-09-26 Marek Polacek <polacek@redhat.com> PR c++/106656 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 9bb29d3..434c1c6 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,15 @@ +2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org> + + * dmd/MERGE: Merge upstream dmd d579c467c1. + * decl.cc (layout_struct_initializer): Update for new front-end + interface. + * expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array + assignments. + (ExprVisitor::visit (NewExp *)): Add new lowering of new'ing + associative arrays to an _aaNew() library call. + * runtime.def (ARRAYSETASSIGN): Remove. + (AANEW): Define. + 2022-09-15 Richard Biener <rguenther@suse.de> * d-builtins.cc (d_build_c_type_nodes): Do not initialize diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6985e62..dcbfd54 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2022-09-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107054 + * simplify.cc (gfc_simplify_unpack): Replace assert by condition + that terminates simplification when there are not enough elements + in the constructor of argument VECTOR. + 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 24f4ac5..4aaf795 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,118 @@ +2022-09-27 Marek Polacek <polacek@redhat.com> + + PR c++/101165 + PR c++/106882 + * g++.dg/conversion/pr41426.C: Add dg-error for C++23. + * g++.dg/cpp0x/elision_weak.C: Likewise. + * g++.dg/cpp0x/move-return3.C: Only link in c++20_down. + * g++.dg/cpp1y/decltype-auto2.C: Add dg-error for C++23. + * g++.dg/cpp1y/lambda-generic-89419.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_implicit_move. + * g++.dg/gomp/pr56217.C: Only compile in c++20_down. + * g++.dg/warn/Wno-return-local-addr.C: Add dg-error for C++23. + * g++.dg/warn/Wreturn-local-addr.C: Adjust dg-error. + * g++.old-deja/g++.brendan/crash55.C: Add dg-error for C++23. + * g++.old-deja/g++.jason/temporary2.C: Likewise. + * g++.old-deja/g++.mike/p2846b.C: Adjust. + * g++.dg/cpp1y/decltype-auto6.C: New test. + * g++.dg/cpp23/decltype1.C: New test. + * g++.dg/cpp23/decltype2.C: New test. + * g++.dg/cpp23/elision1.C: New test. + * g++.dg/cpp23/elision2.C: New test. + * g++.dg/cpp23/elision3.C: New test. + * g++.dg/cpp23/elision4.C: New test. + * g++.dg/cpp23/elision5.C: New test. + * g++.dg/cpp23/elision6.C: New test. + * g++.dg/cpp23/elision7.C: New test. + +2022-09-27 Harald Anlauf <anlauf@gmx.de> + + PR fortran/107054 + * gfortran.dg/pr107054.f90: New test. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/popcount6b.c: New test. + +2022-09-27 Marek Polacek <polacek@redhat.com> + + * g++.dg/cpp2a/concepts-traits3.C: Adjust expected diagnostics. + +2022-09-27 Jonathan Wakely <jwakely@redhat.com> + + PR c++/107049 + * g++.dg/ext/is_convertible4.C: New test. + * g++.dg/ext/is_nothrow_convertible4.C: New test. + +2022-09-27 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/tree-ssa/popcount6.c: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106651 + * g++.dg/template/error30.C: Adjust expected diagnostics. + * g++.dg/cpp1z/constexpr-lambda13.C: Likewise. + * g++.dg/cpp23/feat-cxx2b.C: Test __cpp_static_call_operator. + * g++.dg/cpp23/static-operator-call1.C: New test. + * g++.dg/cpp23/static-operator-call2.C: New test. + * g++.old-deja/g++.jason/operator.C: Adjust expected diagnostics. + * g++.dg/cpp23/static-operator-call3.C: New file. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/107029 + * g++.dg/torture/pr107029.C: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * c-c++-common/gomp/assume-1.c: New test. + * c-c++-common/gomp/assume-2.c: New test. + * c-c++-common/gomp/assume-3.c: New test. + * c-c++-common/gomp/assumes-1.c: New test. + * c-c++-common/gomp/assumes-2.c: New test. + * c-c++-common/gomp/assumes-3.c: New test. + * c-c++-common/gomp/assumes-4.c: New test. + * c-c++-common/gomp/begin-assumes-1.c: New test. + * c-c++-common/gomp/begin-assumes-2.c: New test. + * c-c++-common/gomp/begin-assumes-3.c: New test. + * c-c++-common/gomp/begin-assumes-4.c: New test. + * c-c++-common/gomp/declare-target-6.c: New test. + * g++.dg/gomp/attrs-1.C (bar): Add n1 and n2 arguments, add + tests for assume directive. + * g++.dg/gomp/attrs-2.C (bar): Likewise. + * g++.dg/gomp/attrs-9.C: Add n1 and n2 variables, add tests for + begin assumes directive. + * g++.dg/gomp/attrs-15.C: New test. + * g++.dg/gomp/attrs-16.C: New test. + * g++.dg/gomp/attrs-17.C: New test. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + * g++.dg/diagnostic/conflicting-specifiers-1.C: Adjust expected + diagnostics. + * g++.dg/parse/typedef8.C: Likewise. + * g++.dg/parse/crash39.C: Likewise. + * g++.dg/other/mult-stor1.C: Likewise. + * g++.dg/cpp2a/constinit3.C: Likewise. + +2022-09-27 Jakub Jelinek <jakub@redhat.com> + + PR c++/106652 + PR c++/85518 + * g++.dg/cpp23/ext-floating1.C: New test. + * g++.dg/cpp23/ext-floating2.C: New test. + * g++.dg/cpp23/ext-floating3.C: New test. + * g++.dg/cpp23/ext-floating4.C: New test. + * g++.dg/cpp23/ext-floating5.C: New test. + * g++.dg/cpp23/ext-floating6.C: New test. + * g++.dg/cpp23/ext-floating7.C: New test. + * g++.dg/cpp23/ext-floating8.C: New test. + * g++.dg/cpp23/ext-floating9.C: New test. + * g++.dg/cpp23/ext-floating10.C: New test. + * g++.dg/cpp23/ext-floating.h: New file. + * g++.target/i386/float16-1.C: Adjust expected diagnostics. + 2022-09-26 Marek Polacek <polacek@redhat.com> PR c++/106656 |