Daily bump.

This commit is contained in:
GCC Administrator 2020-10-21 00:16:36 +00:00
parent deb1365e5c
commit e2e0428854
9 changed files with 770 additions and 1 deletions

View File

@ -1,3 +1,139 @@
2020-10-20 Andrew MacLeod <amacleod@redhat.com>
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 <dje.gcc@gmail.com>
* 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 <aldyh@redhat.com>
* 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 <aldyh@redhat.com>
* 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 <tobias@codesourcery.com>
* lto-wrapper.c (run_gcc): Use proper variable for
%u.ltrans_args dump suffix.
2020-10-20 Zhiheng Xie <xiezhiheng@huawei.com>
Nannan Zheng <zhengnannan@huawei.com>
* config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
for get/set reg intrinsics.
2020-10-20 Aldy Hernandez <aldyh@redhat.com>
* 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 <aldyh@redhat.com>
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 <aldyh@redhat.com>
* 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 <tobias@codesourcery.com>
* doc/invoke.texi (NVPTX options): Use @item not @itemx.
2020-10-20 Richard Biener <rguenther@suse.de>
* 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 <rguenther@suse.de>
* tree-vect-loop.c (vectorizable_reduction): Use the correct
loops latch edge for the PHI arg lookup.
2020-10-20 Jozef Lawrynowicz <jozef.l@mittosystems.com>
* config/msp430/msp430.md (andneghi3): Allow general operand for
op1 and update output assembler template.
2020-10-20 Tobias Burnus <tobias@codesourcery.com>
* 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 <aldyh@redhat.com>
* range-op.cc (operator_rshift::op1_range): Special case
shifting by zero.
2020-10-20 Richard Biener <rguenther@suse.de>
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 <stefansf@linux.ibm.com>
* config/s390/s390.c (s390_expand_vec_strlen): Add alignment
for memory access inside loop.
2020-10-19 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/97360

View File

@ -1 +1 @@
20201020
20201021

View File

@ -1,3 +1,441 @@
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
* 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 <trojanek@adacore.com>
* sprint.adb (po): Set Dump_Freeze_Null to False; align colons.
(ps): Likewise.
2020-10-20 Ed Schonberg <schonberg@adacore.com>
* 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 <charlet@adacore.com>
* 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 <trojanek@adacore.com>
* sem_util.ads, sem_util.adb (Get_Accessibility): Refine result
type from Node_Id to Entity_Id.
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
* einfo.adb, exp_attr.adb, sem_ch13.adb, sem_util.adb: Use
Is_Formal where possible.
2020-10-20 Steve Baird <baird@adacore.com>
* 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 <miranda@adacore.com>
* 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 <dross@adacore.com>
* sem_attr.adb (Analyze_Attribute): Emit a warning on 'Update
when Warn_On_Obsolescent_Feature is set to True.
2020-10-20 Richard Kenner <kenner@adacore.com>
* 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 <squirek@adacore.com>
* 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 <moy@adacore.com>
* 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 <squirek@adacore.com>
* 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 <duff@adacore.com>
* doc/gnat_ugn/gnat_utility_programs.rst: Change "_" to "-".
2020-10-20 Arnaud Charlet <charlet@adacore.com>
* 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 <dismukes@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): Mark static
expression functions as inlined.
2020-10-20 Arnaud Charlet <charlet@adacore.com>
* 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 <charlet@adacore.com>
* bindgen.adb (Gen_Bind_Env_String): Generate Ada 2012 compatible
strings. Code cleanup.
2020-10-20 Yannick Moy <moy@adacore.com>
* sem_util.adb, sem_util.ads: Comment fix.
2020-10-20 Arnaud Charlet <charlet@adacore.com>
* 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 <duff@adacore.com>
* 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 <ebotcazou@adacore.com>
* 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 <rogers@adacore.com>
* doc/gnat_rm/the_gnat_library.rst: Add Ada.Task_Initialization.
* gnat_rm.texi: Regenerate.
2020-10-20 Yannick Moy <moy@adacore.com>
* 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 <charlet@adacore.com>
* exp_ch5.adb (Expand_N_Case_Statement): Do not generate
validity check when possible.
2020-10-20 Ed Schonberg <schonberg@adacore.com>
* 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 <trojanek@adacore.com>
* 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 <charlet@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference): Merge handling of
Simple_Storage_Pool and Storage_Pool.
2020-10-20 Piotr Trojanek <trojanek@adacore.com>
* 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 <trojanek@adacore.com>
* exp_util.ads: Reorder declaration.
2020-10-19 Ed Schonberg <schonberg@adacore.com>
* par-ch4.adb: (P_Aggregate_Or_Paren_Expr): Recognize

