- 13 Dec, 2019 35 commits
-
-
2019-12-13 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * exp_unst.adb (Unnest_Subprogram): Account for trees produced by Annex E constructs. From-SVN: r279367
Arnaud Charlet committed -
2019-12-13 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * doc/gnat_rm/implementation_defined_pragmas.rst: Update Initialize_Scalars documentation. * gnat_rm.texi: Regenerate. From-SVN: r279366
Ghjuvan Lacambre committed -
2019-12-13 Javier Miranda <miranda@adacore.com> gcc/ada/ * sem_ch13.adb (Analyze_Aspect_Specification): Processing a precondition, if the expression is of the form A and then B, do not generate separate Pre/Post aspects for the separate clases when we are processing a generic unit. Required to avoid reporting spurious visibility errors on the instantiations. From-SVN: r279365
Javier Miranda committed -
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
Eric Botcazou committed -
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
Eric Botcazou committed -
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
Arnaud Charlet committed -
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
Javier Miranda committed -
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
Javier Miranda committed -
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
Yannick Moy committed -
2019-12-13 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * exp_aggr.adb, exp_unst.adb: Minor fix typo in comment. From-SVN: r279358
Piotr Trojanek committed -
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
Steve Baird committed -
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
Javier Miranda committed -
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
Steve Baird committed -
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
Eric Botcazou committed -
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
Gary Dismukes committed -
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
Ed Schonberg committed -
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
Javier Miranda committed -
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
Bob Duff committed -
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
Ed Schonberg committed -
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
Yannick Moy committed -
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
Yannick Moy committed -
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
Bob Duff committed -
2019-12-13 Bob Duff <duff@adacore.com> gcc/ada/ * rtsfind.ads: Minor comment fix. From-SVN: r279345
Bob Duff committed -
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
Gary Dismukes committed -
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
Arnaud Charlet committed -
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
Justin Squirek committed -
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
Steve Baird committed -
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
Justin Squirek committed -
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
Ed Schonberg committed -
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
Andrew Pinski committed -
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
Tobias Burnus committed -
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
Kewen Lin committed -
* typeck.c (cp_build_binary_op): Handle error from spaceship_type. From-SVN: r279331
Jason Merrill committed -
From-SVN: r279330
GCC Administrator committed -
re PR target/92904 (varargs for __int128 is placed at an unaligned location 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
Jakub Jelinek committed
-
- 12 Dec, 2019 5 commits
-
-
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
Harald Anlauf committed -
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
Sudakshina Das committed -
* 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
Georg-Johann Lay committed -
* 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
Jonathan Wakely committed -
ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering of execution of function call parameters. * ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering of execution of function call parameters. From-SVN: r279306
Jan Hubicka committed
-