Age | Commit message (Collapse) | Author | Files | Lines |
|
2019-12-13 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* sem_res.adb (Resolve_Actuals): Give canonical error for
illegal case of atomic/volatile parameter also if the formal is
aliased.
From-SVN: r279364
|
|
2019-12-13 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* sem_util.ads (Is_Atomic_Object): Mention relevant RM clauses.
* sem_util.adb (Is_Atomic_Object): For an indexed component,
only look at the Has_Atomic_Components aspect of the prefix and
do not recurse on it; for a selected component, do not look at
the prefix.
(Is_Atomic_Or_VFA_Object): Minor tweak.
From-SVN: r279363
|
|
2019-12-13 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* libgnat/a-calfor.ads, libgnat/a-calfor.adb (Split_Duration):
New procedure.
(Split, Image): Use Split_Duration. Update Image spec.
From-SVN: r279362
|
|
2019-12-13 Javier Miranda <miranda@adacore.com>
gcc/ada/
* exp_unst.adb (Unnest_Subprogram): Generate an extra temporary
to facilitate the C backend processing dereferences.
From-SVN: r279361
|
|
2019-12-13 Javier Miranda <miranda@adacore.com>
gcc/ada/
* sem_prag.adb (Analyze_Pragma): Propagate the
Linker_Section_Attribute to the ultimate alias of the subprogram
to facilitate the C backend processing this attribute.
From-SVN: r279360
|
|
2019-12-13 Yannick Moy <moy@adacore.com>
gcc/ada/
* sem_util.adb (Original_Aspect_Pragma_Name): Go through
Original_Node for pragma.
From-SVN: r279359
|
|
2019-12-13 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* exp_aggr.adb, exp_unst.adb: Minor fix typo in comment.
From-SVN: r279358
|
|
2019-12-13 Steve Baird <baird@adacore.com>
gcc/ada/
* sem_res.adb (Resolve, Valid_Conversion): Add Base_Type call
when testing whether a type is a general access type.
From-SVN: r279357
|
|
2019-12-13 Javier Miranda <miranda@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): Generate an
extra temporary for cases unsupported by the C backend.
From-SVN: r279356
|
|
2019-12-13 Steve Baird <baird@adacore.com>
gcc/ada/
* einfo.ads: Correct comment for Derived_Type_Link to reflect
that fact that this function is now used for more than just
generation of warnings.
* sem_ch3.adb (Build_Derived_Type): Do not call
Set_Derived_Type_Link if the derived type and the parent type
are in different compilation units. Such a derivation cannot be
a problematic "early" derivation (identifying these is what the
Derived_Type_Link attribute is used for) and we don't like
inter-unit references that go in the opposite direction of
semantic dependencies.
* sem_ch13.adb (Is_Type_Related_Rep_Item): A new function,
analogous to the existing function Is_Operational_Item.
(Rep_Item_Too_Late): Generate a hard error (with same text as
the warning that was previously being generated) if the
AI12-0109 legality rule is violated.
From-SVN: r279355
|
|
2019-12-13 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* doc/gnat_rm/implementation_defined_pragmas.rst: Minor tweak to
Volatile_Full_Access wording in GNAT RM.
* gnat_rm.texi: Regenerate.
From-SVN: r279354
|
|
2019-12-13 Gary Dismukes <dismukes@adacore.com>
gcc/ada/
* exp_attr.adb (Expand_N_Attribute_Reference,
Attribute_Address): Suppress generation of a call to
Base_Address in the case where the Address attribute is being
used to initialize a corresponding component of an activation
record.
(Is_Unnested_Component_Init): New function to determine whether
an attribute reference for Address is used to initialized a
component of an activation record object that corresponds to the
object denoted by the prefix of the attribute (an assignment
used in support of unnesting for back ends like LLVM).
From-SVN: r279353
|
|
2019-12-13 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_res.adb (Resolve): IF an entity reference is overloaded
because its type has an Implicit_Dereference aspect, we must
examine the discriminants of the type to determine whether an
explicit dereference must be inserted for use in code
generation. Previously this was done for other expressions but
not for entity references by themselves. This was sufficient to
handle uses of the aspect in container handling and iteration,
but not more generally.
From-SVN: r279352
|
|
2019-12-13 Javier Miranda <miranda@adacore.com>
gcc/ada/
* exp_disp.ads (Expand_Interface_Thunk): Adding one formal (the
interface type).
* exp_disp.adb (Expand_Interface_Thunk): Using the added formal
to ensure the correct profile of the thunk generated for
predefined primitives; in addition, the added formal is also
used to perform a check that ensures that the controlling type
of the thunk is the one expected by the GCC backend.
(Make_Secondary_DT, Register_Primitive): Adding the new formal
to the calls to Expand_Interface_Thunk.
* exp_ch6.adb (Register_Predefined_DT_Entry): Adding the new
formal to the call to Expand_Interface_Thunk.
* exp_intr.adb (Expand_Unc_Deallocation): When deallocating a
controlled type and the call to unchecked deallocation is
performed with a pointer to one of the convered interface types,
displace the pointer to the object to reference the base of the
object to deallocate its memory.
* gcc-interface/trans.c (maybe_make_gnu_thunk): Assert that the
controlling type of the thunk is an interface type.
From-SVN: r279351
|
|
2019-12-13 Bob Duff <duff@adacore.com>
gcc/ada/
* exp_attr.adb (Is_Available): Remove this function, and replace
all calls with RTE_Available. RTE_Available will return True if
"not Configurable_Run_Time_Mode". Remove the "???" comment.
From-SVN: r279350
|
|
2019-12-13 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch7.adb (Analyze_Package_Body_Helper): Do not call
Declare_Inherited_Private_Subprograms on s child body: the
required operations have already been created when analyzing the
corresponding package declaration. This prevents a redeclaration
of inehrited operation, and a crash when inserting the new
operation in the current scope.
From-SVN: r279349
|
|
2019-12-13 Yannick Moy <moy@adacore.com>
gcc/ada/
* sem_prag.adb (Analyze_Depends_In_Decl_Part,
Analyze_Global_In_Decl_Part,
Analyze_Refined_Depends_In_Decl_Part,
Analyze_Refined_Global_In_Decl_Part, Check_Missing_Part_Of):
Skip redundant checking involving visibility inside
instantiations.
From-SVN: r279348
|
|
2019-12-13 Yannick Moy <moy@adacore.com>
gcc/ada/
* sem_res.adb (Resolve_Call): Prevent inlining inside while loop
conditions.
* sem_util.adb, sem_util.ads (In_While_Loop_Condition): New
query function.
From-SVN: r279347
|
|
2019-12-13 Bob Duff <duff@adacore.com>
gcc/ada/
* impunit.ads: Add Ada_202X_Unit.
* impunit.adb: Add a table Non_Imp_File_Names_2X analogous to
the other tables. Add code to search this table.
* opt.ads: Add Warn_On_Ada_202X_Compatibility flag, currently
always True.
* sem_ch10.adb (Analyze_With_Clause): Give a warning if an Ada
2020 unit is with-ed when Ada_Version < Ada_2020. Change 'if'
to 'case': Full coverage rules rule.
From-SVN: r279346
|
|
2019-12-13 Bob Duff <duff@adacore.com>
gcc/ada/
* rtsfind.ads: Minor comment fix.
From-SVN: r279345
|
|
2019-12-13 Gary Dismukes <dismukes@adacore.com>
gcc/ada/
* sem_util.adb (Scope_Within): For the case of checking for a
task type procedure, check the Implementation_Base_Type of Curr.
(Scope_Within_Or_Same): For the case of checking for a task type
procedure, check the Implementation_Base_Type of Curr.
From-SVN: r279344
|
|
2019-12-13 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* impunit.adb (Non_Imp_File_Names_12): Add
Ada.Containers.Vectors.Generic_Parallel_Sorting.
From-SVN: r279343
|
|
2019-12-13 Justin Squirek <squirek@adacore.com>
gcc/ada/
* sem_res.adb (Resolve_Allocator): Add calls to
Check_Cond_Expr_Accessibility when a conditional expression is
found.
(Check_Allocator_Discrim_Accessibility_Exprs): Created to
recursively traverse a potentially compound conditional
expression and perform accessibility checks for each
alternative.
* sem_util.adb (Dynamic_Accessibility_Level): Avoid use of
original node of the expression in question so we can handle
dynamic accessibility in the limited case of a constant folded
conditional expression.
From-SVN: r279342
|
|
2019-12-13 Steve Baird <baird@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_Op_Eq.Is_Equality): Move this function
from within Expand_N_Op_Eq.Find_Equality out to immediately
within Expand_N_Op_Eq in order to give it greater visibility.
Add a new Typ parameter (defaulted to Empty) which, if
non-empty, means the function will return False in the case of
an equality op for some other type.
* (Expand_N_Op_Eq.User_Defined_Primitive_Equality_Op): A new
function. Given an untagged record type, finds the corresponding
user-defined primitive equality op (if any). May return Empty.
Ignores visibility.
* (Expand_N_Op): For Ada2012 or later, check for presence of a
user-defined primitive equality op before falling back on the
usual predefined component-by-component comparison. If found,
then call the user-defined op instead.
From-SVN: r279341
|
|
2019-12-13 Justin Squirek <squirek@adacore.com>
gcc/ada/
* sem_ch6.adb (Check_Overriding_Indicator): Modify condition to
take into account the modification of the Is_Hidden flag within
generic instances.
(Verify_Overriding_Indicator): Add an exception for controlled
primitives within an instance.
From-SVN: r279340
|
|
2019-12-13 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sinfo.ads, sinfo.adb (Aspect_On_Partial_View,
Set_Aspect_On_Partial_View): New flag for use by SPARK, to
indicate whether an aspect that appears on a type declaration
applies to the partial view of that type.
* sem_ch13.adb (Analyze_Aspect_Specification): Set new flag
appropriately.
From-SVN: r279339
|
|
testsuite/ChangeLog:
2019-12-13 Andrew Pinski <apinski@marvell.com>
* gcc.c-torture/execute/pr86659-1.c: New test.
* gcc.c-torture/execute/pr86659-2.c: New test.
From-SVN: r279338
|
|
libgomp/
* openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
as public except for the 'use …, only' imported symbol, which is
private.
(module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
attributes for acc_copyout_finalize and acc_delete_finalize.
From-SVN: r279337
|
|
We found that the vectorization cost modeling on scalar COND_EXPR is a bit off
on rs6000. One typical case is 548.exchange2_r, -Ofast -mcpu=power9 -mrecip
-fvect-cost-model=unlimited is better than -Ofast -mcpu=power9 -mrecip (the
default is -fvect-cost-model=dynamic) by 1.94%. Scalar COND_EXPR is expanded
into compare + branch or compare + isel normally, either of them should be
priced more than the simple FXU operation. This patch is to add additional
vectorization cost onto scalar COND_EXPR on top of builtin_vectorization_cost.
The idea to use additional cost value 2 instead of the others: 1) try various
possible value candidates from 1 to 5, 2 is the best measured on Power9. 2)
from latency view, compare takes 3 cycles and isel takes 2 on Power9, it's
2.5 times of simple FXU instruction which takes cost 1 in the current
modeling, it's close. 3) get fine SPEC2017 ratio on Power8 as well.
gcc/ChangeLog
* config/rs6000/rs6000.c (adjust_vectorization_cost): New function.
(rs6000_add_stmt_cost): Call adjust_vectorization_cost and update
stmt_cost.
From-SVN: r279336
|
|
* typeck.c (cp_build_binary_op): Handle error from spaceship_type.
From-SVN: r279331
|
|
From-SVN: r279330
|
|
and uses movdqa for the load)
PR target/92904
* config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and
not need_temp, decrease alignment of the read because the GPR save
area only guarantees 8-byte alignment.
* gcc.c-torture/execute/pr92904.c: New test.
From-SVN: r279327
|
|
2019-12-12 Harald Anlauf <anlauf@gmx.de>
PR fortran/92898
* check.c (gfc_check_is_contiguous): Simplify check to handle
arbitrary NULL() argument.
PR fortran/92898
* gfortran.dg/pr92898.f90: New test.
From-SVN: r279314
|
|
With my recent commit, I added a test that is not passing on all targets.
My change was valid for targets that have a vector/scalar shift/rotate optabs
(optab that supports vector shifted by scalar).
Since it does not seem to be easy to find out which targets would support it,
I am limiting the test to the targets that I know pass.
gcc/testsuite/ChangeLog
2019-12-12 Sudakshina Das <sudi.das@arm.com>
PR testsuite/92870
* gcc.dg/vect/vect-shift-5.c: Add target to scan-tree-dump.
From-SVN: r279310
|
|
* config/avr/avr-mcus.def (attiny1604, attiny1606, attiny1607)
(attiny402, attiny404, attiny406)
(attiny804, attiny806, attiny807)
(attiny202, attiny204): Add AVR_MCU lines to support them.
* doc/avr-mmcu.texi: Regenerate.
From-SVN: r279309
|
|
* libsupc++/compare (common_comparison_category): Define without using
concepts and optimise for compilation time.
(__detail::__cmp_cat_ids): Remove.
(__detail::__common_cmp_cat): Replace class template and
specializations with constexpr function.
From-SVN: r279307
|
|
execution of function call parameters.
* ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
of execution of function call parameters.
From-SVN: r279306
|
|
2019-12-12 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch13.adb (Same_Reprewentation): if the actual in a call is
a generic actual type, use its bsae type to determine whether a
change of representastion may be necessary for proper parameter
passing.
From-SVN: r279305
|
|
2019-12-12 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_type.adb (Find_Unique_Type): A call to the universal
access equality operator requires one operand to be a universal
access, and the other to be an access type. There is no
requirement, as previously implied by this routine, that
pool-specific access types were illegal in this context.
From-SVN: r279304
|
|
2019-12-12 Steve Baird <baird@adacore.com>
gcc/ada/
* sem_ch6.adb
(New_Overloaded_Entity.Check_Conforming_Paramters): Add new
Conformance_Type parameter. With the value of
Subtype_Conformant, the behavior of Check_Conforming_Parameters
is unchanged. The call in Matching_Entry_Or_Subprogram to
instead passes in Type_Conformant. This corresponds to the use
of "type conformant" in Ada RM 9.4(11.4/3).
(New_Overloaded_Entity.Has_Matching_Entry_Or_Subprogram): Add
new Normalized_First_Parameter_Type function to help in ignoring
the distinction between protected and access-to-protected first
parameters when checking prefixed-view profile matching. Replace
computations of the type of the first parameter with calls to
this function as appropriate.
From-SVN: r279303
|
|
2019-12-12 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch5.adb: (Analyze_Iterator_Specification): If the
iteration is over a slice, complete the resolution of its
bounds, which may be aebitrary expressions. The previous
pre-analysis may have created itypes for the slice but has not
performed the expansion that for example may introduce actions
that specify explicit dereferences and run-time checks.
From-SVN: r279302
|
|
2019-12-12 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_ch8.adb: Improve error message for dispatching subprogram
formals.
From-SVN: r279301
|
|
2019-12-12 Gary Dismukes <dismukes@adacore.com>
gcc/ada/
* exp_ch9.adb (Build_Protected_Entry): Set the Scope of the new
block to be the entity of the procedure created for the entry.
From-SVN: r279300
|
|
2019-12-12 Steve Baird <baird@adacore.com>
gcc/ada/
* sem_ch10.adb (Install_With_Clause): Check for the case of a
circular dependency involving a predefined (or GNAT-defined)
unit and handle that case by generating an appropropriate error
message.
From-SVN: r279299
|
|
2019-12-12 Gary Dismukes <dismukes@adacore.com>
gcc/ada/
* sem_ch4.adb, sem_res.adb: Minor reformatting.
From-SVN: r279298
|
|
2019-12-12 Justin Squirek <squirek@adacore.com>
gcc/ada/
* sem_ch4.adb (Analyze_One_Call): Add condition to check for
incorrectly resolved hidden controlled primitives.
From-SVN: r279297
|
|
2019-12-12 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* sem_res.adb: Fix processing of standard predefined operators.
From-SVN: r279296
|
|
2019-12-12 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* libgnarl/a-dispat.ads (Yield): Update Global contract.
From-SVN: r279295
|
|
2019-12-12 Piotr Trojanek <trojanek@adacore.com>
gcc/ada/
* libgnat/g-altive.ads: Fix typo in comment.
* bindo-graphs.adb: Fix repeated words in comment.
* exp_ch4.adb: Likewise.
* exp_ch5.adb: Likewise.
* exp_ch7.adb: Likewise.
* exp_pakd.adb: Likewise.
* exp_unst.adb: Likewise.
* exp_util.adb: Likewise.
* freeze.adb: Likewise.
* inline.adb: Likewise.
* layout.adb: Likewise.
* sem_ch12.adb: Likewise.
* sem_ch13.adb: Likewise.
* sem_ch4.adb: Likewise.
* sem_ch9.adb: Likewise.
* sem_elab.adb: Likewise.
* doc/gnat_ugn/gnat_and_program_execution.rst: Fix repeated
words in user documentation.
* gnat_ugn.texi: Regenerate.
From-SVN: r279294
|
|
2019-12-12 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* exp_attr.adb (Expand_Size_Attribute): Look directly at the
prefix to detect the bit-packed slices. Apply the checks last
in case the attribute needs to be processed by the back-end.
* exp_ch4.adb (Expand_N_Slice): Do not create a temporary for
a prefix of the Size attribute.
From-SVN: r279293
|