View File

@ -1,3 +1,8 @@
2020-10-20 Nathan Sidwell <nathan@acm.org>
* name-lookup.c (push_local_extern_decl_alias): Reconstextualize
alias' parm decls. Drop any default args.
2020-10-19 Iain Sandoe <iain@sandoe.co.uk>
PR c++/97438

View File

@ -1,3 +1,68 @@
2020-10-20 Jeff Law <law@redhat.com>
* gcc.dg/Wbuiltin-declaration-mismatch-9.c: Improve pruning of
invalid scanf call messages.
2020-10-20 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/97505
* gfortran.dg/pr97505.f90: New file.
2020-10-20 Nathan Sidwell <nathan@acm.org>
* g++.dg/lookup/local-extern.C: New.
2020-10-20 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/Wrestrict-22.c: New test.
* g++.dg/torture/pr92421.C: Adjust for ranger.
2020-10-20 Aldy Hernandez <aldyh@redhat.com>
* 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 <tobias@codesourcery.com>
* gcc.misc-tests/outputs.exp: Add ltrans_args dump files
for 'lto save-temps'.
2020-10-20 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/pr97501.c: New test.
2020-10-20 Nathan Sidwell <nathan@acm.org>
* 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 <polacek@redhat.com>
PR c++/82239
* g++.dg/cpp0x/static_assert16.C: New test.
2020-10-20 Arnaud Charlet <charlet@adacore.com>
* gnat.dg/opt11.adb: Add new expected warning.
2020-10-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/97496
* gcc.dg/vect/bb-slp-pr97496.c: New testcase.
2020-10-20 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/pr97488.c: Add target int128 predicate.
2020-10-19 Andrew MacLeod <amacleod@redhat.com>
* gcc.dg/pr97360-2.c: New test.

View File

@ -1,3 +1,8 @@
2020-10-20 Ian Lance Taylor <iant@golang.org>
* internal.h (ATTRIBUTE_FALLTHROUGH): Define.
* elf.c (elf_zlib_inflate): Use ATTRIBUTE_FALLTHROUGH.
2020-09-28 Ian Lance Taylor <iant@golang.org>
PR libbacktrace/97082

View File

@ -1,3 +1,11 @@
2020-10-20 Nathan Sidwell <nathan@acm.org>
* 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 <nathan@acm.org>
* internal.h (struct cpp_reader): Rename 'eof' field to 'endarg'.

View File

@ -1,3 +1,30 @@
2020-10-20 Jakub Jelinek <jakub@redhat.com>
* 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 <kcy@codesourcery.com>
* 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 <kcy@codesourcery.com>
* libgomp.texi (omp_get_max_active_levels): Modify description.

View File

@ -1,3 +1,88 @@
2020-10-20 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h
(_Hash_node_value_base<>): Remove _Hash_node_base inheritance.
(_Hash_node_code_cache<bool _Cache_hash_code>): New.
(_Hash_node_value<typename _Value, bool _Cache_hash_code>): 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 <aldyh@redhat.com>
* testsuite/21_strings/basic_string/capacity/1.cc: Pass
-Wno-stringop-overflow to test.
2020-10-20 Jonathan Wakely <jwakely@redhat.com>
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 <jwakely@redhat.com>
* include/std/coroutine (coroutine_handle<_Promise>): Remove
base class. Add constructors, conversions, accessors etc. as
proposed for LWG 3460.
(coroutine_handle<noop_coroutine_promise>): Likewise.
* testsuite/18_support/coroutines/lwg3460.cc: New test.
2020-10-19 Jonathan Wakely <jwakely@redhat.com>
* include/bits/unique_ptr.h (make_unique_for_overwrite): Define