Daily bump.
This commit is contained in:
parent
d4b0f996fc
commit
56638b9b18
@ -1,3 +1,83 @@
|
|||||||
|
2020-06-16 Aldy Hernandez <aldyh@redhat.com>
|
||||||
|
|
||||||
|
PR tree-optimization/95649
|
||||||
|
* tree-ssa-propagate.c (propagate_into_phi_args): Do not propagate unless
|
||||||
|
value is a constant.
|
||||||
|
|
||||||
|
2020-06-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
|
||||||
|
|
||||||
|
* config.in: Regenerate.
|
||||||
|
* config/s390/s390.c (print_operand): Emit vector alignment hints
|
||||||
|
for target z13, if AS accepts them. For other targets the logic
|
||||||
|
stays the same.
|
||||||
|
* config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
|
||||||
|
macro.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
|
||||||
|
|
||||||
|
2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||||||
|
|
||||||
|
* config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Correct the intrinsic
|
||||||
|
arguments.
|
||||||
|
(__arm_vaddq_m_n_s32): Likewise.
|
||||||
|
(__arm_vaddq_m_n_s16): Likewise.
|
||||||
|
(__arm_vaddq_m_n_u8): Likewise.
|
||||||
|
(__arm_vaddq_m_n_u32): Likewise.
|
||||||
|
(__arm_vaddq_m_n_u16): Likewise.
|
||||||
|
(__arm_vaddq_m): Modify polymorphic variant.
|
||||||
|
|
||||||
|
2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||||||
|
|
||||||
|
* config/arm/mve.md (mve_uqrshll_sat<supf>_di): Correct the predicate
|
||||||
|
and constraint of all the operands.
|
||||||
|
(mve_sqrshrl_sat<supf>_di): Likewise.
|
||||||
|
(mve_uqrshl_si): Likewise.
|
||||||
|
(mve_sqrshr_si): Likewise.
|
||||||
|
(mve_uqshll_di): Likewise.
|
||||||
|
(mve_urshrl_di): Likewise.
|
||||||
|
(mve_uqshl_si): Likewise.
|
||||||
|
(mve_urshr_si): Likewise.
|
||||||
|
(mve_sqshl_si): Likewise.
|
||||||
|
(mve_srshr_si): Likewise.
|
||||||
|
(mve_srshrl_di): Likewise.
|
||||||
|
(mve_sqshll_di): Likewise.
|
||||||
|
* config/arm/predicates.md (arm_low_register_operand): Define.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* tree.h (OMP_FOR_NON_RECTANGULAR): Define.
|
||||||
|
* gimplify.c (gimplify_omp_for): Diagnose schedule, ordered
|
||||||
|
or dist_schedule clause on non-rectangular loops. Handle
|
||||||
|
gimplification of non-rectangular lb/b expressions. When changing
|
||||||
|
iteration variable, adjust also non-rectangular lb/b expressions
|
||||||
|
referencing that.
|
||||||
|
* omp-general.h (struct omp_for_data_loop): Add m1, m2 and outer
|
||||||
|
members.
|
||||||
|
(struct omp_for_data): Add non_rect member.
|
||||||
|
* omp-general.c (omp_extract_for_data): Handle non-rectangular
|
||||||
|
loops. Fill in non_rect, m1, m2 and outer.
|
||||||
|
* omp-low.c (lower_omp_for): Handle non-rectangular lb/b expressions.
|
||||||
|
* omp-expand.c (expand_omp_for): Emit sorry_at for unsupported
|
||||||
|
non-rectangular loop cases and assert for cases that can't be
|
||||||
|
non-rectangular.
|
||||||
|
* tree-pretty-print.c (dump_mem_ref): Formatting fix.
|
||||||
|
(dump_omp_loop_non_rect_expr): New function.
|
||||||
|
(dump_generic_node): Handle non-rectangular OpenMP loops.
|
||||||
|
* tree-pretty-print.h (dump_omp_loop_non_rect_expr): Declare.
|
||||||
|
* gimple-pretty-print.c (dump_gimple_omp_for): Handle non-rectangular
|
||||||
|
OpenMP loops.
|
||||||
|
|
||||||
|
2020-06-16 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/95690
|
||||||
|
* varasm.c (build_constant_desc): Remove set_mem_attributes call.
|
||||||
|
|
||||||
|
2020-06-16 Kito Cheng <kito.cheng@sifive.com>
|
||||||
|
|
||||||
|
PR target/95683
|
||||||
|
* config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove
|
||||||
|
assertion and turn it into a early exit check.
|
||||||
|
|
||||||
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
|
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
|
||||||
|
|
||||||
* gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
|
* gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
|
||||||
|
@ -1 +1 @@
|
|||||||
20200616
|
20200617
|
||||||
|
@ -1,3 +1,279 @@
|
|||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
|
||||||
|
* exp_attr.adb (Get_Integer_Type): New function returning a
|
||||||
|
small integer type appropriate for an enumeration type.
|
||||||
|
(Expand_N_Attribute_Reference) <Attribute_Enum_Rep>: Call it.
|
||||||
|
<Attribute_Pos>: For an enumeration type with a standard
|
||||||
|
representation, expand to a conversion with Conversion_OK.
|
||||||
|
<Attribute_Val>: Likewise.
|
||||||
|
* exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when
|
||||||
|
the target is an enumeration type and Conversion_OK is set.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any.
|
||||||
|
|
||||||
|
2020-06-16 Richard Kenner <kenner@adacore.com>
|
||||||
|
|
||||||
|
* exp_unst.adb (Subp_Index): Change way we detect internal
|
||||||
|
protected subprograms.
|
||||||
|
|
||||||
|
2020-06-16 Richard Kenner <kenner@adacore.com>
|
||||||
|
|
||||||
|
* comperr.adb (Compiler_Abort): Clarify message displayed to
|
||||||
|
customers.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst,
|
||||||
|
einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads,
|
||||||
|
libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb,
|
||||||
|
sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing.
|
||||||
|
* gnat_ugn.texi: Regenerate.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace
|
||||||
|
"Ekind ... in Object_Kind" with "Is_Object (...)".
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in
|
||||||
|
comment.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* exp_util.adb (Evaluate_Name): Force evaluation of aggregates;
|
||||||
|
recursively evaluate expression of a qualified expression; fix
|
||||||
|
location of the comment for an attribute referenced and an
|
||||||
|
indexed component.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* freeze.adb (Freeze_Expression): Use consistent style and
|
||||||
|
formatting in a couple of cases.
|
||||||
|
|
||||||
|
2020-06-16 Steve Baird <baird@adacore.com>
|
||||||
|
|
||||||
|
* libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the
|
||||||
|
commented-out Integer_Literal aspect specification for type
|
||||||
|
Big_Integer.
|
||||||
|
|
||||||
|
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||||||
|
|
||||||
|
* exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals,
|
||||||
|
Is_Build_In_Place_Entity): New subprograms.
|
||||||
|
(Make_Build_In_Place_Call_In_Allocator,
|
||||||
|
Make_Build_In_Place_Call_In_Anonymous_Context,
|
||||||
|
Make_Build_In_Place_Call_In_Assignment,
|
||||||
|
Make_Build_In_Place_Call_In_Object_Declaration): Add assertions.
|
||||||
|
(Needs_BIP_Task_Actuals): Add missing support for thunks.
|
||||||
|
(Expand_Actuals): Ensure that the BIP call has available an
|
||||||
|
activation chain and the _master variable.
|
||||||
|
* exp_ch9.adb (Find_Enclosing_Context): Initialize the list of
|
||||||
|
declarations of empty blocks when the _master variable must be
|
||||||
|
declared and the list was not available.
|
||||||
|
|
||||||
|
2020-06-16 Bob Duff <duff@adacore.com>
|
||||||
|
|
||||||
|
* par-ch4.adb (P_Case_Expression): Move to be local.
|
||||||
|
(P_Declare_Expression): New parsing routine.
|
||||||
|
(P_Unparen_Cond_Expr_Etc): New name for
|
||||||
|
P_Unparen_Cond_Case_Quant_Expression which was missing one case
|
||||||
|
in its name (iterated component association), and we're adding a
|
||||||
|
new case (declare expression), so lets use "Etc" instead of
|
||||||
|
trying to pack all those things into the name. Add call to
|
||||||
|
P_Declare_Expression, and check for missing parens.
|
||||||
|
(P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add
|
||||||
|
Tok_Declare.
|
||||||
|
* par.adb (P_Basic_Declarative_Items): Add parameter
|
||||||
|
Declare_Expression so we can tailor the error message about
|
||||||
|
incorrect bodies.
|
||||||
|
(P_Case_Expression): Move to body.
|
||||||
|
* par-ch3.adb (P_Basic_Declarative_Items): Tailor the error
|
||||||
|
message about incorrect bodies.
|
||||||
|
* par-ch7.adb (P_Package): Pass Declare_Expression => False to
|
||||||
|
P_Basic_Declarative_Items.
|
||||||
|
* sem.ads (In_Declare_Expr): Counter used to determine whether
|
||||||
|
we are analyzing a declare_expression. Needed to give errors
|
||||||
|
about things that are not allowed in declare_expression, such as
|
||||||
|
the 'Access attribute.
|
||||||
|
* sem.adb (Do_Analyze): Save/restore In_Declare_Expr.
|
||||||
|
* sem_ch4.adb (Analyze_Expression_With_Actions): Give this node
|
||||||
|
its own scope. That seems better in general, but it is
|
||||||
|
necessary for declare_expressions. For example, an identifier
|
||||||
|
declared in a declare_expression should not clash with the same
|
||||||
|
identifier in an outer scope. If this is a declare_expression,
|
||||||
|
indicated by Comes_From_Source, then check legality rules, and
|
||||||
|
incr/decr In_Declare_Expr.
|
||||||
|
* sem_aggr.adb (Resolve_Aggregate): Allow an applicable index
|
||||||
|
constraint for a declare_expression, so if its expression is an
|
||||||
|
array aggregate, it can have "others => ...".
|
||||||
|
* sem_attr.adb (Analyze_Access_Attribute): Disallow these
|
||||||
|
attributes in declare_expressions. Add comment to make it clear
|
||||||
|
that Unrestricted_Access is included.
|
||||||
|
* sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the
|
||||||
|
now-incorrect comment in sinfo.ads that says
|
||||||
|
N_Expression_With_Actions has no proper scope. Add 17-parameter
|
||||||
|
versions of Nkind_In. Remove the 16-parameter versions of
|
||||||
|
Nkind_In.
|
||||||
|
|
||||||
|
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||||||
|
|
||||||
|
* sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New
|
||||||
|
function.
|
||||||
|
* exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op,
|
||||||
|
Expand_Set_Membership.Make_Cond): Choose between primitive and
|
||||||
|
predefined equality for membership tests.
|
||||||
|
|
||||||
|
2020-06-16 Ed Schonberg <schonberg@adacore.com>
|
||||||
|
|
||||||
|
* sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and
|
||||||
|
implement AI12-0216 which clarifies the conditions under which
|
||||||
|
overlapping actuals in a call are illegal. If proper warnings
|
||||||
|
are enabled, GNAT also emits warnings in legal cases of
|
||||||
|
overlopping actuals.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* freeze.adb (Freeze_Expression): Stop climbing the parent chain
|
||||||
|
at a N_{Case,If}_Expression node for a type or an entity that
|
||||||
|
does not come from source.
|
||||||
|
|
||||||
|
2020-06-16 Steve Baird <baird@adacore.com>
|
||||||
|
|
||||||
|
* snames.ads-tmpl: Define names of the three new aspects.
|
||||||
|
* aspects.ads: Define the three new aspects.
|
||||||
|
* sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
|
||||||
|
String_From_Numeric_Literal from being declared in the body of
|
||||||
|
package Sem_Dim to being declared in the visible part of package
|
||||||
|
Sem_Util.
|
||||||
|
* sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
|
||||||
|
Validate_Literal_Aspect. This is where most of the legality
|
||||||
|
checking occurs for an aspect specification for one of the three
|
||||||
|
new aspects, as well as resolution of the subprogram named in
|
||||||
|
the aspect specification. Follow example of other aspects (e.g.,
|
||||||
|
Validate_Literal_Aspect is called in much the same way as
|
||||||
|
Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
|
||||||
|
small amount of legality checking is performed in
|
||||||
|
Analyze_One_Aspect in much the same way as for Default_Value or
|
||||||
|
Default_Component_Value aspects). Most of the work is done in
|
||||||
|
Validate_Literal_Aspect.
|
||||||
|
* contracts.adb (Add_Contract_Item): Call
|
||||||
|
Validate_Literal_Aspect in much the same way that
|
||||||
|
Validate_Iterable_Aspect was already being called.
|
||||||
|
* sem_res.adb (Resolve): Rewrite a literal as a call if it is a
|
||||||
|
user-defined literal. This is where the dynamic semantics of
|
||||||
|
the 3 new aspects are implemented.
|
||||||
|
* sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
|
||||||
|
literals that have different text but the same value (e.g.,
|
||||||
|
12345 and 12_345) do not conform if they are user-defined
|
||||||
|
literals. Introduce a new function
|
||||||
|
User_Defined_Numeric_Literal_Mismatch to avoid duplication in
|
||||||
|
making this check.
|
||||||
|
* sem_type.adb (Has_Compatible_Type): A numeric literal can be
|
||||||
|
compatible with a non-numeric type (and a string literal can be
|
||||||
|
compatible with a non-string type) if it can be interpreted as a
|
||||||
|
user-defined literal.
|
||||||
|
|
||||||
|
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||||||
|
|
||||||
|
* sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation
|
||||||
|
of AI05-0115 by checking the correct type.
|
||||||
|
|
||||||
|
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch6.adb (Analyze_Subprogram_Specification): Generate error
|
||||||
|
message for functions returning interfaces.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch13.adb (Membership_Entry): Relax assertion to also
|
||||||
|
recognize qualified identifiers.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* exp_util.adb (Evaluate_Name): Force evaluation of operators.
|
||||||
|
|
||||||
|
2020-06-16 Arnaud Charlet <charlet@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality
|
||||||
|
nodes for membership tests with singletons.
|
||||||
|
(Analyze_User_Defined_Binary_Op): Always perform the analysis
|
||||||
|
since nodes coming from the expander also may refer to non
|
||||||
|
standard operators as part of membership expansion.
|
||||||
|
* exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of
|
||||||
|
equality node.
|
||||||
|
* sem_type.ads: Fix typo in comment.
|
||||||
|
|
||||||
|
2020-06-16 Ghjuvan Lacambre <lacambre@adacore.com>
|
||||||
|
|
||||||
|
* sem_attr.adb (Analyze_Attribute): Add
|
||||||
|
Check_Not_Incomplete_Type call.
|
||||||
|
|
||||||
|
2020-06-16 Gary Dismukes <dismukes@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch6.adb: Add closing paren in a comment.
|
||||||
|
* sem_util.adb: Correct comment typo (aggreate => aggregate).
|
||||||
|
|
||||||
|
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||||||
|
|
||||||
|
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
||||||
|
Code cleanup.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* freeze.adb (In_Expanded_Body): Remove unreachable code.
|
||||||
|
(Freeze_Expression): Rename a couple of local variables.
|
||||||
|
In the case of an expanded body, also freeze locally the
|
||||||
|
entities declared in a nested block.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch4.adb (Transform_Object_Operation): Document that it
|
||||||
|
may be partially destructive for the parent of the node.
|
||||||
|
(Try_Object_Operation): Undo the changes made above on failure.
|
||||||
|
|
||||||
|
2020-06-16 Javier Miranda <miranda@adacore.com>
|
||||||
|
|
||||||
|
* restrict.adb (Global_No_Tasking): Adding
|
||||||
|
Targparm.Restrictions_On_Target Fixes regressions with zfp.
|
||||||
|
|
||||||
|
2020-06-16 Ed Schonberg <schonberg@adacore.com>
|
||||||
|
|
||||||
|
* freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the
|
||||||
|
generated body of an expression function like other bodies
|
||||||
|
generated during expansion (e.g. stream subprograms) so that
|
||||||
|
those bodies are not treated as freezing points. Handle properly
|
||||||
|
other global references in such completions.
|
||||||
|
|
||||||
|
2020-06-16 Piotr Trojanek <trojanek@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch8.adb (Analyze_Object_Renaming): Remove trivially
|
||||||
|
useless initialization of Is_Object_Reference.
|
||||||
|
* sem_util.adb (Is_Object_Reference): Simplify detection of
|
||||||
|
binary and unary operators; literally implement rules about
|
||||||
|
aggregates and qualified expressions; recognize string literals
|
||||||
|
as object references.
|
||||||
|
|
||||||
|
2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch12.adb (Validate_Derived_Type_Instance): Reword error
|
||||||
|
message for 12.5.1(8) subclause and add secondary message if
|
||||||
|
the incompatibility comes from the predicates.
|
||||||
|
* sem_ch3.adb (Check_Constraining_Discriminant): New procedure
|
||||||
|
to give the error required by the 3.7(15) subclause. Mention
|
||||||
|
"statically" in the error message and add secondary message
|
||||||
|
if the incompatibility comes from the predicates.
|
||||||
|
(Build_Derived_Concurrent_Type): Call it when a new discriminant
|
||||||
|
constrains an old one.
|
||||||
|
(Build_Derived_Record_Type): Likewise.
|
||||||
|
* sem_eval.ads (Predicates_Compatible): Declare.
|
||||||
|
* sem_eval.adb (Predicates_Compatible): New function to implement
|
||||||
|
the compatibility of predicates specified by the 4.9.1 clause.
|
||||||
|
(Subtypes_Statically_Compatible): Call it.
|
||||||
|
|
||||||
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* sem_eval.ads (Predicates_Match): Fix description.
|
* sem_eval.ads (Predicates_Match): Fix description.
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
|
||||||
|
* c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
|
||||||
|
idx members.
|
||||||
|
(c_omp_is_loop_iterator): New function.
|
||||||
|
(c_omp_check_loop_iv_r): Use it. Add support for silent scanning
|
||||||
|
if outer loop iterator is present. Perform duplicate checking through
|
||||||
|
hash_set in the function rather than expecting caller to do that.
|
||||||
|
Pass NULL instead of d->ppset to walk_tree_1.
|
||||||
|
(c_omp_check_nonrect_loop_iv): New function.
|
||||||
|
(c_omp_check_loop_iv): Use it. Fill in new members, allow
|
||||||
|
non-rectangular loop forms, diagnose multiple associated loops with
|
||||||
|
the same iterator. Pass NULL instead of &pset to walk_tree_1.
|
||||||
|
(c_omp_check_loop_iv_exprs): Likewise.
|
||||||
|
|
||||||
2020-06-10 Martin Liska <mliska@suse.cz>
|
2020-06-10 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR tree-optimization/92860
|
PR tree-optimization/92860
|
||||||
|
@ -1,3 +1,21 @@
|
|||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-parser.c (c_parser_expr_no_commas): Save, clear and restore
|
||||||
|
c_in_omp_for.
|
||||||
|
(c_parser_omp_for_loop): Set c_in_omp_for around some calls to avoid
|
||||||
|
premature c_fully_fold. Defer explicit c_fully_fold calls to after
|
||||||
|
c_finish_omp_for.
|
||||||
|
* c-tree.h (c_in_omp_for): Declare.
|
||||||
|
* c-typeck.c (c_in_omp_for): Define.
|
||||||
|
(build_modify_expr): Avoid c_fully_fold if c_in_omp_for.
|
||||||
|
(digest_init): Likewise.
|
||||||
|
(build_binary_op): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-parser.c (c_parser_omp_clause_schedule): Reject modifier separated
|
||||||
|
from kind by comma rather than colon.
|
||||||
|
|
||||||
2020-06-05 Mark Wielaard <mark@klomp.org>
|
2020-06-05 Mark Wielaard <mark@klomp.org>
|
||||||
|
|
||||||
* c-decl.c (implicit_decl_warning): When warned and olddecl is
|
* c-decl.c (implicit_decl_warning): When warned and olddecl is
|
||||||
|
@ -1,3 +1,85 @@
|
|||||||
|
2020-06-16 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/95369
|
||||||
|
* call.c (add_list_candidates): Return if a designated initializer
|
||||||
|
is used with a non-aggregate.
|
||||||
|
(implicit_conversion_error): Give an error for the case above.
|
||||||
|
|
||||||
|
2020-06-16 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/95560
|
||||||
|
* name-lookup.c (check_local_shadow): Check if types are
|
||||||
|
non-null before calling same_type_p.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* semantics.c (handle_omp_for_class_iterator): Adjust
|
||||||
|
c_omp_check_loop_iv_exprs caller.
|
||||||
|
(finish_omp_for): Likewise. Don't call fold_build_cleanup_point_expr
|
||||||
|
before calling c_finish_omp_for and c_omp_check_loop_iv, move it
|
||||||
|
after those calls.
|
||||||
|
* pt.c (tsubst_omp_for_iterator): Handle non-rectangular loops.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* parser.c (cp_parser_omp_clause_schedule): Reject modifier separated
|
||||||
|
from kind by comma rather than colon.
|
||||||
|
|
||||||
|
2020-06-16 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
|
* pt.c (perform_instantiation_time_access_checks): No need to
|
||||||
|
tsubst into decl.
|
||||||
|
* semantics.c (enforce_access): Verify that decl is not
|
||||||
|
dependent.
|
||||||
|
|
||||||
|
2020-06-16 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
|
PR c++/41437
|
||||||
|
PR c++/47346
|
||||||
|
* cp-tree.h (qualified_typedef_usage_s): Delete.
|
||||||
|
(qualified_typedef_usage_t): Delete.
|
||||||
|
(deferred_access_check): Move up in file.
|
||||||
|
(tree_template_info::typedefs_needing_access_checking): Delete.
|
||||||
|
(tree_template_info::deferred_access_checks): New field.
|
||||||
|
(TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): Rename to ...
|
||||||
|
(TI_DEFERRED_ACCESS_CHECKS): ... this, and adjust accordingly.
|
||||||
|
* pt.c (perform_typedefs_access_check): Rename to ...
|
||||||
|
(perform_instantiation_time_access_checks): ... this, and adjust
|
||||||
|
accordingly. Remove unnecessary tree tests.
|
||||||
|
(instantiate_class_template_1): Adjust accordingly.
|
||||||
|
(instantiate_decl): Likewise.
|
||||||
|
* semantics.c (enforce_access): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
|
PR c++/41437
|
||||||
|
PR c++/47346
|
||||||
|
* call.c (enforce_access): Move to semantics.c.
|
||||||
|
* cp-tree.h (enforce_access): Delete.
|
||||||
|
(get_types_needing_access_check): Delete.
|
||||||
|
(add_typedef_to_current_template_for_access_check): Delete.
|
||||||
|
* decl.c (make_typename_type): Adjust accordingly. Use
|
||||||
|
check_accessibility_of_qualified_id instead of directly using
|
||||||
|
perform_or_defer_access_check.
|
||||||
|
* parser.c (cp_parser_template_declaration_after_parameters):
|
||||||
|
Don't push a dk_no_check access state when parsing a template.
|
||||||
|
* pt.c (get_types_needing_access_check): Delete.
|
||||||
|
(append_type_to_template_for_access_check_1): Delete.
|
||||||
|
(perform_typedefs_access_check): Adjust. If type_decl is a
|
||||||
|
FIELD_DECL, also check its DECL_CONTEXT for dependence. Use
|
||||||
|
tsubst_copy instead of tsubst to substitute into type_decl so
|
||||||
|
that we substitute into the DECL_CONTEXT of a FIELD_DECL.
|
||||||
|
(append_type_to_template_for_access_check): Delete.
|
||||||
|
* search.c (accessible_p): Remove the processing_template_decl
|
||||||
|
early exit.
|
||||||
|
* semantics.c (enforce_access): Moved from call.c. If we're
|
||||||
|
parsing a template and the access check failed, add the check to
|
||||||
|
TI_TYPEDEFS_NEEDING_ACCESS_CHECKING.
|
||||||
|
(perform_or_defer_access_check): Adjust comment.
|
||||||
|
(add_typedef_to_current_template_for_access_check): Delete.
|
||||||
|
(check_accessibility_of_qualified_id): Adjust accordingly.
|
||||||
|
Exit early if the scope is dependent.
|
||||||
|
|
||||||
2020-06-11 Patrick Palka <ppalka@redhat.com>
|
2020-06-11 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
PR c++/93467
|
PR c++/93467
|
||||||
|
138
gcc/d/ChangeLog
138
gcc/d/ChangeLog
@ -1,3 +1,141 @@
|
|||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-attribs.cc (handle_noreturn_attribute): Remove names of unused
|
||||||
|
function parameters.
|
||||||
|
(handle_leaf_attribute): Likewise.
|
||||||
|
(handle_const_attribute): Likewise.
|
||||||
|
(handle_malloc_attribute): Likewise.
|
||||||
|
(handle_pure_attribute): Likewise.
|
||||||
|
(handle_novops_attribute): Likewise.
|
||||||
|
(handle_nonnull_attribute): Likewise.
|
||||||
|
(handle_nothrow_attribute): Likewise.
|
||||||
|
(handle_type_generic_attribute): Likewise.
|
||||||
|
(handle_transaction_pure_attribute): Likewise.
|
||||||
|
(handle_returns_twice_attribute): Likewise.
|
||||||
|
(handle_fnspec_attribute): Likewise.
|
||||||
|
(handle_always_inline_attribute): Likewise.
|
||||||
|
(d_handle_noinline_attribute): Likewise.
|
||||||
|
(d_handle_forceinline_attribute): Likewise.
|
||||||
|
(d_handle_flatten_attribute): Likewise.
|
||||||
|
(d_handle_noclone_attribute): Likewise.
|
||||||
|
(d_handle_section_attribute): Likewise.
|
||||||
|
(d_handle_alias_attribute): Likewise.
|
||||||
|
(d_handle_weak_attribute): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-attribs.cc: Update code formatting in a consistant style.
|
||||||
|
* d-builtins.cc: Likewise.
|
||||||
|
* d-codegen.cc: Likewise.
|
||||||
|
* d-compiler.cc: Likewise.
|
||||||
|
* d-convert.cc: Likewise.
|
||||||
|
* d-diagnostic.cc: Likewise.
|
||||||
|
* d-frontend.cc: Likewise.
|
||||||
|
* d-lang.cc: Likewise.
|
||||||
|
* d-longdouble.cc: Likewise.
|
||||||
|
* d-port.cc: Likewise.
|
||||||
|
* d-spec.cc: Likewise.
|
||||||
|
* d-tree.h: Likewise.
|
||||||
|
* decl.cc: Likewise.
|
||||||
|
* expr.cc: Likewise.
|
||||||
|
* longdouble.h: Likewise.
|
||||||
|
* modules.cc: Likewise.
|
||||||
|
* toir.cc: Likewise.
|
||||||
|
* typeinfo.cc: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-builtins.cc: Update quotation formatting of comments.
|
||||||
|
* d-codegen.cc: Likewise.
|
||||||
|
* d-lang.cc: Likewise.
|
||||||
|
* decl.cc: Likewise.
|
||||||
|
* expr.cc: Likewise.
|
||||||
|
* imports.cc: Likewise.
|
||||||
|
* runtime.cc: Likewise.
|
||||||
|
* toir.cc: Likewise.
|
||||||
|
* typeinfo.cc: Likewise.
|
||||||
|
* types.cc: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
|
||||||
|
(d_diagnostic_report_diagnostic): Don't free xformat.
|
||||||
|
* d-lang.cc (struct d_option_data): Change deps_target type from
|
||||||
|
OutBuffer to vec <const char *>.
|
||||||
|
(deps_add_target): Update to push each target to deps_target.
|
||||||
|
(deps_write_string): New function.
|
||||||
|
(deps_write): Change buffer type to obstack* and remove colmax.
|
||||||
|
(d_init_options): Update initialization of deps_target.
|
||||||
|
(d_parse_file): Replace OutBuffer with obstack.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-lang.cc (d_parse_file): Replace uses of File with FILE.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-codegen.cc (build_array_bounds_call): New function.
|
||||||
|
(build_bounds_condition): Use build_array_bounds_call.
|
||||||
|
* d-lang.cc (d_init_options): Explicitly set default check action to
|
||||||
|
CHECKACTION_D.
|
||||||
|
(d_post_options): Set check action to CHECKACTION_C if the flag
|
||||||
|
-fno-druntime was seen.
|
||||||
|
* d-tree.h (build_array_bounds_call): Declare.
|
||||||
|
* expr.cc (ExprVisitor::visit (AssertExp *)): Use
|
||||||
|
build_array_bounds_call.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-attribs.cc (build_attributes): Use toStringExp instead of cast.
|
||||||
|
* toir.cc (IRVisitor::visit): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
|
||||||
|
explicit casts.
|
||||||
|
* d-codegen.cc (d_build_call): Likewise.
|
||||||
|
* d-compiler.cc (Compiler::paintAsType): Likewise.
|
||||||
|
* decl.cc (ExprVisitor::visit): Likewise.
|
||||||
|
(layout_class_initializer): Likewise.
|
||||||
|
* expr.cc (ExprVisitor::lvalue_p): Likewise
|
||||||
|
(ExprVisitor::visit): Likewise.
|
||||||
|
* types.cc (layout_aggregate_members): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
|
||||||
|
* decl.cc (DeclVisitor::visit): Likewise.
|
||||||
|
* toir.cc (IRVisitor::visit): Likewise.
|
||||||
|
* typeinfo.cc (TypeInfoVisitor::visit): Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
|
* d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
|
||||||
|
instead of explicit casts.
|
||||||
|
(d_build_builtins_module): Likewise.
|
||||||
|
* d-codegen.cc (get_array_length): Likewise.
|
||||||
|
(identity_compare_p): Likewise.
|
||||||
|
(lower_struct_comparison): Likewise.
|
||||||
|
(build_array_from_val): Likewise.
|
||||||
|
(array_bounds_check): Likewise.
|
||||||
|
(get_function_type): Likewise.
|
||||||
|
(d_build_call): Likewise.
|
||||||
|
* d-compiler.cc (Compiler::paintAsType): Likewise.
|
||||||
|
* d-convert.cc (convert_expr): Likewise.
|
||||||
|
(convert_for_assignment): Likewise.
|
||||||
|
* d-lang.cc (d_classify_record): Likewise.
|
||||||
|
(d_build_eh_runtime_type): Likewise.
|
||||||
|
* decl.cc (DeclVisitor::visit): Likewise.
|
||||||
|
* expr.cc (ExprVisitor::needs_postblit): Likewise.
|
||||||
|
(ExprVisitor::needs_dtor): Likewise.
|
||||||
|
(ExprVisitor::visit): Likewise.
|
||||||
|
* imports.cc (ImportVisitor::visit): Likewise.
|
||||||
|
* typeinfo.cc (get_typeinfo_kind): Likewise.
|
||||||
|
(TypeInfoVisitor::visit): Likewise.
|
||||||
|
(TypeDeclInfoVisitor::visit): Likewise.
|
||||||
|
* types.cc (merge_aggregate_types): Likewise.
|
||||||
|
(TypeVisitor::visit): Likewise.
|
||||||
|
|
||||||
2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
||||||
|
|
||||||
* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
|
* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* parse.c (decode_oacc_directive): Permit 'acc routine' also
|
||||||
|
inside pure procedures.
|
||||||
|
* openmp.c (gfc_match_oacc_routine): Inside pure procedures
|
||||||
|
do not permit gang, worker or vector clauses.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* parse.c (decode_omp_directive): Remove "or ELEMENTAL"
|
||||||
|
from "in PURE" error message also for -fopenmp-simd.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* parse.c (decode_omp_directive): Remove "or ELEMENTAL"
|
||||||
|
from "in PURE" error message.
|
||||||
|
|
||||||
2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/42122
|
PR fortran/42122
|
||||||
|
@ -1,3 +1,112 @@
|
|||||||
|
2020-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
* g++.dg/torture/pr95493-1.C: New test.
|
||||||
|
|
||||||
|
2020-06-16 Aldy Hernandez <aldyh@redhat.com>
|
||||||
|
|
||||||
|
* g++.dg/tree-ssa/pr95649.C: New test.
|
||||||
|
* gcc.dg/tree-ssa/pr95649.c: New test.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* gfortran.dg/goacc/pure-elemental-procedures-2.f90: New test.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* gfortran.dg/gomp/pr79154-simd.f90: New test.
|
||||||
|
|
||||||
|
2020-06-16 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/95369
|
||||||
|
* g++.dg/cpp2a/desig11.C: Adjust dg-error.
|
||||||
|
* g++.dg/cpp2a/desig16.C: New test.
|
||||||
|
|
||||||
|
2020-06-16 Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
PR c++/95560
|
||||||
|
* g++.dg/warn/Wshadow-local-3.C: New test.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-c++-common/asan/inline.c: Add -ffat-lto-objects to dg-options.
|
||||||
|
* c-c++-common/asan/inline-kernel.c: Likewise.
|
||||||
|
* c-c++-common/ubsan/inline.c: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||||||
|
|
||||||
|
* gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: New test.
|
||||||
|
|
||||||
|
2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||||||
|
|
||||||
|
* gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: New test.
|
||||||
|
* gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise.
|
||||||
|
* gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise.
|
||||||
|
* gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-c++-common/gomp/loop-6.c: New test.
|
||||||
|
* gcc.dg/gomp/loop-1.c: Don't expect diagnostics on valid
|
||||||
|
non-rectangular loops.
|
||||||
|
* gcc.dg/gomp/loop-2.c: New test.
|
||||||
|
* g++.dg/gomp/loop-1.C: Don't expect diagnostics on valid
|
||||||
|
non-rectangular loops.
|
||||||
|
* g++.dg/gomp/loop-2.C: Likewise.
|
||||||
|
* g++.dg/gomp/loop-5.C: New test.
|
||||||
|
* g++.dg/gomp/loop-6.C: New test.
|
||||||
|
|
||||||
|
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* c-c++-common/gomp/schedule-modifiers-2.c: New test.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
PR middle-end/95622
|
||||||
|
* lib/target-supports.exp (check_effective_target_offloading_enabled):
|
||||||
|
New.
|
||||||
|
* c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Use it for xfail.
|
||||||
|
* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise.
|
||||||
|
* c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* gfortran.dg/gomp/pr79154-1.f90: Update dg-*;
|
||||||
|
add an impure elemental example.
|
||||||
|
* gfortran.dg/gomp/pr79154-2.f90: Likewise.
|
||||||
|
|
||||||
|
2020-06-16 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
|
PR c++/41437
|
||||||
|
PR c++/47346
|
||||||
|
* g++.dg/cpp2a/concepts-using2.C: Adjust.
|
||||||
|
* g++.dg/lto/20081219_1.C: Adjust.
|
||||||
|
* g++.dg/lto/20091002-1_0.C: Adjust.
|
||||||
|
* g++.dg/lto/pr65475c_0.C: Adjust.
|
||||||
|
* g++.dg/opt/dump1.C: Adjust.
|
||||||
|
* g++.dg/other/pr53574.C: Adjust.
|
||||||
|
* g++.dg/template/access30.C: New test.
|
||||||
|
* g++.dg/template/access31.C: New test.
|
||||||
|
* g++.dg/wrappers/wrapper-around-type-pack-expansion.C: Adjust.
|
||||||
|
|
||||||
|
2020-06-16 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR middle-end/95690
|
||||||
|
* gfortran.dg/pr95690.f90: New testcase.
|
||||||
|
|
||||||
|
2020-06-16 Thomas Schwinge <thomas@codesourcery.com>
|
||||||
|
|
||||||
|
PR tree-optimization/94988
|
||||||
|
* gcc.dg/graphite/pr80906.c: Un-XFAIL.
|
||||||
|
|
||||||
|
2020-06-16 Thomas Schwinge <thomas@codesourcery.com>
|
||||||
|
|
||||||
|
* gcc.dg/lto/pr52634_0.c: Further adjust 'dg-lto-options'.
|
||||||
|
|
||||||
|
2020-06-16 Kito Cheng <kito.cheng@sifive.com>
|
||||||
|
|
||||||
|
PR target/95683
|
||||||
|
* gcc.target/riscv/pr95683.c: New.
|
||||||
|
|
||||||
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
|
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
|
||||||
|
|
||||||
* gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test.
|
* gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test.
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2020-06-16 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
|
* testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
|
||||||
|
|
||||||
2020-06-08 Tobias Burnus <tobias@codesourcery.com>
|
2020-06-08 Tobias Burnus <tobias@codesourcery.com>
|
||||||
|
|
||||||
PR lto/94848
|
PR lto/94848
|
||||||
|
@ -1,3 +1,21 @@
|
|||||||
|
2020-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/95282
|
||||||
|
* include/bits/atomic_base.h (__atomic_impl::load): Use the _Val
|
||||||
|
alias instead of deducing _Tp as an unqualified type.
|
||||||
|
(__atomic_impl::exchange): Use the _Val alias to remove volatile
|
||||||
|
from the reinterpret_cast result type.
|
||||||
|
|
||||||
|
2020-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
* include/std/atomic (atomic): Add static assertions.
|
||||||
|
* testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
|
||||||
|
|
||||||
|
2020-06-16 Patrick Palka <ppalka@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/94003
|
||||||
|
* testsuite/20_util/is_constructible/94003.cc: New test.
|
||||||
|
|
||||||
2020-06-15 Jonathan Wakely <jwakely@redhat.com>
|
2020-06-15 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
|
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
|
||||||
|
Loading…
Reference in New Issue
Block a user