From: GCC Administrator Date: Wed, 21 Oct 2020 00:16:36 +0000 (+0000) Subject: Daily bump. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2e04288542667307df925f7d0a4b0fa2030f741;p=gcc.git Daily bump. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6eef4e84241..a44bc0995ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,139 @@ +2020-10-20 Andrew MacLeod + + PR tree-optimization/97505 + * vr-values.c (vr_values::extract_range_basic): Trap if + vr_values version disagrees with range_of_builtin_call. + +2020-10-20 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_option_override_internal): + Don't implcitly enable Altivec ABI if set on the command line. + +2020-10-20 Aldy Hernandez + + * calls.c (get_size_range): Adjust to work with ranger. + * calls.h (get_size_range): Add ranger argument to prototype. + * gimple-ssa-warn-restrict.c (class wrestrict_dom_walker): Remove. + (check_call): Pull out of wrestrict_dom_walker into a + static function. + (wrestrict_dom_walker::before_dom_children): Rename to... + (wrestrict_walk): ...this. + (pass_wrestrict::execute): Instantiate ranger. + (class builtin_memref): Add stmt and query fields. + (builtin_access::builtin_access): Add range_query field. + (builtin_memref::builtin_memref): Same. + (builtin_memref::extend_offset_range): Same. + (builtin_access::builtin_access): Make work with ranger. + (wrestrict_dom_walker::check_call): Pull out into... + (check_call): ...here. + (check_bounds_or_overlap): Add range_query argument. + * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): + Add range_query and gimple stmt arguments. + +2020-10-20 Aldy Hernandez + + * gimple-ssa-warn-alloca.c (enum alloca_type): Remove + ALLOCA_BOUND_UNKNOWN and ALLOCA_CAST_FROM_SIGNED. + (warn_limit_specified_p): New. + (alloca_call_type_by_arg): Remove. + (cast_from_signed_p): Remove. + (is_max): Remove. + (alloca_call_type): Remove heuristics and replace with call into + ranger. + (pass_walloca::execute): Instantiate ranger. + +2020-10-20 Tobias Burnus + + * lto-wrapper.c (run_gcc): Use proper variable for + %u.ltrans_args dump suffix. + +2020-10-20 Zhiheng Xie + Nannan Zheng + + * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG + for get/set reg intrinsics. + +2020-10-20 Aldy Hernandez + + * gimple-range.cc (gimple_ranger::range_of_builtin_ubsan_call): + Make externally visble... + (range_of_builtin_ubsan_call): ...here. Add range_query argument. + (gimple_ranger::range_of_builtin_call): Make externally visible... + (range_of_builtin_call): ...here. Add range_query argument. + * gimple-range.h (range_of_builtin_call): Move out from class and + make externally visible. + * vr-values.c (vr_values::extract_range_basic): Abstract out + builtin handling to... + (vr_values::range_of_expr): Handle non SSAs. + (vr_values::extract_range_builtin): ...here. + * vr-values.h (class vr_values): Add extract_range_builtin. + (range_of_expr): Rename NAME to EXPR. + +2020-10-20 Aldy Hernandez + + PR tree-optimization/97501 + * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info): + Saturate overflows returned from SCEV. + +2020-10-20 Aldy Hernandez + + * value-range.cc (irange::operator=): Split up call to + copy_legacy_range into... + (irange::copy_to_legacy): ...this. + (irange::copy_legacy_to_multi_range): ...and this. + (irange::copy_legacy_range): Remove. + * value-range.h: Remove copoy_legacy_range. + Add copy_legacy_to_multi_range and copy_to_legacy. + +2020-10-20 Tobias Burnus + + * doc/invoke.texi (NVPTX options): Use @item not @itemx. + +2020-10-20 Richard Biener + + * tree-cfg.c (reinstall_phi_args): Remove. + (gimple_split_edge): Remove PHIs around the edge redirection + to avoid touching them at all. + +2020-10-20 Richard Biener + + * tree-vect-loop.c (vectorizable_reduction): Use the correct + loops latch edge for the PHI arg lookup. + +2020-10-20 Jozef Lawrynowicz + + * config/msp430/msp430.md (andneghi3): Allow general operand for + op1 and update output assembler template. + +2020-10-20 Tobias Burnus + + * collect-utils.c (collect_execute, fork_execute): Add at-file suffix + argument. + * collect-utils.h (collect_execute, fork_execute): Update prototype. + * collect2.c (maybe_run_lto_and_relink, do_link, main, do_dsymutil): + Update calls by passing NULL. + * config/i386/intelmic-mkoffload.c (compile_for_target, + generate_host_descr_file, prepare_target_image, main): Likewise. + * config/gcn/mkoffload.c (compile_native, main): Pass at-file suffix. + * config/nvptx/mkoffload.c (compile_native, main): Likewise. + * lto-wrapper.c (compile_offload_image): Likewise. + +2020-10-20 Aldy Hernandez + + * range-op.cc (operator_rshift::op1_range): Special case + shifting by zero. + +2020-10-20 Richard Biener + + PR tree-optimization/97496 + * tree-vect-slp.c (vect_get_and_check_slp_defs): Guard extern + promotion with not in pattern. + +2020-10-20 Stefan Schulze Frielinghaus + + * config/s390/s390.c (s390_expand_vec_strlen): Add alignment + for memory access inside loop. + 2020-10-19 Andrew MacLeod PR tree-optimization/97360 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 90bac5173df..8a26653d7f8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20201020 +20201021 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 56ea2a3bd4d..85d1f54f020 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,441 @@ +2020-10-20 Piotr Trojanek + + * sem_ch3.adb (Constrain_Decimal, Constrain_Enumeration, + Constrain_Float, Constrain_Integer, Constrain_Ordinary_Fixed): + Refine parameter type from Node_Id to Entity_Id. + +2020-10-20 Piotr Trojanek + + * sprint.adb (po): Set Dump_Freeze_Null to False; align colons. + (ps): Likewise. + +2020-10-20 Ed Schonberg + + * sinfo.ads, sinfo.adb: The flag Box_Present can appear in + Iterated_Element_Association nodes. + * sem_aggr.adb (Resolve_Aggregate): Call + Resolve_Container_Aggregate when type of context has + corresponding aspect. + * sem_type.adb (Covers): In Ada_2020 an aggregate is compatible + with a type that carries the corresponding aspect. + * exp_ch3.adb (Make_Controlling_Function_Wrappers): Do not + create declarations and bodies for inherited primitive functions + of null extensions that dispatch on result, when current scope + includes an immediately visible non-overloadable homonym of the + function. + * libgnat/a-cborse.adb, libgnat/a-cborse.ads, + libgnat/a-cbhase.ads, libgnat/a-cbhase.adb, + libgnat/a-cborma.adb, libgnat/a-cborma.ads, + libgnat/a-cbhama.adb, libgnat/a-cbhama.ads, + libgnat/a-cbdlli.adb, libgnat/a-cbdlli.ads, + libgnat/a-convec.ads, libgnat/a-ciorse.ads, + libgnat/a-cihase.ads, libgnat/a-cihase.adb, + libgnat/a-ciorma.ads, libgnat/a-cihama.ads, + libgnat/a-cihama.adb, libgnat/a-cidlli.ads, + libgnat/a-cidlli.adb, libgnat/a-coinve.adb, + libgnat/a-cobove.adb, libgnat/a-cobove.ads, + libgnat/a-convec.adb, libgnat/a-coinve.ads, + libgnat/a-coorse.ads, libgnat/a-cohase.adb, + libgnat/a-cohase.ads, libgnat/a-coorma.ads, + libgnat/a-cohama.adb, libgnat/a-cohama.ads, + libgnat/a-cdlili.ads: Add primitive function Empty for use in + aspect Aggregate, and add corresponding body or expression + function. + +2020-10-20 Arnaud Charlet + + * aspects.adb (Has_Aspect_Specifications_Flag): Add + N_Parameter_Specification. + * par-ch13.adb (Aspect_Specifications_Present): Also handle case + of an unknown aspect on the last formal parameter (terminated by + a Tok_Right_Paren). Minor reformatting. + * par-ch6.adb (P_Formal_Part): Scan aspects on formal + parameters. + * par.adb: Fix typos. + * sem_ch6.adb (Process_Formals): Add processing of aspects and + in particular Unreferenced aspect for now. + * sinfo.ads: Allow ASPECT_SPECIFICATIONS on a + PARAMETER_SPECIFICATION. + * doc/gnat_rm/implementation_defined_aspects.rst + (Aspect Unreferenced): Update documentation. + * gnat_rm.texi: Regenerate. + +2020-10-20 Piotr Trojanek + + * sem_util.ads, sem_util.adb (Get_Accessibility): Refine result + type from Node_Id to Entity_Id. + +2020-10-20 Piotr Trojanek + + * einfo.adb, exp_attr.adb, sem_ch13.adb, sem_util.adb: Use + Is_Formal where possible. + +2020-10-20 Steve Baird + + * sem_util.ads: Declare a new package, Old_Attr_Util, which in + turn declares two more packages, Conditional_Evaluation and + Indirect_Temps. Conditional_Evaluation provides a predicate for + deciding whether a given 'Old attribute reference is eligible + for conditional evaluation and, in the case where it is + eligible, a function that constructs the Boolean-valued + condition that is to be evaluated at run time in deciding + whether to evaluate the attribute prefix. Indirect_Temps + provides support for declaring a temporary which is only + initialized conditionally; more specifically, an access type and + a variable of that type are declared (unconditionally) and then + the variable is (conditionally) initialized with an allocator. + The existence of the access type and the pointer variable is + hidden from clients, except that a predicate, + Is_Access_Type_For_Indirect_Temp, is provided for identifying + such access types. This is needed because we want such an access + type to be treated like a "normal" access type (specifically + with respect to finalization of allocated objects). Other parts + of the compiler treat access types differently if + Comes_From_Source is False, or if the secondary stack storage + pool is used; this predicate is used to disable this special + treatment. + * sem_attr.adb (Uneval_Old_Msg): Improve message text to reflect + Ada202x changes. + (Analyze_Attribute): A previously-illegal 'Old attribute + reference is accepted in Ada2020 if it is eligible for + conditional evaluation. + * sem_res.adb (Valid_Conversion): Do not treat a rewritten 'Old + attribute like other rewrite substitutions. This makes a + difference, for example, in the case where we are generating the + expansion of a membership test of the form "Saooaaat'Old in + Named_Access_Type"; in this case Valid_Conversion needs to + return True (otherwise the expansion will be False - see the + call site in exp_ch4.adb). + * exp_attr.adb (Expand_N_Attribute_Reference): When expanding a + 'Old attribute reference, test for the case where the reference + is eligible for conditional evaluation. In that case, use the + new "indirect temporary" mechanism provided by Sem_Util. + * exp_prag.adb + (Expand_Attributes_In_Consequence.Expand_Attributes): If + Sem_Util.Indirect_Temp_Needed indicates that there could be + correctness problems associated with the old expansion scheme + for dealing with 'Old attributes in contract cases consequences, + then we use the new "indirect temporary" mechanism provided by + Sem_Util instead. We do not want to do this unconditionally. + * sem_util.adb: Provide a body for the new Old_Attr_Util + package. Further work is needed in several areas for + correctness: + - The function Is_Repeatedly_Evaluated does not deal with + container aggregates yet. + - The function Is_Known_On_Entry does not deal with interactions + with the Global aspect. + Each area where more work is needed is indicated with a "???" + comment in the code; a more detailed description can be found + there. Some optimization opportunties are similarly indicated + with a "???" comment. + * exp_ch3.adb (Freeze_Type): In deciding whether to generate + expansion for the list controller of an access type, take the + predicate Is_Access_Type_For_Indirect_Temp into account. If the + predicate yields True, then generate the expansion. + * exp_util.adb (Build_Allocate_Deallocate_Proc): We don't + normally finalize allocated objects that are allocated on the + secondary stack. Add an exception to this rule if the predicate + Is_Access_Type_For_Indirect_Temp yields True. As a result of + this exception, we have to deal with the fact that gigi expects + a different parameter profile if we are using the secondary + stack pool; the Pool and Alignment parameters must be omitted in + this case. + +2020-10-20 Javier Miranda + + * sem_ch12.adb (Install_Parents_Of_Generic_Context, + Remove_Parents_Of_Generic_Context): New subprograms. + (Instantiate_Package_Body): Adding assertions to ensure that + installed parents are properly removed. + +2020-10-20 Claire Dross + + * sem_attr.adb (Analyze_Attribute): Emit a warning on 'Update + when Warn_On_Obsolescent_Feature is set to True. + +2020-10-20 Richard Kenner + + * gnat_cuda.adb (Build_Register_Function_Call): Make procedure + call instead of function, rename to + Build_Register_Procedure_Call. + (Build_CUDA_Init_Proc): Make procedure call instead of function. + +2020-10-20 Justin Squirek + + * exp_ch6.adb (Expand_Branch): Properly anticipate expansion of + conditional expressions producing object declarations in + addition to assignment statements, and rename formal. + +2020-10-20 Yannick Moy + + * errout.adb (Write_Source_Code_Line): Adopt display closer to + GCC format. + (Output_Messages): Deal specially with info messages. + * erroutc.adb (Prescan_Message): Fix bug leading to check + messages being considered as error messages in pretty output + mode. + +2020-10-20 Justin Squirek + + * exp_ch6.adb (Expand_Call_Helper): Properly handle the case + where the condition of a conditional expression has been + optimized out when calculating the value of an extra + accessibility parameter. + +2020-10-20 Bob Duff + + * doc/gnat_ugn/gnat_utility_programs.rst: Change "_" to "-". + +2020-10-20 Arnaud Charlet + + * sem_aggr.adb (Resolve_Aggregate): Warn on not fully + initialized box aggregate. + * sem_aggr.ads: Fix typo. + * sem_res.adb (Resolve_Actuals): Fix typo in error message + format marking it incorrectly as a continuation message. + * sem_elab.adb (Check_Internal_Call_Continue): Similarly, add + missing primary message in case of a call to an actual generic + subprogram. + * sem_warn.adb (Check_References): Do not warn on read but never + assigned variables if the type is partially initialized. + * libgnat/a-except.ads, libgnat/a-ststun.ads, + libgnat/g-sechas.ads, libgnat/a-cbdlli.ads, + libgnat/a-cfdlli.ads, libgnat/a-cobove.ads, + libgnat/a-cohata.ads, libgnat/a-crbltr.ads, + libgnat/a-cbmutr.ads, libgnat/a-crdlli.ads, + libgnat/a-cbsyqu.ads: Address new warning. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Update doc on -gnatwv. + * gnat_ugn.texi: Regenerate. + +2020-10-20 Gary Dismukes + + * sem_ch6.adb (Analyze_Expression_Function): Mark static + expression functions as inlined. + +2020-10-20 Arnaud Charlet + + * contracts.adb (Is_Prologue_Renaming): This function was + missing support for E_Constant which can also be generated in + protected objects. + +2020-10-20 Arnaud Charlet + + * bindgen.adb (Gen_Bind_Env_String): Generate Ada 2012 compatible + strings. Code cleanup. + +2020-10-20 Yannick Moy + + * sem_util.adb, sem_util.ads: Comment fix. + +2020-10-20 Arnaud Charlet + + * sem_ch8.adb (Check_Constrained_Object): Suppress discriminant + checks when the type has default discriminants and comes from + expansion of a "for of" loop. + +2020-10-20 Bob Duff + + * atree.ads: Make Default_Node a constant. Remove the + modification of Comes_From_Source, and use a separate flag for + that. Change Sloc to 0; it always overwritten, and never left + as the No_Location value. + (Print_Statistics): Move to spec so we can call it from + gnat1drv. + (Num_Nodes): Rename to clarify that this is approximate. + Correct comment: nodes and entities are never deleted, the count + is never decremented, and this is not used by Xref. + (Initialize): Correct comment: Error_List is not created here. + Other minor naming and comment changes. + * atree.adb (Extend_Node, New_Copy, New_Entity, New_Node): + Streamline these. Simplify and improve efficiency. Move code + from Allocate_Initialize_Node to these, where it can be executed + unconditionally. Take advantage of automatic zeroing of the + Nodes table. + (Allocate_Initialize_Node): Remove this. It was an efficiency + bottleneck, and somewhat complicated, because it was called from + 4 places, and had all sorts of conditionals to check where it + was called from. Better to move most of that code to the call + sites, where it can be executed (or not) unconditionally. + (Allocate_New_Node): New procedure to partly replace + Allocate_Initialize_Node (called from just 2 of those 4 places). + (Comes_From_Source_Default): New flag written/read by + Set_Comes_From_Source_Default/Get_Comes_From_Source_Default. + This allows us to make Default_Node into a constant with + all-zeros value. + (Set_Paren_Count_Of_Copy): New procedure to avoid duplicated + code. + (Report): New procedure to encapsulate the call to the reporting + procedure. + (Atree_Private_Part): We now need a body for this package, to + contain package body Nodes. + (Approx_Num_Nodes_And_Entities): Was Num_Nodes. For efficiency, + compute the answer from Nodes.Last. That way we don't need to + increment a counter on every node creation. Other minor naming + and comment changes. + * gnat1drv.adb: Call Atree.Print_Statistics if -gnatd.A switch + was given. Add comment documenting the new order dependency (we + must process the command line before calling Atree.Initialize). + * debug.adb: Document -gnatd.A. + * einfo.adb, sinfo.adb: Remove useless Style_Checks pragmas. + * nlists.ads (Allocate_List_Tables): Inline makes node creation + a little faster. + * nlists.adb (Initialize): Remove local constant E, which didn't + seem to add clarity. + * treepr.adb (Print_Init): Use renamed + Approx_Num_Nodes_And_Entities function. + * types.ads: Change the Low and High bounds as described above. + * types.h: Change Low and High bounds to match types.ads. + * sem_ch8.adb, namet.adb, namet.ads: Move the computation of + Last_Name_Id from sem_ch8 to namet, and correct it to not assume + Name_Ids are positive. + * ali.adb, ali-util.adb, bindo-writers.adb, exp_dist.adb, + fmap.adb, fname-uf.adb, osint.adb: Fix various hash functions to + avoid assuming the various ranges are positive. Note that "mod" + returns a nonnegative result when the second operand is + positive. "rem" can return negative values in that case (in + particular, if the first operand is negative, which it now is). + * switch-c.adb: Allow switch -gnaten to control the value of + Nodes_Size_In_Meg. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Remove traling whitespaces. + * opt.ads (Nodes_Size_In_Meg): New Variable. + +2020-10-20 Eric Botcazou + + * exp_util.adb (Remove_Side_Effects): Always generate a renaming + that is handled by the front-end in the case of an indexed or a + selected component whose prefix has a nonstandard representation. + +2020-10-20 Pat Rogers + + * doc/gnat_rm/the_gnat_library.rst: Add Ada.Task_Initialization. + * gnat_rm.texi: Regenerate. + +2020-10-20 Yannick Moy + + * errout.adb: (Error_Msg-Internal): Pass the location for a line + insertion if any in the message. + (Output_Messages: Add display of source code lines if -gnatdF is + set. + (Write_Source_Code_Line): Code clean up. + * erroutc.adb (Prescan_Message): Apply prescan for continuation + lines when -gnatdF is set, and record presence of line + insertion. + * erroutc.ads (Has_Insertion_Line): New global for prescan. + (Error_Msg_Object): Add field to record line insertion if + present. + * errutil.adb (Error_Msg): Pass no location for Insertion_Sloc. + +2020-10-20 Arnaud Charlet + + * exp_ch5.adb (Expand_N_Case_Statement): Do not generate + validity check when possible. + +2020-10-20 Ed Schonberg + + * exp_aggr.adb (Expand_Iterated_Component): Reorganize code to + ensure that Loop_Id is properly initialized on all paths, and + remove code duplication. + +2020-10-20 Piotr Trojanek + + * sem_ch3.adb (Analyze_Subtype_Declaration): Propagate predicate + function to full view of the created type as well, if it was + created. + +2020-10-20 Arnaud Charlet + + * exp_attr.adb (Expand_N_Attribute_Reference): Merge handling of + Simple_Storage_Pool and Storage_Pool. + +2020-10-20 Piotr Trojanek + + * aspects.ads: Introduce Subprogram_Variant aspect with the + following properties: GNAT-specific, with mandatory expression, + not a representation aspect, never delayed. + * contracts.adb (Expand_Subprogram_Contract): Mention new aspect + in the comment. + (Add_Contract_Item): Support addition of pragma + Subprogram_Variant to N_Contract node. + (Analyze_Entry_Or_Subprogram_Contract): Mention new aspect in + the comment; add pragma Subprogram_Variant to N_Contract node. + (Build_Postconditions_Procedure): Adapt call to + Insert_Before_First_Source_Declaration, which is now reused in + expansion of new aspect. + (Process_Contract_Cases_For): Also process Subprogram_Variant, + which is stored in N_Contract node together with Contract_Cases. + * contracts.ads (Analyze_Entry_Or_Subprogram_Contract): Mention + new aspect in the comment. + (Analyze_Entry_Or_Subprogram_Body_Contract): Likewise. + * einfo.adb (Get_Pragma): Support retrieval of new pragma. + * einfo.ads (Get_Pragma): Likewise. + * exp_ch6.adb (Check_Subprogram_Variant): New routine for + emitting call to check Subprogram_Variant expressions at run + time. + (Expand_Call_Helper): Check Subprogram_Variant expressions at + recursive calls. + * exp_prag.adb (Make_Op): Moved from expansion of pragma + Loop_Variant to Exp_Util, so it is now reused for expansion of + pragma Subprogram_Variant. + (Process_Variant): Adapt call to Make_Op after moving it to + Exp_Util. + (Expand_Pragma_Subprogram_Variant): New routine. + * exp_prag.ads (Expand_Pragma_Subprogram_Variant): Likewise. + * exp_util.adb (Make_Variant_Comparison): Moved from Exp_Prag + (see above). + * exp_util.ads (Make_Variant_Comparison): Likewise. + * inline.adb (Remove_Aspects_And_Pragmas): Handle aspect/pragma + Subprogram_Variant just like similar contracts. + * par-prag.adb (Prag): Likewise. + * sem.adb (Insert_Before_First_Source_Declaration): Moved from + Contracts (see above). + * sem.ads (Insert_Before_First_Source_Declaration): Likewise. + * sem_ch12.adb: Mention new aspect in the comment about + "Implementation of Generic Contracts", just like similar aspects + are mentioned there. + * sem_ch13.adb (Insert_Pragma): Mention new aspect in the + comment, because this routine is now used for Subprogram_Variant + just like for other similar aspects. + (Analyze_Aspect_Specifications): Mention new aspect in comments; + it is handled just like aspect Contract_Cases. + (Check_Aspect_At_Freeze_Point): Do not expect aspect + Subprogram_Variant just like we don't expect aspect + Contract_Cases. + * sem_prag.adb (Ensure_Aggregate_Form): Now also used for pragma + Subprogram_Variant, so update comment. + (Analyze_Pragma): Add initial checks for pragma + Subprogram_Variant. + (Analyze_Subprogram_Variant_In_Decl_Part): New routine with + secondary checks on the new pragma. + (Sig_Flags): Handle references within pragma Subprogram_Variant + expression just like references in similar pragma + Contract_Cases. + (Is_Valid_Assertion_Kind): Handle Subprogram_Variant just like + other similar contracts. + * sem_prag.ads (Analyze_Subprogram_Variant_In_Decl_Part): New + routine. + * sem_res.adb (Same_Or_Aliased_Subprograms): Moved to Sem_Util, + so it can be reused for detection of recursive calls where + Subprogram_Variant needs to be verified. + * sem_util.adb (Is_Subprogram_Contract_Annotation): Handle new + Subprogram_Variant annotation just like other similar + annotations. + (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above). + * sem_util.ads (Is_Subprogram_Contract_Annotation): Mention new + aspect in the comment. + (Same_Or_Aliased_Subprograms): Moved from Sem_Res (see above). + * sinfo.ads (N_Contract): Document handling of + Subprogram_Variant. + * snames.ads-tmpl: Add name for the internally generated + procedure with checks for Subprogram_Variant expression, name + for the new aspect and new pragma corresponding to aspect + Subprogram_Variant. + +2020-10-20 Piotr Trojanek + + * exp_util.ads: Reorder declaration. + 2020-10-19 Ed Schonberg * par-ch4.adb: (P_Aggregate_Or_Paren_Expr): Recognize diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 004df549897..aa321fb8a89 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2020-10-20 Nathan Sidwell + + * name-lookup.c (push_local_extern_decl_alias): Reconstextualize + alias' parm decls. Drop any default args. + 2020-10-19 Iain Sandoe PR c++/97438 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bbfb97b4069..649f2bd0c63 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,68 @@ +2020-10-20 Jeff Law + + * gcc.dg/Wbuiltin-declaration-mismatch-9.c: Improve pruning of + invalid scanf call messages. + +2020-10-20 Andrew MacLeod + + PR tree-optimization/97505 + * gfortran.dg/pr97505.f90: New file. + +2020-10-20 Nathan Sidwell + + * g++.dg/lookup/local-extern.C: New. + +2020-10-20 Aldy Hernandez + + * gcc.dg/Wrestrict-22.c: New test. + * g++.dg/torture/pr92421.C: Adjust for ranger. + +2020-10-20 Aldy Hernandez + + * gcc.dg/Walloca-1.c: Adjust for ranger. + * gcc.dg/Walloca-12.c: Same. + * gcc.dg/Walloca-13.c: Same. + * gcc.dg/Walloca-2.c: Same. + * gcc.dg/Walloca-3.c: Same. + * gcc.dg/Walloca-6.c: Same. + * gcc.dg/Wvla-larger-than-2.c: Same. + +2020-10-20 Tobias Burnus + + * gcc.misc-tests/outputs.exp: Add ltrans_args dump files + for 'lto save-temps'. + +2020-10-20 Aldy Hernandez + + * gcc.dg/pr97501.c: New test. + +2020-10-20 Nathan Sidwell + + * gcc.dg/cpp/endif.c: Move to ... + * c-c++-common/cpp/endif.c: ... here. + * gcc.dg/cpp/endif.h: Move to ... + * c-c++-common/cpp/endif.h: ... here. + * c-c++-common/cpp/eof-2.c: Adjust diagnostic. + * c-c++-common/cpp/eof-3.c: Adjust diagnostic. + +2020-10-20 Marek Polacek + + PR c++/82239 + * g++.dg/cpp0x/static_assert16.C: New test. + +2020-10-20 Arnaud Charlet + + * gnat.dg/opt11.adb: Add new expected warning. + +2020-10-20 Richard Biener + + PR tree-optimization/97496 + * gcc.dg/vect/bb-slp-pr97496.c: New testcase. + +2020-10-20 Aldy Hernandez + + * gcc.dg/pr97488.c: Add target int128 predicate. + 2020-10-19 Andrew MacLeod * gcc.dg/pr97360-2.c: New test. diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index 79837b302da..528b2b0e2f2 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,8 @@ +2020-10-20 Ian Lance Taylor + + * internal.h (ATTRIBUTE_FALLTHROUGH): Define. + * elf.c (elf_zlib_inflate): Use ATTRIBUTE_FALLTHROUGH. + 2020-09-28 Ian Lance Taylor PR libbacktrace/97082 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 411b2be8ce3..61bfe813167 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,11 @@ +2020-10-20 Nathan Sidwell + + * lex.c (_cpp_lex_direct): Do not complete EOF processing when + parsing_args. + * macro.c (collect_args): Do not unwind fake EOF. + (funlike_invocation_p): Do not unwind fake EOF. + (cpp_context): Replace abort with gcc_assert. + 2020-10-19 Nathan Sidwell * internal.h (struct cpp_reader): Rename 'eof' field to 'endarg'. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 34aa326987c..931df0a19eb 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,30 @@ +2020-10-20 Jakub Jelinek + + * target.c (gomp_target_init): Inside of the function, use automatic + variables corresponding to num_devices, num_devices_openmp and devices + global variables and update the globals only at the end of the + function. + +2020-10-20 Kwok Cheung Yeung + + * env.c (gomp_target_offload_var): New. + (parse_target_offload): New. + (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD. + (initialize_env): Parse OMP_TARGET_OFFLOAD. + * libgomp.h (gomp_target_offload_t): New. + (gomp_target_offload_var): New. + * libgomp.texi (OMP_TARGET_OFFLOAD): New section. + * target.c (resolve_device): Generate error if device not found and + offloading is mandatory. + (gomp_target_fallback): Generate error if offloading is mandatory. + (GOMP_target): Add argument in call to gomp_target_fallback. + (GOMP_target_ext): Likewise. + (gomp_target_data_fallback): Generate error if offloading is mandatory. + (GOMP_target_data): Add argument in call to gomp_target_data_fallback. + (GOMP_target_data_ext): Likewise. + (gomp_target_task_fn): Add argument in call to gomp_target_fallback. + (gomp_target_init): Return early if offloading is disabled. + 2020-10-15 Kwok Cheung Yeung * libgomp.texi (omp_get_max_active_levels): Modify description. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5861f3a077e..b898cee8295 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,88 @@ +2020-10-20 François Dumont + + * include/bits/hashtable_policy.h + (_Hash_node_value_base<>): Remove _Hash_node_base inheritance. + (_Hash_node_code_cache): New. + (_Hash_node_value): New. + (_Hash_node<>): Inherits _Hash_node_base<> and _Hash_node_value<>. + (_Map_base<>::__node_type): Remove. + (_Map_base<>::iterator): Remove. + (_Insert_base<>::__hash_cached): New. + (_Insert_base<>::__constant_iterators): New. + (_Insert_base<>::__hashtable_alloc): New. + (_Insert_base<>::__node_type): Remove. + (_Insert_base<>::__node_ptr): New. + (_Hash_code_base<>): Remove specializations. + (_Hash_code_base<>::__node_type): Remove. + (_Hash_code_base<>::_M_bucket_index(const __node_type*, size_t)): + Replace by... + (_Hash_code_base<>::_M_bucket_index(const _Hash_node_value<>&, size_t)): + ...this. + (_Hash_code_base<>::_M_store_code(__node_type*, __hash_code)): + Replace by... + (_Hash_code_base<>::_M_store_code(_Hash_node_code_cache<>&, __hash_code)): + ...this. + (_Hash_code_base<>::_M_copy_code(__node_type*, const __node_type*)): + Replace by... + (_Hash_code_base<>::_M_copy_code(_Hash_node_code_cache<>&, + const _Hash_node_code_base<>&)): ...this. + (_Hashtable_base<>::__constant_iterators): Remove. + (_Hashtable_base<>::__unique_keys): Remove. + (_Hashtable_base<>::__node_type): Remove. + (_Hashtable_base<>::iterator): Remove. + (_Hashtable_base<>::const_iterator): Remove. + (_Hashtable_base<>::local_iterator): Remove. + (_Hashtable_base<>::const_local_iterator): Remove. + (_Hashtable_base<>::__ireturn_type): Remove. + (_Hashtable_base<>::_Equal_hash_code<>::_S_equals): Replace by... + (_Hashtable_base<>::_S_equals(__hash_code, const _Hash_node_code_hash<>&)): + ...this. + (_Hashtable_base<>::_Equal_hash_code<>::_S_node_equals): Replace by... + (_Hashtable_base<>::_S_node_equals(__hash_code, + const _Hash_node_code_hash<>&)): ...this. + (_Hashtable_base<>::_Equal_hash_code<>): Remove. + (_Hashtable_base<>::_M_equals): Adapt. + (_Hashtable_baxe<>::_M_node_equals): Adapt. + (_Equality<>::_M_equal): Adapt. + (_Hashtable_alloc<>::__node_ptr): New. + (_Hashtable_alloc<>::__bucket_type): Rename into... + (_Hashtable_alloc<>::__node_base_ptr): ...this. + (_Hashtable_alloc<>::__bucket_alloc_type): Rename into... + (_Hashtable_alloc<>::__buckets_alloc_type): ...this. + (_Hashtable_alloc<>::__bucket_alloc_traits): Rename into... + (_Hashtable_alloc<>::__buckets_alloc_traits): ...this. + (_Hashtable_alloc<>::__buckets_ptr): New. + (_Hashtable_alloc<>::_M_allocate_node): Adapt. + (_Hashtable_alloc<>::_M_deallocate_node): Adapt. + (_Hashtable_alloc<>::_M_deallocate_node_ptr): Adapt. + (_Hashtable_alloc<>::_M_deallocate_nodes): Adapt. + (_Hashtable_alloc<>::_M_allocate_buckets): Adapt. + (_Hashtable_alloc<>::_M_deallocate_buckets): Adapt. + * include/bits/hashtable.h (_Hashtable<>): Adapt. + +2020-10-20 Aldy Hernandez + + * testsuite/21_strings/basic_string/capacity/1.cc: Pass + -Wno-stringop-overflow to test. + +2020-10-20 Jonathan Wakely + + PR libstdc++/95917 + * include/std/coroutine (__noop_coro_frame): Replace with + noop_coroutine_handle::__frame. + (__dummy_resume_destroy): Define inline in __frame. + (__noop_coro_fr): Replace with noop_coroutine_handle::_S_fr + and define as inline. + * testsuite/18_support/coroutines/95917.cc: New test. + +2020-10-20 Jonathan Wakely + + * include/std/coroutine (coroutine_handle<_Promise>): Remove + base class. Add constructors, conversions, accessors etc. as + proposed for LWG 3460. + (coroutine_handle): Likewise. + * testsuite/18_support/coroutines/lwg3460.cc: New test. + 2020-10-19 Jonathan Wakely * include/bits/unique_ptr.h (make_unique_for_overwrite): Define