Daily bump.
This commit is contained in:
parent
5f9ccf17de
commit
9d116bcc55
12 changed files with 1012 additions and 1 deletions
102
gcc/ChangeLog
102
gcc/ChangeLog
|
@ -1,3 +1,105 @@
|
|||
2021-10-01 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
PR tree-optimization/102546
|
||||
* range-op.cc (operator_lshift::op1_range): Teach range-ops that
|
||||
X << Y is non-zero implies X is also non-zero.
|
||||
|
||||
2021-10-01 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
|
||||
Cortex-X2 core.
|
||||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||||
* doc/invoke.texi: Update docs.
|
||||
|
||||
2021-10-01 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
|
||||
Cortex-A710 core.
|
||||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||||
* doc/invoke.texi: Update docs.
|
||||
|
||||
2021-10-01 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-cores.def (AARCH64_CORE): New
|
||||
Cortex-A510 core.
|
||||
* config/aarch64/aarch64-tune.md: Regenerate.
|
||||
* doc/invoke.texi: Update docs.
|
||||
|
||||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* doc/invoke.texi (-Waddress): Update.
|
||||
* gengtype.c (write_types): Avoid -Waddress.
|
||||
* poly-int.h (POLY_SET_COEFF): Avoid using null.
|
||||
|
||||
2021-10-01 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
PR debug/102373
|
||||
* config/pa/pa.c (pa_option_override): Default to dwarf version 4
|
||||
on hppa64-hpux.
|
||||
|
||||
2021-10-01 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.h (AARCH64_FL_V9): Update value.
|
||||
|
||||
2021-10-01 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* gimple-range-path.cc (path_range_query::compute_ranges): Use
|
||||
get_path_oracle.
|
||||
* gimple-range-path.h (class path_range_query): Remove shadowed
|
||||
m_oracle field.
|
||||
(path_range_query::get_path_oracle): New.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR sanitizer/102515
|
||||
* doc/invoke.texi (-fsanitize=integer-divide-by-zero): Remove
|
||||
INT_MIN / -1 division detection from here ...
|
||||
(-fsanitize=signed-integer-overflow): ... and add it here.
|
||||
|
||||
2021-10-01 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-arches.def (AARCH64_ARCH): Added
|
||||
armv9-a.
|
||||
* config/aarch64/aarch64.h (AARCH64_FL_V9): New.
|
||||
(AARCH64_FL_FOR_ARCH9): New flags for Armv9-A.
|
||||
(AARCH64_ISA_V9): New ISA flag.
|
||||
* doc/invoke.texi: Update docs.
|
||||
|
||||
2021-10-01 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* toplev.c (toplev::main): Save decoded optimization options.
|
||||
* toplev.h (save_opt_decoded_options): New.
|
||||
* doc/extend.texi: Be more clear about optimize and target
|
||||
attributes.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* explow.c: Include langhooks.h.
|
||||
(set_stack_check_libfunc): Build a proper function type.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR c++/64697
|
||||
* config/i386/i386.c (legitimate_pic_address_disp_p): For PE-COFF do
|
||||
not return true for external weak function symbols in medium model.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* tree.h (OMP_CLAUSE_ORDER_REPRODUCIBLE): Define.
|
||||
* tree-pretty-print.c (dump_omp_clause) <case OMP_CLAUSE_ORDER>: Print
|
||||
reproducible: for OMP_CLAUSE_ORDER_REPRODUCIBLE.
|
||||
* omp-general.c (omp_extract_for_data): If OMP_CLAUSE_ORDER is seen
|
||||
without OMP_CLAUSE_ORDER_UNCONSTRAINED, overwrite sched_kind to
|
||||
OMP_CLAUSE_SCHEDULE_STATIC.
|
||||
|
||||
2021-10-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/102518
|
||||
* tree-inline.c (setup_one_parameter): Avoid substituting
|
||||
an invariant into contexts where a GIMPLE register is not valid.
|
||||
|
||||
2021-09-30 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
|
||||
|
||||
* config/arm/arm-cpus.in: Add Cortex-R52+ CPU.
|
||||
|
|
|
@ -1 +1 @@
|
|||
20211001
|
||||
20211002
|
||||
|
|
|
@ -1,3 +1,408 @@
|
|||
2021-10-01 Bob Duff <duff@adacore.com>
|
||||
|
||||
* exp_ch6.adb (Expand_Call_Helper): Do not call
|
||||
Check_Subprogram_Variant if the subprogram is an ignored ghost
|
||||
entity. Otherwise the compiler crashes (in debug builds) or
|
||||
gives strange error messages (in production builds).
|
||||
|
||||
2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
|
||||
|
||||
* gnat_cuda.adb (Empty_CUDA_Global_Subprograms): New procedure.
|
||||
(Expand_CUDA_Package): Call Empty_CUDA_Global_Subprograms.
|
||||
|
||||
2021-10-01 Steve Baird <baird@adacore.com>
|
||||
|
||||
* checks.ads: Define a type Dimension_Set. Add an out-mode
|
||||
parameter of this new type to Generate_Index_Checks so that
|
||||
callers can know for which dimensions a check was generated. Add
|
||||
an in-mode parameter of this new type to
|
||||
Apply_Subscript_Validity_Checks so that callers can indicate
|
||||
that no check is needed for certain dimensions.
|
||||
* checks.adb (Generate_Index_Checks): Implement new
|
||||
Checks_Generated parameter.
|
||||
(Apply_Subscript_Validity_Checks): Implement new No_Check_Needed
|
||||
parameter.
|
||||
* exp_ch4.adb (Expand_N_Indexed_Component): Call
|
||||
Apply_Subscript_Validity_Checks in more cases than before. This
|
||||
includes declaring two new local functions,
|
||||
(Is_Renamed_Variable_Name,
|
||||
Type_Requires_Subscript_Validity_Checks_For_Reads): To help in
|
||||
deciding whether to call Apply_Subscript_Validity_Checks.
|
||||
Adjust to parameter profile changes in Generate_Index_Checks and
|
||||
Apply_Subscript_Validity_Checks.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* doc/gnat_rm/implementation_defined_characteristics.rst: Document
|
||||
the rounding mode assumed for dynamic computations as per 3.5.7(16).
|
||||
* gnat_rm.texi: Regenerate.
|
||||
|
||||
2021-10-01 Bob Duff <duff@adacore.com>
|
||||
|
||||
* table.ads (Table_Type): Remove "aliased"; no longer needed by
|
||||
Atree. Besides it contradicted the comment a few lines above,
|
||||
"-- Note: We do not make the table components aliased...".
|
||||
* types.ads: Move type Slot to Atree.
|
||||
* atree.ads: Move type Slot fromt Types to here. Move type
|
||||
Node_Header from Seinfo to here.
|
||||
* atree.adb: Avoid the need for aliased components of the Slots
|
||||
table. Instead of 'Access, use a getter and setter. Misc
|
||||
cleanups.
|
||||
(Print_Statistics): Print statistics about node and entity kind
|
||||
frequencies. Give 3 digit fractions instead of percentages.
|
||||
* (Get_Original_Node_Count, Set_Original_Node_Count): Statistics
|
||||
for calls to Original_Node and Set_Original_Node.
|
||||
(Original_Node, Set_Original_Node): Gather statistics by calling
|
||||
the above.
|
||||
(Print_Field_Statistics): Print Original_Node statistics.
|
||||
(Update_Kind_Statistics): Remove, and put all statistics
|
||||
gathering under "if Atree_Statistics_Enabled", which is a flag
|
||||
generated in Seinfo by Gen_IL.
|
||||
* gen_il-gen.adb (Compute_Field_Offsets): Choose offsets of
|
||||
Nkind, Ekind, and Homonym first. This causes a slight efficiency
|
||||
improvement. Misc cleanups. Do not generate Node_Header; it is
|
||||
now hand-written in Atree. When choosing the order in which to
|
||||
assign offsets, weight by the frequency of the node type, so the
|
||||
more common nodes get their field offsets assigned earlier. Add
|
||||
more special cases.
|
||||
(Compute_Type_Sizes): Remove this and related things.
|
||||
There was a comment: "At some point we can instrument Atree to
|
||||
print out accurate size statistics, and remove this code." We
|
||||
have Atree statistics, so we now remove this code.
|
||||
(Put_Seinfo): Generate Atree_Statistics_Enabled, which is equal
|
||||
to Statistics_Enabled. This allows Atree to say "if
|
||||
Atree_Statistics_Enabled then <gather statistics>" for
|
||||
efficiency. When Atree_Statistics_Enabled is False, the "if ..."
|
||||
will be optimized away.
|
||||
* gen_il-internals.ads (Type_Frequency): New table of kind
|
||||
frequencies.
|
||||
* gen_il-internals.adb: Minor comment improvement.
|
||||
* gen_il-fields.ads: Remove unused subtypes. Suppress style
|
||||
checks in the Type_Frequency table. If we regenerate this
|
||||
table (see -gnatd.A) we don't want to have to fiddle with
|
||||
casing.
|
||||
* impunit.adb: Minor.
|
||||
* sinfo-utils.adb: Minor.
|
||||
* debug.adb: Minor comment improvement.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* sem_type.adb (Specific_Type): Check that the type is tagged
|
||||
before calling Interface_Present_In_Ancestor on it.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* debug.adb (d.8): Document usage.
|
||||
* fe.h (Debug_Flag_Dot_8): Declare.
|
||||
|
||||
2021-10-01 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* sem_util.adb (Enter_Name): Suppress hiding warning when in an
|
||||
instance.
|
||||
|
||||
2021-10-01 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_attr.adb (Analyze_Attribute, case Type_Key): Attribute can
|
||||
be applied to a formal type.
|
||||
* sem_ch5.adb (Analyze_Case_Statement): If Extensions_Allowed is
|
||||
not enabled, verify that the type of the expression is discrete.
|
||||
|
||||
2021-10-01 Justin Squirek <squirek@adacore.com>
|
||||
|
||||
* exp_dbug.adb (Debug_Renaming_Declaration): Add check for
|
||||
Entity present for Ren to prevent looking at unanalyzed nodes
|
||||
|
||||
2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
|
||||
|
||||
* atree.adb (Print_Statistics): Help CodePeer see Total as
|
||||
greater than zero.
|
||||
* gen_il-gen.adb (One_Comp): Annotate Field_Table as Modified.
|
||||
|
||||
2021-10-01 Richard Kenner <kenner@adacore.com>
|
||||
|
||||
* gen_il-gen-gen_entities.adb (Evaluable_Kind,
|
||||
Global_Name_Kind): Add.
|
||||
* gen_il-types.ads (Evaluable_Kind, Global_Name_Kind): Likewise.
|
||||
|
||||
2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
|
||||
|
||||
* aspects.ads: Add CUDA_Device aspect.
|
||||
* gnat_cuda.ads (Add_CUDA_Device_Entity): New subprogram.
|
||||
* gnat_cuda.adb:
|
||||
(Add_CUDA_Device_Entity): New subprogram.
|
||||
(CUDA_Device_Entities_Table): New hashmap for CUDA_Device
|
||||
entities.
|
||||
(Get_CUDA_Device_Entities): New internal subprogram.
|
||||
(Set_CUDA_Device_Entities): New internal subprogram.
|
||||
* par-prag.adb (Prag): Handle pragma id Pragma_CUDA_Device.
|
||||
* sem_prag.ads (Aspect_Specifying_Pragma): Mark CUDA_Device as
|
||||
being both aspect and pragma.
|
||||
* sem_prag.adb (Analyze_Pragma): Add CUDA_Device entities to
|
||||
list of CUDA_Entities belonging to package N.
|
||||
(Sig_Flags): Signal CUDA_Device entities as referenced.
|
||||
* snames.ads-tmpl: Create CUDA_Device names and pragmas.
|
||||
|
||||
2021-10-01 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* exp_util.adb (Build_DIC_Procedure_Body): Remove inappropriate
|
||||
Assert pragma. Remove unneeded and dead code related to derived
|
||||
private types.
|
||||
|
||||
2021-10-01 Richard Kenner <kenner@adacore.com>
|
||||
|
||||
* gen_il-gen-gen_nodes.adb (N_Alternative, N_Is_Case_Choice):
|
||||
Add.
|
||||
(N_Is_Exception_Choice, N_Is_Range): Likewise.
|
||||
* gen_il-types.ads: Add above names.
|
||||
* gen_il-gen.adb (Put_Union_Membership): Write both declarations
|
||||
and definitions of union functions.
|
||||
|
||||
2021-10-01 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* exp_aggr.adb (Expand_Array_Aggregate,
|
||||
Two_Pass_Aggregate_Expansion): Increment index for element
|
||||
insertion within the loop, only if upper bound has not been
|
||||
reached.
|
||||
|
||||
2021-10-01 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* contracts.ads (Make_Class_Precondition_Subps): New subprogram.
|
||||
(Merge_Class_Conditions): New subprogram.
|
||||
(Process_Class_Conditions_At_Freeze_Point): New subprogram.
|
||||
* contracts.adb (Check_Class_Condition): New subprogram.
|
||||
(Set_Class_Condition): New subprogram.
|
||||
(Analyze_Contracts): Remove code analyzing class-wide-clone
|
||||
subprogram since it is no longer built.
|
||||
(Process_Spec_Postconditions): Avoid processing twice seen
|
||||
subprograms.
|
||||
(Process_Preconditions): Simplify its functionality to
|
||||
non-class-wide preconditions.
|
||||
(Process_Preconditions_For): No action needed for wrappers and
|
||||
helpers.
|
||||
(Make_Class_Precondition_Subps): New subprogram.
|
||||
(Process_Class_Conditions_At_Freeze_Point): New subprogram.
|
||||
(Merge_Class_Conditions): New subprogram.
|
||||
* exp_ch6.ads (Install_Class_Preconditions_Check): New
|
||||
subprogram.
|
||||
* exp_ch6.adb (Expand_Call_Helper): Install class-wide
|
||||
preconditions check on dispatching primitives that have or
|
||||
inherit class-wide preconditions.
|
||||
(Freeze_Subprogram): Remove code for null procedures with
|
||||
preconditions.
|
||||
(Install_Class_Preconditions_Check): New subprogram.
|
||||
* exp_util.ads (Build_Class_Wide_Expression): Lower the
|
||||
complexity of this subprogram; out-mode formal Needs_Wrapper
|
||||
since this functionality is now provided by a new subprogram.
|
||||
(Get_Mapped_Entity): New subprogram.
|
||||
(Map_Formals): New subprogram.
|
||||
* exp_util.adb (Build_Class_Wide_Expression): Lower the
|
||||
complexity of this subprogram. Its previous functionality is now
|
||||
provided by subprograms Needs_Wrapper and Check_Class_Condition.
|
||||
(Add_Parent_DICs): Map the overridden primitive to the
|
||||
overriding one.
|
||||
(Get_Mapped_Entity): New subprogram.
|
||||
(Map_Formals): New subprogram.
|
||||
(Update_Primitives_Mapping): Adding assertion.
|
||||
* freeze.ads (Check_Inherited_Conditions): Subprogram made
|
||||
public with added formal to support late overriding.
|
||||
* freeze.adb (Check_Inherited_Conditions): New implementation;
|
||||
builds the dispatch table wrapper required for class-wide
|
||||
pre/postconditions; added support for late overriding.
|
||||
(Needs_Wrapper): New subprogram.
|
||||
* sem.ads (Inside_Class_Condition_Preanalysis): New global
|
||||
variable.
|
||||
* sem_disp.ads (Covered_Interface_Primitives): New subprogram.
|
||||
* sem_disp.adb (Covered_Interface_Primitives): New subprogram.
|
||||
(Check_Dispatching_Context): Skip checking context of
|
||||
dispatching calls during preanalysis of class-wide conditions
|
||||
since at that stage the expression is not installed yet on its
|
||||
definite context.
|
||||
(Check_Dispatching_Call): Skip checking 6.1.1(18.2/5) by
|
||||
AI12-0412 on helpers and wrappers internally built for
|
||||
supporting class-wide conditions; for late-overriding
|
||||
subprograms call Check_Inherited_Conditions to build the
|
||||
dispatch-table wrapper (if required).
|
||||
(Propagate_Tag): Adding call to
|
||||
Install_Class_Preconditions_Check.
|
||||
* sem_util.ads (Build_Class_Wide_Clone_Body): Removed.
|
||||
(Build_Class_Wide_Clone_Call): Removed.
|
||||
(Build_Class_Wide_Clone_Decl): Removed.
|
||||
(Class_Condition): New subprogram.
|
||||
(Nearest_Class_Condition_Subprogram): New subprogram.
|
||||
* sem_util.adb (Build_Class_Wide_Clone_Body): Removed.
|
||||
(Build_Class_Wide_Clone_Call): Removed.
|
||||
(Build_Class_Wide_Clone_Decl): Removed.
|
||||
(Class_Condition): New subprogram.
|
||||
(Nearest_Class_Condition_Subprogram): New subprogram.
|
||||
(Eligible_For_Conditional_Evaluation): No need to evaluate
|
||||
class-wide conditions during preanalysis since the expression is
|
||||
not installed on its definite context.
|
||||
* einfo.ads (Class_Wide_Clone): Removed.
|
||||
(Class_Postconditions): New attribute.
|
||||
(Class_Preconditions): New attribute.
|
||||
(Class_Preconditions_Subprogram): New attribute.
|
||||
(Dynamic_Call_Helper): New attribute.
|
||||
(Ignored_Class_Postconditions): New attribute.
|
||||
(Ignored_Class_Preconditions): New attribute.
|
||||
(Indirect_Call_Wrapper): New attribute.
|
||||
(Is_Dispatch_Table_Wrapper): New attribute.
|
||||
(Static_Call_Helper): New attribute.
|
||||
* exp_attr.adb (Expand_N_Attribute_Reference): When the prefix
|
||||
is of an access-to-subprogram type that has class-wide
|
||||
preconditions and an indirect-call wrapper of such subprogram is
|
||||
available, replace the prefix by the wrapper.
|
||||
* exp_ch3.adb (Build_Class_Condition_Subprograms): New
|
||||
subprogram.
|
||||
(Register_Dispatch_Table_Wrappers): New subprogram.
|
||||
* exp_disp.adb (Build_Class_Wide_Check): Removed; class-wide
|
||||
precondition checks now rely on internally built helpers.
|
||||
* sem_ch13.adb (Analyze_Aspect_Specifications): Set initial
|
||||
value of attributes Class_Preconditions, Class_Postconditions,
|
||||
Ignored_Class_Preconditions and Ignored_Class_Postconditions.
|
||||
These values are later updated with the full pre/postcondition
|
||||
by Merge_Class_Conditions.
|
||||
(Freeze_Entity_Checks): Call
|
||||
Process_Class_Conditions_At_Freeze_Point.
|
||||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove code
|
||||
building the body of the class-wide clone subprogram since it is
|
||||
no longer required.
|
||||
(Install_Entity): Adding assertion.
|
||||
* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part): Remove
|
||||
code building and analyzing the class-wide clone subprogram; no
|
||||
longer required.
|
||||
(Build_Pragma_Check_Equivalent): Adjust call to
|
||||
Build_Class_Wide_Expression since the formal named Needs_Wrapper
|
||||
has been removed.
|
||||
* sem_attr.adb (Analyze_Attribute_Old_Result): Skip processing
|
||||
these attributes during preanalysis of class-wide conditions
|
||||
since at that stage the expression is not installed yet on its
|
||||
definite context.
|
||||
* sem_res.adb (Resolve_Actuals): Skip applying RM 3.9.2(9/1) and
|
||||
SPARK RM 6.1.7(3) on actuals of internal helpers and wrappers
|
||||
built to support class-wide preconditions.
|
||||
* sem_ch5.adb (Process_Bounds): Do not generate a constant
|
||||
declaration for the bounds when we are preanalyzing a class-wide
|
||||
condition.
|
||||
(Analyze_Loop_Parameter_Specification): Handle preanalysis of
|
||||
quantified expression placed in the outermost expression of a
|
||||
class-wide condition.
|
||||
* ghost.adb (Check_Ghost_Context): No check required during
|
||||
preanalysis of class-wide conditions.
|
||||
* gen_il-fields.ads (Opt_Field_Enum): Adding
|
||||
Class_Postconditions, Class_Preconditions,
|
||||
Class_Preconditions_Subprogram, Dynamic_Call_Helper,
|
||||
Ignored_Class_Postconditions, Ignored_Class_Preconditions,
|
||||
Indirect_Call_Wrapper, Is_Dispatch_Table_Wrapper,
|
||||
Static_Call_Helper.
|
||||
* gen_il-gen-gen_entities.adb (Is_Dispatch_Table_Wrapper):
|
||||
Adding semantic flag Is_Dispatch_Table_Wrapper; removing
|
||||
semantic field Class_Wide_Clone; adding semantic fields for
|
||||
Class_Postconditions, Class_Preconditions,
|
||||
Class_Preconditions_Subprogram, Dynamic_Call_Helper,
|
||||
Ignored_Class_Postconditions, Indirect_Call_Wrapper,
|
||||
Ignored_Class_Preconditions, and Static_Call_Helper.
|
||||
|
||||
2021-10-01 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* comperr.adb (Delete_SCIL_Files): Handle generic subprogram
|
||||
declarations and renaming just like generic package declarations
|
||||
and renamings, respectively; handle
|
||||
N_Subprogram_Renaming_Declaration.
|
||||
|
||||
2021-10-01 Steve Baird <baird@adacore.com>
|
||||
|
||||
* bcheck.adb (Check_Versions): Add support for the case where
|
||||
the .ali file contains both a primary and a secondary version
|
||||
number, as in "GNAT Lib v22.20210809".
|
||||
|
||||
2021-10-01 Steve Baird <baird@adacore.com>
|
||||
|
||||
* sem_res.adb (Resolve): Two separate fixes. In the case where
|
||||
Find_Aspect for a literal aspect returns the aspect for a
|
||||
different (ancestor) type, call Corresponding_Primitive_Op to
|
||||
get the right callee. In the case where a downward tagged type
|
||||
conversion appears to be needed, generate a null extension
|
||||
aggregate instead, as per Ada RM 3.4(27).
|
||||
* sem_util.ads, sem_util.adb: Add new Corresponding_Primitive_Op
|
||||
function. It maps a primitive op of a tagged type and a
|
||||
descendant type of that tagged type to the corresponding
|
||||
primitive op of the descendant type. The body of this function
|
||||
was written by Javier Miranda.
|
||||
|
||||
2021-10-01 Bob Duff <duff@adacore.com>
|
||||
|
||||
* atree.adb: Gather and print statistics about frequency of
|
||||
getter and setter calls.
|
||||
* atree.ads (Print_Statistics): New procedure for printing
|
||||
statistics.
|
||||
* debug.adb: Document -gnatd.A switch.
|
||||
* gen_il-gen.adb: Generate code for statistics gathering.
|
||||
Choose the offset of Homonym early. Misc cleanup. Put more
|
||||
comments in the generated code.
|
||||
* gen_il-internals.ads (Unknown_Offset): New value to indicate
|
||||
that the offset has not yet been chosen.
|
||||
* gnat1drv.adb: Call Print_Statistics.
|
||||
* libgnat/s-imglli.ads: Minor comment fix.
|
||||
* output.ads (Write_Int_64): New procedure to write a 64-bit
|
||||
value. Needed for new statistics, and could come in handy
|
||||
elsewhere.
|
||||
* output.adb (Write_Int_64): Likewise.
|
||||
* sinfo.ads: Remove obsolete comment. The xtreeprs program no
|
||||
longer exists.
|
||||
* types.ads: New 64-bit types needed for new statistics.
|
||||
|
||||
2021-10-01 Dmitriy Anisimkov <anisimko@adacore.com>
|
||||
|
||||
* libgnat/memtrack.adb (Putc): New routine wrapped around fputc
|
||||
with error check.
|
||||
(Write): New routine wrapped around fwrite with error check.
|
||||
Remove bound functions fopen, fwrite, fputs, fclose, OS_Exit.
|
||||
Use the similar routines from System.CRTL and System.OS_Lib.
|
||||
|
||||
2021-10-01 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* exp_aggr.adb (Must_Slide): If the aggregate only contains an
|
||||
others_clause no sliding id involved. Otherwise sliding is
|
||||
required if any bound of the aggregate or the context subtype is
|
||||
non-static.
|
||||
|
||||
2021-10-01 Richard Kenner <kenner@adacore.com>
|
||||
|
||||
* gen_il-gen-gen_nodes.adb (N_Is_Decl): Add.
|
||||
* gen_il-types.ads (N_Is_Decl): Likewise.
|
||||
|
||||
2021-10-01 Richard Kenner <kenner@adacore.com>
|
||||
|
||||
* gen_il-gen-gen_nodes.adb (N_Entity_Name): Add.
|
||||
* gen_il-types.ads (N_Entity_Name): Likewise.
|
||||
|
||||
2021-10-01 Steve Baird <baird@adacore.com>
|
||||
|
||||
* bcheck.adb (Check_Versions): In the case of an ali file
|
||||
version mismatch, if distinct integer values can be extracted
|
||||
from the two version strings then include those values in the
|
||||
generated error message.
|
||||
|
||||
2021-10-01 Steve Baird <baird@adacore.com>
|
||||
|
||||
* sem_elab.adb (Is_Safe_Call): Return True in the case of a
|
||||
(possibly rewritten) call to an expression function.
|
||||
|
||||
2021-10-01 Ghjuvan Lacambre <lacambre@adacore.com>
|
||||
|
||||
* sem_aggr.adb (Resolve_Iterated_Component_Association):
|
||||
Initialize Id_Typ to Any_Type by default.
|
||||
|
||||
2021-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Document
|
||||
that it works only with fixed-position executables.
|
||||
|
||||
2021-10-01 Doug Rupp <rupp@adacore.com>
|
||||
|
||||
* libgnat/s-parame__vxworks.ads (time_t_bits): Change to
|
||||
Long_Long_Integer'Size.
|
||||
|
||||
2021-09-23 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/decl.c (gnat_to_gnu_entity): Fix comment.
|
||||
|
|
|
@ -1,3 +1,40 @@
|
|||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* c-common.c (decl_with_nonnull_addr_p): Handle members.
|
||||
Check and perform warning suppression.
|
||||
(c_common_truthvalue_conversion): Enhance warning suppression.
|
||||
|
||||
2021-10-01 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR target/102552
|
||||
* c-common.c (parse_optimize_options): decoded_options[0] is
|
||||
used for program name, so merged_decoded_options should also
|
||||
respect that.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR sanitizer/102515
|
||||
* c-ubsan.c (ubsan_instrument_division): Check the right
|
||||
flag_sanitize_recover bit, depending on which sanitization
|
||||
is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW
|
||||
rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW
|
||||
and SANITIZE_DIVIDE is enabled, neither check is known
|
||||
to be false and flag_sanitize_recover bits for those two
|
||||
aren't the same, emit both __ubsan_handle_divrem_overflow
|
||||
and __ubsan_handle_divrem_overflow_abort calls.
|
||||
|
||||
2021-10-01 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* c-common.c (parse_optimize_options): Combine optimize
|
||||
options with what was provided on the command line.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-omp.c (c_omp_split_clauses): Also copy
|
||||
OMP_CLAUSE_ORDER_REPRODUCIBLE.
|
||||
|
||||
2021-09-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* c-opts.c (c_common_init_options_struct): Set also
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* c-typeck.c (maybe_warn_for_null_address): New function.
|
||||
(build_binary_op): Call it.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR sanitizer/102515
|
||||
* c-typeck.c (build_binary_op): Call ubsan_instrument_division
|
||||
for division even for SANITIZE_SI_OVERFLOW.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-parser.c (c_parser_omp_clause_order): Set
|
||||
OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier.
|
||||
|
||||
2021-09-28 Andrew Pinski <apinski@marvell.com>
|
||||
|
||||
PR c/32122
|
||||
|
|
|
@ -1,3 +1,34 @@
|
|||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* typeck.c (warn_for_null_address): Enhance.
|
||||
(cp_build_binary_op): Call it also for member pointers.
|
||||
|
||||
2021-10-01 qingzhe huang <nickhuang99@hotmail.com>
|
||||
|
||||
PR c++/101783
|
||||
* tree.c (cp_build_qualified_type_real): Exclude typedef from
|
||||
error.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR sanitizer/102515
|
||||
* typeck.c (cp_build_binary_op): Call ubsan_instrument_division
|
||||
for division even for SANITIZE_SI_OVERFLOW.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* parser.c (cp_parser_omp_clause_order): Set
|
||||
OMP_CLAUSE_ORDER_REPRODUCIBLE for explicit reproducible: modifier.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/102496
|
||||
* name-lookup.c (push_local_extern_decl_alias): Return early even for
|
||||
tls vars with non-dependent type when processing_template_decl. For
|
||||
CP_DECL_THREAD_LOCAL_P vars call set_decl_tls_model on alias.
|
||||
|
||||
2021-09-30 Patrick Palka <ppalka@redhat.com>
|
||||
|
||||
PR c++/102535
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* array.c: Remove an unnecessary test.
|
||||
* trans-array.c: Same.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gfortran.h (gfc_omp_clauses): Add order_reproducible bitfield.
|
||||
* dump-parse-tree.c (show_omp_clauses): Print REPRODUCIBLE: for it.
|
||||
* openmp.c (gfc_match_omp_clauses): Set order_reproducible for
|
||||
explicit reproducible: modifier.
|
||||
* trans-openmp.c (gfc_trans_omp_clauses): Set
|
||||
OMP_CLAUSE_ORDER_REPRODUCIBLE for order_reproducible.
|
||||
(gfc_split_omp_clauses): Also copy order_reproducible.
|
||||
|
||||
2021-09-30 Harald Anlauf <anlauf@gmx.de>
|
||||
|
||||
PR fortran/102458
|
||||
|
|
|
@ -1,3 +1,76 @@
|
|||
2021-10-01 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
PR tree-optimization/102546
|
||||
* gcc.dg/tree-ssa/pr102546.c: New file.
|
||||
|
||||
2021-10-01 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/102103
|
||||
* g++.dg/cpp0x/constexpr-array-ptr10.C: Suppress a valid warning.
|
||||
* g++.dg/warn/Wreturn-local-addr-6.C: Correct a cast.
|
||||
* gcc.dg/Waddress.c: Expect a warning.
|
||||
* c-c++-common/Waddress-3.c: New test.
|
||||
* c-c++-common/Waddress-4.c: New test.
|
||||
* g++.dg/warn/Waddress-5.C: New test.
|
||||
* g++.dg/warn/Waddress-6.C: New test.
|
||||
* g++.dg/warn/pr101219.C: Expect a warning.
|
||||
* gcc.dg/Waddress-3.c: New test.
|
||||
|
||||
2021-10-01 H.J. Lu <hjl.tools@gmail.com>
|
||||
|
||||
* c-c++-common/tsan/atomic_stack.c: Don't expect print out from
|
||||
__tsan_atomic32_fetch_add.
|
||||
|
||||
2021-10-01 qingzhe huang <nickhuang99@hotmail.com>
|
||||
|
||||
PR c++/101783
|
||||
* g++.dg/parse/pr101783.C: New test.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR sanitizer/102515
|
||||
* c-c++-common/ubsan/div-by-zero-3.c: Use
|
||||
-fsanitize=signed-integer-overflow instead of
|
||||
-fsanitize=integer-divide-by-zero.
|
||||
* c-c++-common/ubsan/div-by-zero-5.c: Likewise.
|
||||
* c-c++-common/ubsan/div-by-zero-4.c: Likewise. Add
|
||||
-fsanitize-undefined-trap-on-error.
|
||||
* c-c++-common/ubsan/float-div-by-zero-2.c: New test.
|
||||
* c-c++-common/ubsan/overflow-div-1.c: New test.
|
||||
* c-c++-common/ubsan/overflow-div-2.c: New test.
|
||||
* c-c++-common/ubsan/overflow-div-3.c: New test.
|
||||
|
||||
2021-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* gcc.target/aarch64/cpymem-size.c: Adjust scan for ilp32.
|
||||
|
||||
2021-10-01 Andrew Pinski <apinski@marvell.com>
|
||||
|
||||
* gcc.dg/vect/bb-slp-pr97709.c: Fix for computed goto
|
||||
pointers.
|
||||
|
||||
2021-10-01 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcc.target/i386/avx512er-vrsqrt28ps-3.c: Disable fast math.
|
||||
* gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise.
|
||||
* gcc.target/i386/attr-optimize.c: New test.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gfortran.dg/gomp/order-5.f90: Adjust scan-tree-dump-times regexps.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/102496
|
||||
* g++.dg/tls/pr102496-1.C: New test.
|
||||
* g++.dg/tls/pr102496-2.C: New test.
|
||||
|
||||
2021-10-01 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/102518
|
||||
* gcc.dg/torture/pr102518.c: New testcase.
|
||||
|
||||
2021-09-30 David Edelsohn <dje.gcc@gmail.com>
|
||||
|
||||
* gfortran.dg/c-interop/cf-descriptor-5-c.c: Include alloca.h.
|
||||
|
|
|
@ -1,3 +1,32 @@
|
|||
2021-10-01 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
* testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
|
||||
* testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
|
||||
* testsuite/libgomp.fortran/alloc-8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
|
||||
based on libgomp.c-c++-common/alloc-9.c.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
|
||||
* testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
|
||||
ialias_redirect.
|
||||
* env.c (handle_omp_display_env): Use ialias_call.
|
||||
* icv-device.c: Move ialias right below each function.
|
||||
(omp_get_device_num): Use ialias_call.
|
||||
* fortran.c (omp_fulfill_event): Add ialias_redirect.
|
||||
* icv.c (omp_get_active_level): Add ialias_redirect.
|
||||
|
||||
2021-10-01 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
|
||||
__alloc_align__ (1) attribute.
|
||||
* testsuite/libgomp.c-c++-common/alloc-9.c: New test.
|
||||
|
||||
2021-09-30 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
||||
* testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2021-10-01 Luís Ferreira <contact@lsferreira.net>
|
||||
|
||||
* testsuite/d-demangle-expected: Add missing format for new test
|
||||
|
||||
2021-09-23 Luís Ferreira <contact@lsferreira.net>
|
||||
|
||||
* d-demangle.c (dlang_Type): Validate MANGLED is nonnull.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2021-10-01 H.J. Lu <hjl.tools@gmail.com>
|
||||
|
||||
* LOCAL_PATCHES: Update to the corresponding revision.
|
||||
|
||||
2021-08-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sanitizer_common/sanitizer_common_interceptors.inc: Cherry-pick
|
||||
|
|
|
@ -1,3 +1,295 @@
|
|||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/102100
|
||||
* include/Makefile.am (c++config.h): Define
|
||||
_GLIBCXX_VERBOSE_ASSERT based on configure output.
|
||||
* include/Makefile.in: Regenerate.
|
||||
* include/bits/c++config: Fix condition for verbose assertions.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/92546
|
||||
* include/bits/erase_if.h (__erase_nodes_if): Use __niter_base to
|
||||
unwrap debug iterators.
|
||||
* include/bits/refwrap.h: Do not error if included in C++03.
|
||||
* include/bits/stl_algo.h (__remove_if): Move to ...
|
||||
* include/bits/stl_algobase.h (__remove_if): ... here.
|
||||
* include/std/deque (erase, erase_if): Use __remove_if instead of
|
||||
remove and remove_if.
|
||||
* include/std/string (erase, erase_if): Likewise.
|
||||
* include/std/vector (erase, erase_if): Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/66742
|
||||
* include/bits/list.tcc (list::sort()): Use _Scratch_list
|
||||
objects for splicing and merging.
|
||||
(list::sort(StrictWeakOrdering)): Likewise.
|
||||
* include/bits/stl_list.h (__detail::_Scratch_list): New type.
|
||||
* src/c++98/list.cc (_List_node_base::_M_transfer): Add
|
||||
assertion for --enable-libstdcxx-debug library.
|
||||
* testsuite/23_containers/list/operations/66742.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/100612
|
||||
* include/std/thread (__pmf_expects_stop_token): New variable
|
||||
template to detect a pointer to member function that needs a
|
||||
stop_token to be added to the arguments.
|
||||
(jthread::__S_create): Use __pmf_expects_stop_token.
|
||||
(jthread::__S_create_pmf): New function.
|
||||
* testsuite/30_threads/jthread/100612.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_queue.h
|
||||
(__cpp_lib_adaptor_iterator_pair_constructor): Define for C++23, as
|
||||
per P1425R4.
|
||||
(queue(InputIterator, InputIterator)): Likewise.
|
||||
(queue(InputIterator, InputIterator, const Alloc&)): Likewise.
|
||||
* include/bits/stl_stack.h
|
||||
(__cpp_lib_adaptor_iterator_pair_constructor): Likewise.
|
||||
(stack(InputIterator, InputIterator)): Likewise.
|
||||
(stack(InputIterator, InputIterator, const Alloc&)): Likewise.
|
||||
* include/std/version (__cpp_lib_adaptor_iterator_pair_constructor):
|
||||
Define.
|
||||
* testsuite/23_containers/queue/cons_from_iters.cc: New test.
|
||||
* testsuite/23_containers/stack/cons_from_iters.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_queue.h (priority_queue): Add
|
||||
allocator-extended overloads for constructors taking iterator.
|
||||
* testsuite/23_containers/priority_queue/lwg3506.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_queue.h (priority_queue): Construct sequence
|
||||
from iterators when no sequence argument is present (LWG 3529).
|
||||
* testsuite/23_containers/priority_queue/lwg3529.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_queue.h (priority_queue): Constrain
|
||||
constructors with InputIterator parameters (LWG 3522).
|
||||
* testsuite/23_containers/priority_queue/lwg3522.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/ranges_base.h (ranges::distance): Split overload
|
||||
into two (LWG 3392).
|
||||
* testsuite/24_iterators/range_operations/lwg3392.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* testsuite/30_threads/thread/cons/3.cc: Remove derivation from
|
||||
std::unary_function.
|
||||
* testsuite/30_threads/thread/cons/4.cc: Likewise.
|
||||
* testsuite/30_threads/thread/cons/5.cc: Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* testsuite/ext/pb_ds/example/basic_multimap.cc: Remove
|
||||
unnecesary derivation from std::unary_function.
|
||||
* testsuite/ext/pb_ds/example/erase_if.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_initial_size.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_load_set_change.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_mod.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_resize.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/hash_shift_mask.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc:
|
||||
Likewise.
|
||||
* testsuite/ext/pb_ds/example/ranged_hash.cc: Likewise.
|
||||
* testsuite/ext/pb_ds/example/store_hash.cc: Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* src/c++11/functexcept.cc (__throw_out_of_range_fmt): Do not
|
||||
expand the format string for freestanding, or non-vebose, or if
|
||||
we're just going to abort anyway.
|
||||
* src/c++11/snprintf_lite.cc: Remove unused header and
|
||||
declaration.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/variant (__do_visit): Use variant_npos instead of
|
||||
literal -1 that requires a narrowing conversion.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/99327
|
||||
* src/filesystem/ops-common.h (__unsupported): New function to
|
||||
return a suitable error code for missing functionality.
|
||||
(posix::off_t): New typedef.
|
||||
(posix::*): Set errno to ENOSYS instead of ENOTSUP for no-op
|
||||
fallback implementations.
|
||||
(do_copy_file): Replace uses of errc::not_supported.
|
||||
* src/c++17/fs_ops.cc (fs::copy, fs::copy_file, create_dir)
|
||||
(fs::create_directory, fs::create_directory_symlink)
|
||||
(fs::create_hard_link, fs::create_symlink, fs::current_path)
|
||||
(fs::equivalent, do_stat, fs::file_size, fs::hard_link_count)
|
||||
(fs::last_write_time, fs::permissions, fs::read_symlink):
|
||||
Replace uses of errc::not_supported.
|
||||
(fs::resize_file): Qualify off_t.
|
||||
* src/filesystem/ops.cc (fs::copy, fs::copy_file, create_dir)
|
||||
(fs::create_directory, fs::create_directory_symlink)
|
||||
(fs::create_hard_link, fs::create_symlink, fs::current_path)
|
||||
(fs::equivalent, do_stat, fs::file_size, fs::last_write_time)
|
||||
(fs::permissions, fs::read_symlink, fs::system_complete):
|
||||
Replace uses of errc::not_supported.
|
||||
(fs::resize_file): Qualify off_t and enable unconditionally.
|
||||
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* src/filesystem/ops-common.h (last_error): New helper function.
|
||||
(filesystem::do_space): Use last_error().
|
||||
* src/c++17/fs_ops.cc (fs::absolute, fs::create_hard_link)
|
||||
(fs::equivalent, fs::remove, fs::temp_directory_path): Use
|
||||
last_error().
|
||||
* src/filesystem/ops.cc (fs::create_hard_link)
|
||||
(fs::remove, fs::temp_directory_path): Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/type_traits (__conditional): New class template
|
||||
for internal uses of std::conditional.
|
||||
(__conditional_t): New alias template to replace conditional_t.
|
||||
(__and_, __or_, __result_of_memfun, __result_of_memobj): Use
|
||||
__conditional_t instead of conditional::type.
|
||||
* include/bits/atomic_base.h (__atomic_impl::_Diff): Likewise.
|
||||
* include/bits/hashtable.h (_Hashtable): Likewise.
|
||||
* include/bits/hashtable_policy.h (_Node_iterator, _Insert_base)
|
||||
(_Local_iterator): Likewise. Replace typedefs with
|
||||
using-declarations.
|
||||
* include/bits/move.h (move_if_noexcept): Use __conditional_t.
|
||||
* include/bits/parse_numbers.h (_Select_int_base): Likewise.
|
||||
* include/bits/ptr_traits.h (__make_not_void): Likewise.
|
||||
* include/bits/ranges_algobase.h (__copy_or_move_backward)
|
||||
(__copy_or_move): Likewise.
|
||||
* include/bits/ranges_base.h (borrowed_iterator_t): Likewise.
|
||||
* include/bits/ranges_util.h (borrowed_subrange_t): Likewise.
|
||||
* include/bits/regex_compiler.h (_BracketMatcher): Use
|
||||
__conditional_t. Replace typedefs with using-declarations.
|
||||
* include/bits/shared_ptr_base.h (__shared_count): Use
|
||||
__conditional_t.
|
||||
* include/bits/stl_algobase.h (__copy_move, __copy_move_backward):
|
||||
Likewise.
|
||||
* include/bits/stl_iterator.h (__detail::__clamp_iter_cat)
|
||||
(reverse_iterator::iterator_concept)
|
||||
(__make_move_if_noexcept_iterator)
|
||||
(iterator_traits<common_iterator<_It, _Sent>>)
|
||||
(iterator_traits<counted_iterator<_It>>): Likewise.
|
||||
* include/bits/stl_pair.h (_PCC, pair::operator=): Likewise.
|
||||
* include/bits/stl_tree.h (_Rb_tree::insert_return_type)
|
||||
(_Rb_tree::_M_clone_node): Likewise.
|
||||
* include/bits/unique_ptr.h (unique_ptr(unique_ptr<U,E>&&)):
|
||||
Likewise.
|
||||
* include/bits/uses_allocator.h (__uses_alloc): Likewise.
|
||||
(__is_uses_allocator_predicate): Likewise.
|
||||
* include/debug/functions.h (__foreign_iterator_aux2): Likewise.
|
||||
* include/experimental/any (any::_Manager, __any_caster):
|
||||
Likewise.
|
||||
* include/experimental/executor (async_completion): Likewise.
|
||||
* include/experimental/functional (__boyer_moore_base_t):
|
||||
Likewise.
|
||||
* include/std/any (any::_Manager): Likewise.
|
||||
* include/std/functional (__boyer_moore_base_t): Likewise.
|
||||
* include/std/ranges (borrowed_iterator_t)
|
||||
(borrowed_subrange_t, __detail::__maybe_present_t)
|
||||
(__detail::__maybe_const_t, split_view): Likewise.
|
||||
* include/std/tuple (__empty_not_final, tuple::operator=):
|
||||
Likewise.
|
||||
* include/std/variant (__detail::__variant::__get_t): Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/78113
|
||||
* include/std/variant (__do_visit): Use a switch when we have a
|
||||
single variant with a small number of alternatives.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/90943
|
||||
* include/std/variant (__cpp_lib_variant): Update value.
|
||||
(__detail::__variant::__as): New helpers implementing the
|
||||
as-variant exposition-only function templates.
|
||||
(visit, visit<R>): Use __as to upcast the variant parameters.
|
||||
* include/std/version (__cpp_lib_variant): Update value.
|
||||
* testsuite/20_util/variant/visit_inherited.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_iterator.h (__normal_iterator): Simplify
|
||||
converting constructor and do not require _Container::pointer.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/cow_string.h [_GLIBCXX_FULLY_DYNAMIC_STRING]
|
||||
(basic_string(basic_string&&)): Add noexcept and avoid
|
||||
allocation, by sharing rep with the rvalue string.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stl_iterator.h (common_iterator::__arrow_proxy)
|
||||
(common_iterator::__postfix_proxy): Add noexcept.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/94418
|
||||
* include/bits/stl_iterator.h (reverse_iterator): Use
|
||||
conditional noexcept on constructors and assignment operators.
|
||||
* testsuite/24_iterators/reverse_iterator/noexcept.cc: New test.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/100153
|
||||
* include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
|
||||
When size() is zero just deallocate and reset.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/96733
|
||||
* include/bits/stl_algo.h (clamp): Use std::min and std::max.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/regex.h (basic_regex::multiline): Define for
|
||||
non-strict C++11 and C++14 modes.
|
||||
* include/bits/regex_constants.h (regex_constants::multiline):
|
||||
Add _GLIBCXX_RESOLVE_LIB_DEFECTS comment.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/stream_iterator.h (istream_iterator): Add
|
||||
noexcept to constructors and non-throwing member functions and
|
||||
friend functions.
|
||||
(ostream_iterator): Likewise.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/boost_concept_check.h (_Is_vector_bool_iterator):
|
||||
New trait to identify vector<bool> iterators, including debug
|
||||
ones.
|
||||
(_ForwardIteratorReferenceConcept): Add default template
|
||||
argument using _Is_vector_bool_iterator and use it in partial
|
||||
specialization for the vector<bool> cases.
|
||||
(_Mutable_ForwardIteratorReferenceConcept): Likewise.
|
||||
* testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error
|
||||
line number.
|
||||
|
||||
2021-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/list.tcc (list::merge): Remove call to size() and
|
||||
try-catch block. Use _Finalize_merge instead.
|
||||
* include/bits/stl_list.h (list::_Finalize_merge): New
|
||||
scope guard type to update _M_size members after a merge.
|
||||
|
||||
2021-09-30 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/bits/regex.h (basic_regex::multiline): Fix #if
|
||||
|
|
Loading…
Add table
Reference in a new issue