forked from gcc-mirror/gcc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
GCC Administrator
committed
Sep 28, 2022
1 parent
6bf4730
commit 1f16a02
Showing
14 changed files
with
470 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,19 @@ | ||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
* inclhack.def (glibc_cxx_floatn_1, glibc_cxx_floatn_2, | ||
glibc_cxx_floatn_3): Add to files also "*/bits/floatn.h" | ||
and "*/bits/floatn-common.h". | ||
* fixincl.x: Regenerated. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
PR c++/106652 | ||
PR c++/85518 | ||
* inclhack.def (glibc_cxx_floatn_1, glibc_cxx_floatn_2, | ||
glibc_cxx_floatn_3): New fixes. | ||
* tests/base/bits/floatn.h: New file. | ||
* fixincl.x: Regenerated. | ||
|
||
2022-08-31 Martin Liska <[email protected]> | ||
|
||
* configure: Regenerate. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,65 @@ | ||
2022-09-27 Eugene Rozenfeld <[email protected]> | ||
|
||
* ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison. | ||
|
||
2022-09-27 Kim Kuparinen <[email protected]> | ||
|
||
* doc/invoke.texi: Update ABI version info. | ||
|
||
2022-09-27 Aldy Hernandez <[email protected]> | ||
|
||
* gimple-range-op.cc (cfn_popcount): Calculate the popcount of a | ||
singleton. | ||
|
||
2022-09-27 Aldy Hernandez <[email protected]> | ||
|
||
* value-range.cc (irange::set_nonzero_bits): Set range when known. | ||
|
||
2022-09-27 Aldy Hernandez <[email protected]> | ||
|
||
* value-range.h (irange::set): New version taking wide_int_ref. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
* cfgrtl.cc (fixup_reorder_chain): Verify that simple_return | ||
and return are available before trying to use them. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
* doc/invoke.texi: Add missing dash for | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
20220927 | ||
20220928 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,55 @@ | ||
2022-09-27 Marek Polacek <[email protected]> | ||
|
||
PR c++/101165 | ||
PR c++/106882 | ||
* c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move. | ||
|
||
2022-09-27 Marek Polacek <[email protected]> | ||
|
||
* c-format.cc (c_keywords): Drop nothrow. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
PR c++/106651 | ||
* c-cppbuiltin.cc (c_cpp_builtins): Predefine | ||
__cpp_static_call_operator=202207L for C++23. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
* 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 <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
PR c++/106656 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,21 @@ | ||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
* 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 <[email protected]> | ||
|
||
PR c/106981 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,117 @@ | ||
2022-09-27 Marek Polacek <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
* constraint.cc (diagnose_trait_expr): Say "nothrow" without quotes | ||
rather than in quotes. | ||
|
||
2022-09-27 Jonathan Wakely <[email protected]> | ||
|
||
PR c++/107049 | ||
* method.cc (is_convertible_helper): Use access check sentinel. | ||
|
||
2022-09-27 Jakub Jelinek <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
* 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 <[email protected]> | ||
|
||
* 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 <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
PR c++/106656 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,15 @@ | ||
2022-09-27 Iain Buclaw <[email protected]> | ||
|
||
* 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 <[email protected]> | ||
|
||
* d-builtins.cc (d_build_c_type_nodes): Do not initialize | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,10 @@ | ||
2022-09-27 Harald Anlauf <[email protected]> | ||
|
||
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 <[email protected]> | ||
|
||
PR fortran/41453 | ||
|
Oops, something went wrong.