Daily bump.
This commit is contained in:
parent
4f2ab6b89e
commit
aff95ee7cc
10 changed files with 757 additions and 1 deletions
|
@ -1,3 +1,13 @@
|
|||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcc-changelog/git_commit.py: Print 'Backported from master'
|
||||
heading to backported commits.
|
||||
* gcc-changelog/test_email.py: Test it.
|
||||
* gcc-changelog/test_patches.txt: Add new patch.
|
||||
* gcc-changelog/git_repository.py: Add commit_to_date hook.
|
||||
* gcc-changelog/git_email.py: Add fuzzy implementation
|
||||
of commit_to_date_hook.
|
||||
|
||||
2020-06-11 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* prepare-commit-msg: Use the gcc-config.mklog-hook-type Git
|
||||
|
|
140
gcc/ChangeLog
140
gcc/ChangeLog
|
@ -1,3 +1,143 @@
|
|||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* gimplify.c (omp_notice_threadprivate_variable)
|
||||
(omp_default_clause, omp_notice_variable): 'inform' after 'error'
|
||||
diagnostic. Adjust all users.
|
||||
|
||||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl ==
|
||||
NULL_TREE' check earlier.
|
||||
|
||||
2020-06-17 Forrest Timour <forrest.timour@gmail.com>
|
||||
|
||||
* doc/extend.texi (attribute access): Fix a typo.
|
||||
|
||||
2020-06-17 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||||
Kaipeng Zhou <zhoukaipeng3@huawei.com>
|
||||
|
||||
PR tree-optimization/95199
|
||||
* tree-vect-stmts.c: Eliminate common stmts for bump and offset in
|
||||
strided load/store operations and remove redundant code.
|
||||
|
||||
2020-06-17 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* coretypes.h (first_type): New alias template.
|
||||
* recog.h (insn_gen_fn::operator()): Use it instead of a decltype.
|
||||
Remove spurious “...” and split the function type out into a typedef.
|
||||
|
||||
2020-06-17 Andreas Krebbel <krebbel@linux.ibm.com>
|
||||
|
||||
* config/s390/s390.c (s390_fix_long_loop_prediction): Exit early
|
||||
for PARALLELs.
|
||||
|
||||
2020-06-17 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-slp.c (vect_build_slp_tree_1): Set the passed
|
||||
in *vectype parameter.
|
||||
(vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what
|
||||
vect_build_slp_tree_1 computed.
|
||||
(vect_analyze_slp_instance): Set SLP_TREE_VECTYPE.
|
||||
(vect_slp_analyze_node_operations_1): Use the SLP node vector type.
|
||||
(vect_schedule_slp_instance): Likewise.
|
||||
* tree-vect-stmts.c (vect_is_simple_use): Take the vector type
|
||||
from SLP_TREE_VECTYPE.
|
||||
|
||||
2020-06-17 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/95717
|
||||
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
|
||||
Move BB SSA updating before exit/latch PHI current def copying.
|
||||
|
||||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* Makefile.in: Add new file.
|
||||
* expr.c (expand_expr_real_2): Add gcc_unreachable as we should
|
||||
not meet this condition.
|
||||
(do_store_flag): Likewise.
|
||||
* gimplify.c (gimplify_expr): Gimplify first argument of
|
||||
VEC_COND_EXPR to be a SSA name.
|
||||
* internal-fn.c (vec_cond_mask_direct): New.
|
||||
(vec_cond_direct): Likewise.
|
||||
(vec_condu_direct): Likewise.
|
||||
(vec_condeq_direct): Likewise.
|
||||
(expand_vect_cond_optab_fn): New.
|
||||
(expand_vec_cond_optab_fn): Likewise.
|
||||
(expand_vec_condu_optab_fn): Likewise.
|
||||
(expand_vec_condeq_optab_fn): Likewise.
|
||||
(expand_vect_cond_mask_optab_fn): Likewise.
|
||||
(expand_vec_cond_mask_optab_fn): Likewise.
|
||||
(direct_vec_cond_mask_optab_supported_p): Likewise.
|
||||
(direct_vec_cond_optab_supported_p): Likewise.
|
||||
(direct_vec_condu_optab_supported_p): Likewise.
|
||||
(direct_vec_condeq_optab_supported_p): Likewise.
|
||||
* internal-fn.def (VCOND): New OPTAB.
|
||||
(VCONDU): Likewise.
|
||||
(VCONDEQ): Likewise.
|
||||
(VCOND_MASK): Likewise.
|
||||
* optabs.c (get_rtx_code): Make it global.
|
||||
(expand_vec_cond_mask_expr): Removed.
|
||||
(expand_vec_cond_expr): Removed.
|
||||
* optabs.h (expand_vec_cond_expr): Likewise.
|
||||
(vector_compare_rtx): Make it global.
|
||||
* passes.def: Add new pass_gimple_isel pass.
|
||||
* tree-cfg.c (verify_gimple_assign_ternary): Add check
|
||||
for VEC_COND_EXPR about first argument.
|
||||
* tree-pass.h (make_pass_gimple_isel): New.
|
||||
* tree-ssa-forwprop.c (pass_forwprop::execute): Prevent
|
||||
propagation of the first argument of a VEC_COND_EXPR.
|
||||
* tree-ssa-reassoc.c (ovce_extract_ops): Support SSA_NAME as
|
||||
first argument of a VEC_COND_EXPR.
|
||||
(optimize_vec_cond_expr): Likewise.
|
||||
* tree-vect-generic.c (expand_vector_divmod): Make SSA_NAME
|
||||
for a first argument of created VEC_COND_EXPR.
|
||||
(expand_vector_condition): Fix coding style.
|
||||
* tree-vect-stmts.c (vectorizable_condition): Gimplify
|
||||
first argument.
|
||||
* gimple-isel.cc: New file.
|
||||
|
||||
2020-06-17 Andrew Stubbs <ams@codesourcery.com>
|
||||
|
||||
* config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text".
|
||||
(BSS_SECTION_ASM_OP): Use ".bss".
|
||||
(ASM_SPEC): Remove "-mattr=-code-object-v3".
|
||||
(LINK_SPEC): Add "--export-dynamic".
|
||||
* config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with
|
||||
PROCESSOR_VEGA10 and PROCESSOR_VEGA20.
|
||||
* config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant.
|
||||
(load_image): Remove obsolete relocation handling.
|
||||
Add ".kd" suffix to the symbol names.
|
||||
* config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62.
|
||||
(gcn_option_override): Update gcn_isa test.
|
||||
(gcn_kernel_arg_types): Update all the assembler directives.
|
||||
Remove the obsolete options.
|
||||
(gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage.
|
||||
(gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and
|
||||
PROCESSOR_VEGA20.
|
||||
(output_file_start): Rework assembler file header.
|
||||
(gcn_hsa_declare_function_name): Rework kernel metadata.
|
||||
* config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16.
|
||||
* config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum.
|
||||
(PROCESSOR_VEGA10): New enum value.
|
||||
(PROCESSOR_VEGA20): New enum value.
|
||||
|
||||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcov-dump.c (print_version): Collapse lisence header to 2 lines
|
||||
in --version.
|
||||
* gcov-tool.c (print_version): Likewise.
|
||||
* gcov.c (print_version): Likewise.
|
||||
|
||||
2020-06-17 liuhongt <hongtao.liu@intel.com>
|
||||
|
||||
PR target/95524
|
||||
* config/i386/i386-expand.c
|
||||
(ix86_expand_vec_shift_qihi_constant): New function.
|
||||
* config/i386/i386-protos.h
|
||||
(ix86_expand_vec_shift_qihi_constant): Declare.
|
||||
* config/i386/sse.md (<shift_insn><mode>3): Optimize shift
|
||||
V*QImode by constant.
|
||||
|
||||
2020-06-16 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
PR tree-optimization/95649
|
||||
|
|
|
@ -1 +1 @@
|
|||
20200617
|
||||
20200618
|
||||
|
|
|
@ -1,3 +1,402 @@
|
|||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do
|
||||
anything when the type of the node is already Universal_Integer.
|
||||
|
||||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* sem_ch10.adb (Expand_With_Clause): Add missing handling of
|
||||
N_Generic_Subprogram_Declaration, N_Subprogram_Declaration,
|
||||
N_Subprogram_Body.
|
||||
|
||||
2020-06-17 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch13.adb: (Check_Inherited_Indexing): Check that a type
|
||||
derived from an indexable container type cannot specify an
|
||||
indexing aspect if the same aspect is not specified for the
|
||||
parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a
|
||||
specified indexing aspect for a derived type is confirming.
|
||||
|
||||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* exp_ch9.adb (Build_Protected_Subp_Specification): Add ???
|
||||
comment about the flag Has_Nested_Subprogram not being set here.
|
||||
(Expand_N_Protected_Body): If the original body for a protected
|
||||
subprogram has the flag Has_Nested_Subprogram set, then set that
|
||||
flag on the new unprotected subprogram body that's created for
|
||||
it, and reset the Scope fields of its top level declarations,
|
||||
which have been effectively taken from the original protected
|
||||
subprogram body. Add ??? comment about unclear testing of
|
||||
Corresponding_Spec.
|
||||
|
||||
2020-06-17 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean
|
||||
aspect, and update the Is_Representation_Aspect, Aspect_Names,
|
||||
and Aspect_Delay arrays.
|
||||
* einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New
|
||||
subprograms.
|
||||
* exp_ch6.adb (Add_Return, Expand_Non_Function_Return,
|
||||
Expand_Simple_Function_Return): Add calls to Yield.
|
||||
* exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement):
|
||||
Add calls to Yield.
|
||||
* rtsfind.ads (RE_Yield): Adding support to generate calls to
|
||||
the runtime service Ada.Dispatching.Yield
|
||||
* sem_ch13.adb (Analyze_Aspect_Yield): New subprogram.
|
||||
* sem_ch3.adb (Derive_Subprogram): Inherit attribute
|
||||
Has_Yield_Aspect.
|
||||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency
|
||||
of Has_Yield in the actual subprogram of a generic
|
||||
instantiation.
|
||||
* sem_disp.adb (Check_Dispatching_Operation): Check that if the
|
||||
Yield aspect is specified for a dispatching subprogram that
|
||||
inherits the aspect, the specified value shall be confirming.
|
||||
* sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that
|
||||
the implementation kind By_Protected_Procedure cannot be applied
|
||||
to a procedure that has aspect Yield.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of
|
||||
the original right operand with the relocated version.
|
||||
|
||||
2020-06-17 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram.
|
||||
(Needs_BIP_Task_Actuals): Add support for the subprogram type
|
||||
internally generated for dispatching calls.
|
||||
* exp_disp.adb (Expand_Dispatching_Call): Adding code to
|
||||
explicitly duplicate the extra formals of the target subprogram.
|
||||
* freeze.adb (Check_Extra_Formals): New subprogram.
|
||||
(Freeze_Subprogram): Fix decoration of Extra_Formals.
|
||||
* sem_ch3.adb (Derive_Subprogram): Fix decoration of
|
||||
Extra_Formals.
|
||||
|
||||
2020-06-17 Bob Duff <duff@adacore.com>
|
||||
|
||||
* par.adb (P_Basic_Declarative_Items): Update comment about
|
||||
Declare_Expression.
|
||||
* par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression
|
||||
flag, and if True, skip the call to Style.Check_Indentation.
|
||||
* par-ch4.adb (P_Declare_Expression): Fix incorrect comment.
|
||||
|
||||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* sem_res.adb (Valid_Conversion): Change error message to make
|
||||
it more user-friendly.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* checks.ads (Apply_Length_Check_On_Assignment): Declare.
|
||||
* checks.adb (Apply_Length_Check_On_Assignment): New procedure
|
||||
to apply a length check to an expression in an assignment.
|
||||
* exp_ch5.adb (Expand_Assign_Array): Call it instead of calling
|
||||
Apply_Length_Check to generate a length check.
|
||||
* sem_ch5.adb (Analyze_Assignment): Likewise.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* einfo.adb (Is_Relaxed_Initialization_State): Add reference to
|
||||
SPARK RM.
|
||||
* sem_attr.adb (Analyze_Attribute_Old_Result): Likewise.
|
||||
* sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject
|
||||
aspect on completions of private types and deferred constants.
|
||||
* sem_util.ads, sem_util.adb (Has_Relaxed_Initialization):
|
||||
Adjust comments; support queries for constants.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* cstand.adb (Stloc): Change to a renaming.
|
||||
(Staloc): Likewise.
|
||||
(Build_Unsigned_Integer_Type): Remove Nam parameter, use local
|
||||
constants and do not call Make_Name.
|
||||
(Make_Dummy_Index): Use local constants.
|
||||
(Create_Standard): Pass the name of entities as parameter in
|
||||
calls to New_Standard_Entity and remove calls to Make_Name.
|
||||
Adjust calls to Build_Unsigned_Integer_Type.
|
||||
(Identifier_For): Use local constant.
|
||||
(Make_Component): Pass the name of the component as parameter
|
||||
in call to New_Standard_Entity and remove call to Make_Name.
|
||||
(Make_Formal): Likewise. Rename Formal_Name parameter into
|
||||
Nam and use local constant.
|
||||
(Make_Name): Delete.
|
||||
(New_Operator): Use local constant.
|
||||
(New_Standard_Entity): Rename S parameter into Nam and build
|
||||
the name here. Remove call to Make_Name.
|
||||
(Register_Float_Type): Pass the name of the type as parameter
|
||||
in call to New_Standard_Entity and remove call to Make_Name.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||||
Remove condition added for scalar types.
|
||||
|
||||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust
|
||||
colon columns; reformat comment.
|
||||
* exp_ch3.adb
|
||||
(Build_Access_Subprogram_Wrapper_Body): Likewise.
|
||||
* sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec
|
||||
comment and reformat comment in body.
|
||||
(Analyze_Full_Type_Declaration): Reformat comment.
|
||||
(Replace_Type_Name): Fixed three typos, plus reformatting of
|
||||
comment.
|
||||
* sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos.
|
||||
* sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments:
|
||||
remove hyphen, add missing word.
|
||||
|
||||
2020-06-17 Bob Duff <duff@adacore.com>
|
||||
|
||||
* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
|
||||
libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb,
|
||||
libgnat/a-cborma.adb, libgnat/a-cborse.adb,
|
||||
libgnat/a-cdlili.adb, libgnat/a-chtgbk.adb,
|
||||
libgnat/a-chtgke.adb, libgnat/a-cidlli.adb,
|
||||
libgnat/a-cihama.adb, libgnat/a-cihase.adb,
|
||||
libgnat/a-cimutr.adb, libgnat/a-ciorma.adb,
|
||||
libgnat/a-ciorse.adb, libgnat/a-cobove.adb,
|
||||
libgnat/a-cohama.adb, libgnat/a-cohase.adb,
|
||||
libgnat/a-coinve.adb, libgnat/a-comutr.adb,
|
||||
libgnat/a-convec.adb, libgnat/a-coorma.adb,
|
||||
libgnat/a-coorse.adb, libgnat/a-crbtgk.adb,
|
||||
libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering
|
||||
checks earlier.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_attr.adb (Get_Integer_Type): Use standard types without
|
||||
a specific size.
|
||||
* sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a
|
||||
redundant intermediate conversion to Universal_Integer.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix
|
||||
comment and enforce it with an assertion in the body.
|
||||
|
||||
2020-06-17 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch3.adb (Analyze_Full_Type_Declaration): For an
|
||||
access_to_subprogram declaration that has aspect specifications,
|
||||
call Build_Access_ Subprogram_Wrapper at once, so that pre- and
|
||||
postcondition aspects are analyzed in the context of a
|
||||
subprogram declaration.
|
||||
(Build_Access_Subprogram_Wrapper): Examine aspect specifications
|
||||
of an Access_To_Subprogram declaration. If pre- or
|
||||
postconditions are declared for it, create declaration for
|
||||
subprogram wrapper and add the corresponding aspect
|
||||
specifications to it. Replace occurrences of the type name by
|
||||
that of the generated subprogram, so that attributes 'Old and
|
||||
'Result can appear in a postcondition.
|
||||
* exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved
|
||||
here from sem_prag.adb.
|
||||
* exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible
|
||||
subprogram.
|
||||
* sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved
|
||||
to sem_ch3.adb and exp_ch3.adb.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* atree.adb (Preserve_Comes_From_Source): Rewrite using
|
||||
Set_Comes_From_Source and Comes_From_Source, which enforce that
|
||||
the parameters are valid.
|
||||
* exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb,
|
||||
sem_res.adb: Rewrite using Preserve_Comes_From_Source.
|
||||
|
||||
2020-06-17 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete
|
||||
comments.
|
||||
|
||||
2020-06-17 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean
|
||||
aspect, and update the Is_Representation_Aspect, Aspect_Names,
|
||||
and Aspect_Delay arrays.
|
||||
* exp_ch6.adb (Expand_Simple_Function_Return): In the case of a
|
||||
return for a static expression function, capture a copy of the
|
||||
expression of the return statement before it's expanded and
|
||||
reset its Analyzed flags. Then, just before leaving this
|
||||
procedure, if the expression was rewritten, set the
|
||||
Original_Node of the rewritten expression to the new copy and
|
||||
also set the Expression of the associated static expression
|
||||
function to designate that copy. This ensures that later copies
|
||||
of the expression made via New_Copy_Tree will fully copy all
|
||||
nodes of the expression tree.
|
||||
* inline.ads (Inline_Static_Expression_Function_Call): New
|
||||
procedure to evaluate and produce the result of a static call to
|
||||
a static expression function.
|
||||
* inline.adb: Add with and use for Sem_Res.
|
||||
(Establish_Actual_Mapping_For_Inlined_Call): New procedure
|
||||
extracted from code in Expand_Inlined_Call that traverses the
|
||||
actuals and formals of an inlined call and in some cases creates
|
||||
temporaries for holding the actuals, plus establishes an
|
||||
association between formals and actuals (via the Renamed_Object
|
||||
fields of the formals).
|
||||
(Formal_Is_Used_Once): Function removed from Expand_Inlined_Call
|
||||
and now nested in the above procedure.
|
||||
(Expand_Inlined_Call): Code for doing the formal/actual
|
||||
traversal is moved to Create_Actual_Temporaries and replaced
|
||||
with a call to that new procedure.
|
||||
(Inline_Static_Expression_Function_Call): New procedure to
|
||||
evaluate a static call to a static expression function,
|
||||
substituting actuals for their corresponding formals and
|
||||
producing a fully folded and static result expression. The
|
||||
function has subsidiary functions Replace_Formal and Reset_Sloc
|
||||
that take care of doing the mapping of formals to actuals and
|
||||
resetting the Slocs of subnodes of the mapped expression to that
|
||||
of the call so errors will be flagged on the call rather than
|
||||
function.
|
||||
* sem_ch6.adb (Analyze_Expression_Function): In the case of a
|
||||
static expression function, perform an additional preanalysis of
|
||||
the function's expression to ensure that it's a potentially
|
||||
static expression (according to the requirements of
|
||||
6.8(3.2/5-3.4/5)), and issue an error if it's not. The global
|
||||
flag Checking_Potentially_Static_Expression is set and unset
|
||||
around this checking.
|
||||
* sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce
|
||||
selected requirements of the new aspect Static on expression
|
||||
functions, including checking that the language version is
|
||||
Ada_2020 and that the entity to which it applies is an
|
||||
expression function whose formal parameters are of a static
|
||||
subtype and have mode 'in', its result subtype is a static
|
||||
subtype, and it has no pre- or postcondition aspects. A ???
|
||||
comment is added to indicate the need for adding checking that
|
||||
type invariants don't apply to the result type if the function
|
||||
is a boundary entity.
|
||||
(Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect
|
||||
Static.
|
||||
* sem_elab.adb (Build_Call_Marker): Return without creating a
|
||||
call marker when the subprogram is a static expression function,
|
||||
since no ABE checking is needed for such functions.
|
||||
* sem_eval.ads (Checking_Potentially_Static_Expression): New
|
||||
function to return whether the checking for potentially static
|
||||
expressions is enabled.
|
||||
(Set_Checking_Potentially_Static_Expression): New procedure to
|
||||
enable or disable checking of potentially static expressions.
|
||||
* sem_eval.adb (Checking_For_Potentially_Static_Expression): New
|
||||
global flag for determining whether preanalysis of potentially
|
||||
static expression is being done, which affects the behavior of
|
||||
certain static evaluation routines.
|
||||
(Checking_Potentially_Static_Expression): New function to return
|
||||
whether the checking for potentially static expressions is
|
||||
enabled.
|
||||
(Eval_Call): When evaluating a call within a static expression
|
||||
function with checking of potentially static expression
|
||||
functions enabled, substitutes a static value in place of the
|
||||
call to allow folding of the expression.
|
||||
(Eval_Entity_Name): When evaluating a formal parameter of a
|
||||
static expression function with checking of potentially static
|
||||
expression functions enabled, substitutes a static value in
|
||||
place of the reference to the formal to allow folding of the
|
||||
expression.
|
||||
(Set_Checking_Potentially_Static_Expression): New procedure to
|
||||
enable or disable checking of potentially static expressions.
|
||||
* sem_res.adb (Resolve_Call): Test for a recursive call
|
||||
occurring within a static expression function and issue an error
|
||||
for such a call. Prevent the establishment of a transient scope
|
||||
in the case this is a call to a (string-returning) static
|
||||
expression function. When calling a static expression function,
|
||||
if no error has been posted on the function, call
|
||||
Inline_Static_Expression_Function_Call to convert the call into
|
||||
its equivalent static value.
|
||||
* sem_util.ads (Is_Static_Expression_Function): New function
|
||||
returning whether the subprogram entity passed to it is a static
|
||||
expression function.
|
||||
(Is_Static_Expression_Function_Call): New function to determine
|
||||
whether the call node passed to it is a static call to a static
|
||||
expression function.
|
||||
* sem_util.adb (Compile_Time_Constraint_Error): Suppress
|
||||
compile-time Constraint_Error reporting when checking for a
|
||||
potentially static expression.
|
||||
(Is_Static_Expression_Function): New function returning whether
|
||||
the subprogram entity passed to it is a static expression
|
||||
function by testing for the presence of aspect Static.
|
||||
(Has_All_Static_Actuals): New function in
|
||||
Is_Static_Expression_Function_Call that traverses the actual
|
||||
parameters of a function call and returns True only when all of
|
||||
the actuals are given by static expressions. In the case of a
|
||||
string-returning function, we call Resolve on each actual to
|
||||
ensure that their Is_Static_Expression flag properly reflects
|
||||
whether they're static, to allow suppressing creation of a
|
||||
transient scope within Resolve_Call. A prominent ??? comment is
|
||||
added to explain this rather unconventional call to Resolve.
|
||||
(Is_Static_Expression_Function_Call): New function that
|
||||
determines whether a node passed to it is a call to a static
|
||||
expression function all of whose actual parameters are given by
|
||||
static expressions.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_ch4.adb (Optimize_Length_Comparison): New local variable to
|
||||
record whether this may be a dynamic superflat case.
|
||||
(Is_Optimizable): Accept 0 as lower bound and set it in this case,
|
||||
but return false if the operand is not a length too.
|
||||
(Rewrite_For_Equal_Lengths): New procedure.
|
||||
Optimize the comparison of two lengths in the superflat case when
|
||||
the arrays have the same bounds.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen
|
||||
the comparison with System.Storage_Unit.
|
||||
(Descriptor_Size): Clear confusion about alignment and padding.
|
||||
* gnat_rm.texi: Regenerate.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||||
Do not replace the bound for an array type if it is public.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_ch4.adb (Optimize_Length_Comparison): Make sure the base
|
||||
types are the same when comparing Y'Last and X'Last directly.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_First>:
|
||||
Replace it with a direct reference to an entity which is not a
|
||||
discriminant for constrained array types. Add same condition
|
||||
for scalar types.
|
||||
<Attribute_Last>: Merge with above implementation.
|
||||
* exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a
|
||||
second entity whose length is compared. Rename Prepare_64 to
|
||||
Convert_To_Long_Long_Integer. If the second entity is present,
|
||||
compute the difference of the 'First attributes and compare the
|
||||
sum of 'Last of the second entity with this difference against
|
||||
'Last of the first entity. Add a special case when the 'First
|
||||
attributes are equal. Suppress overflow checks in all cases.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads,
|
||||
par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix
|
||||
casing of GNATprove.
|
||||
* gnat_rm.texi: Regenerate.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* checks.adb (Generate_Range_Check): Simplify redundant
|
||||
condition.
|
||||
* sem_ch3.adb (Check_Initialization, Process_Discriminants):
|
||||
Likewise.
|
||||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
|
||||
|
||||
2020-06-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* exp_fixd.adb (Build_Conversion): Also preserve the
|
||||
Conversion_OK flag of an inner conversion.
|
||||
|
||||
2020-06-17 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion
|
||||
that creates a renaming that removes side effects from the
|
||||
iterated object in the GNATprove mode; then analyze reference to
|
||||
this renaming (it is required for GNATprove and harmless for
|
||||
GNAT).
|
||||
|
||||
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* c-common.c (get_atomic_generic_size): Check cv-qualifiers in
|
||||
pointer arguments.
|
||||
|
||||
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
|
||||
|
|
|
@ -1,3 +1,36 @@
|
|||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR c++/66159
|
||||
* parser.c (cp_parser_elaborated_type_specifier): Do not warn
|
||||
unless in a declaration.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* cp-tree.h (copy_fndecl_with_name): Declare.
|
||||
* class.c (copy_fndecl_with_name): Split out from...
|
||||
(build_clone): ...here.
|
||||
(add_implicitly_declared_members): Add op== to TYPE_FIELDS.
|
||||
* method.c (implicitly_declare_fn): Use copy_fndecl_with_name.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* call.c (build_new_op_1): Don't look for a CALL_EXPR when
|
||||
calling a consteval function.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* decl2.c (grokfield): Pass SD_DEFAULTED and SD_DELETED.
|
||||
* decl.c (duplicate_decls): Reduce error for delete
|
||||
after earlier declaration to pedwarn.
|
||||
|
||||
2020-06-17 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/95508
|
||||
* constexpr.c (maybe_fold_non_dependent_expr): New.
|
||||
* cp-tree.h (maybe_fold_non_dependent_expr): Declare.
|
||||
* typeck.c (cp_build_array_ref): Call maybe_fold_non_dependent_expr
|
||||
instead of maybe_constant_value.
|
||||
|
||||
2020-06-16 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/95369
|
||||
|
|
|
@ -1,3 +1,105 @@
|
|||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* c-c++-common/gomp/default-1.c: Update.
|
||||
* c-c++-common/gomp/defaultmap-3.c: Likewise.
|
||||
* c-c++-common/gomp/order-4.c: Likewise.
|
||||
* g++.dg/gomp/parallel-2.C: Likewise.
|
||||
* g++.dg/gomp/predetermined-1.C: Likewise.
|
||||
* g++.dg/gomp/sharing-1.C: Likewise.
|
||||
* gcc.dg/gomp/appendix-a/a.24.1.c: Likewise.
|
||||
* gcc.dg/gomp/parallel-2.c: Likewise.
|
||||
* gcc.dg/gomp/pr44085.c: Likewise.
|
||||
* gcc.dg/gomp/sharing-1.c: Likewise.
|
||||
* gcc.dg/gomp/vla-1.c: Likewise.
|
||||
* gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise.
|
||||
* gfortran.dg/gomp/crayptr3.f90: Likewise.
|
||||
* gfortran.dg/gomp/pr33439.f90: Likewise.
|
||||
* gfortran.dg/gomp/pr44036-1.f90: Likewise.
|
||||
* gfortran.dg/gomp/pr44085.f90: Likewise.
|
||||
* gfortran.dg/gomp/pr44536.f90: Likewise.
|
||||
* gfortran.dg/gomp/pr94672.f90: Likewise.
|
||||
* gfortran.dg/gomp/sharing-1.f90: Likewise.
|
||||
* gfortran.dg/gomp/sharing-2.f90: Likewise.
|
||||
* gfortran.dg/gomp/sharing-3.f90: Likewise.
|
||||
|
||||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* c-c++-common/gomp/hsa-indirect-call-1.c: New file.
|
||||
|
||||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR c++/66159
|
||||
* g++.dg/warn/forward-inner.C: Check alias-declaration using
|
||||
elaborated-type-specifier.
|
||||
|
||||
2020-06-17 Bin Cheng <bin.cheng@linux.alibaba.com>
|
||||
Kaipeng Zhou <zhoukaipeng3@huawei.com>
|
||||
Bin Cheng <bin.cheng@linux.alibaba.com>
|
||||
Kaipeng Zhou <zhoukaipeng3@huawei.com>
|
||||
|
||||
PR tree-optimization/95199
|
||||
* gcc.target/aarch64/sve/pr95199.c: New test.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp2a/spaceship-synth9.C: New test.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp2a/concepts-ca107.C: New test.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp2a/consteval17.C: New test.
|
||||
|
||||
2020-06-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/cpp0x/pr62101.C: Expect error.
|
||||
* g++.dg/cpp0x/pr80259.C: Expect error.
|
||||
* g++.dg/cpp2a/concepts-friend8.C: New test.
|
||||
|
||||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* c-c++-common/pr95378.c: New test.
|
||||
|
||||
2020-06-17 Andreas Krebbel <krebbel@linux.ibm.com>
|
||||
|
||||
* gcc.target/s390/20200617.c: New test.
|
||||
|
||||
2020-06-17 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/95508
|
||||
* g++.dg/template/conv16.C: New test.
|
||||
|
||||
2020-06-17 Patrick Palka <ppalka@redhat.com>
|
||||
|
||||
PR testsuite/95716
|
||||
* g++.dg/ext/pr85503.C: Give ai::cv public access.
|
||||
|
||||
2020-06-17 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/95717
|
||||
* g++.dg/torture/pr95717.C: New testcase.
|
||||
|
||||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR testsuite/95720
|
||||
* gcc.misc-tests/gcov-pr94029.c: Remove not needed remove-gcda.
|
||||
* lib/gcov.exp: Delete properly .gcov files.
|
||||
|
||||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* g++.dg/vect/vec-cond-expr-eh.C: New test.
|
||||
|
||||
2020-06-17 liuhongt <hongtao.liu@intel.com>
|
||||
|
||||
* gcc.target/i386/avx2-shiftqihi-constant-1.c: New test.
|
||||
* gcc.target/i386/avx2-shiftqihi-constant-2.c: Ditto.
|
||||
* gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Ditto.
|
||||
* gcc.target/i386/avx512bw-shiftqihi-constant-2.c: Ditto.
|
||||
* gcc.target/i386/sse2-shiftqihi-constant-1.c: Ditto.
|
||||
* gcc.target/i386/sse2-shiftqihi-constant-2.c: Ditto.
|
||||
|
||||
2020-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* g++.dg/torture/pr95493-1.C: New test.
|
||||
|
|
|
@ -1,3 +1,18 @@
|
|||
2020-06-17 Samuel Thibault <samuel.thibault@gnu.org>
|
||||
|
||||
* config.host (md_unwind_header) <i[34567]86-*-gnu*>: Set to
|
||||
'i386/gnu-unwind.h'
|
||||
* config/i386/gnu-unwind.h: New file.
|
||||
|
||||
2020-06-17 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* libgcov-util.c (read_gcda_finalize): Remove const operator.
|
||||
(merge_wrapper): Add both counts and use them properly.
|
||||
(topn_to_memory_representation): New function.
|
||||
(gcov_merge): Covert on disk representation to in memory
|
||||
representation.
|
||||
* libgcov.h: Remove const operator.
|
||||
|
||||
2020-06-15 Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
PR lto/94848
|
||||
* testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
|
||||
'dg-do run'.
|
||||
|
||||
2020-06-17 Andrew Stubbs <ams@codesourcery.com>
|
||||
|
||||
* plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
|
||||
variant for HSA_RUNTIME_LIB name.
|
||||
(find_executable_symbol_1): Delete.
|
||||
(find_executable_symbol): Delete.
|
||||
(init_kernel_properties): Add ".kd" suffix to symbol names.
|
||||
(find_load_offset): Delete.
|
||||
(create_and_finalize_hsa_program): Remove relocation handling.
|
||||
|
||||
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
* testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
|
||||
|
|
|
@ -1,3 +1,39 @@
|
|||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/94540
|
||||
* include/bits/stl_uninitialized.h (__uninitialized_default_1<true>):
|
||||
Construct the first value at *__first instead of on the stack.
|
||||
(__uninitialized_default_n_1<true>): Likewise.
|
||||
Improve comments on several of the non-standard algorithms.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc:
|
||||
New test.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc:
|
||||
New test.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc:
|
||||
New test.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc:
|
||||
New test.
|
||||
* testsuite/23_containers/vector/cons/94540.cc: New test.
|
||||
|
||||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
|
||||
Replace Value type with int so trivial code path is used.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
|
||||
Likewise.
|
||||
|
||||
2020-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_uninitialized.h (uninitialized_fill_n): Only
|
||||
use std::fill_n when the size is an integral type.
|
||||
(__uninitialized_default_n): Likewise.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc:
|
||||
New test.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc:
|
||||
New test.
|
||||
* testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc:
|
||||
New test.
|
||||
|
||||
2020-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/95282
|
||||
|
|
Loading…
Add table
Reference in a new issue