mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-11 23:45:12 +08:00
Daily bump.
This commit is contained in:
parent
deb1365e5c
commit
e2e0428854
136
gcc/ChangeLog
136
gcc/ChangeLog
@ -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
|
||||
|
@ -1 +1 @@
|
||||
20201020
|
||||
20201021
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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'.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user