1. 13 Dec, 2019 17 commits
    • [Ada] Crash on inherited private operation in child package · 7f8ad8f0
      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
    • [Ada] Avoid spurious errors on Global/Depends in instantiations · 0a8ff576
      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
    • [Ada] Prevent inlining inside condition of while loop in GNATprove · 2e3795d0
      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
    • [Ada] Ada2020: Update Impunit for Ada 202X · e841d4d8
      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
    • [Ada] Rtsfind: minor comment fixes · 90366d65
      2019-12-13  Bob Duff  <duff@adacore.com>
      
      gcc/ada/
      
      	* rtsfind.ads: Minor comment fix.
      
      From-SVN: r279345
      Bob Duff committed
    • [Ada] Up-level addressing problems with private tasks and selective accept procs · 563be3ee
      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
    • [Ada] Add Ada.Containers.Vectors.Generic_Parallel_Sorting to known units · 9ea2a24d
      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
    • [Ada] Missing accessibility checks on conditionals · 8daf00dd
      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
    • [Ada] Implement AI12-0101 · d7c37f45
      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
    • [Ada] Spurious error on overriding controlled primitive · 08f4f172
      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
    • [Ada] New flag to indicate whether aspect appears on partial view · b622076c
      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
    • Add C testcases for PR 86659 · db0aa34f
      
      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 – clean-up public/private attributes · 7858bb96
              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
    • [rs6000] Adjust vectorization cost for scalar COND_EXPR · 396c2a98
      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
    • PR c++/92496 - ICE with <=> and no #include <compare>. · a1af2dd9
      	* typeck.c (cp_build_binary_op): Handle error from spaceship_type.
      
      From-SVN: r279331
      Jason Merrill committed
    • Daily bump. · 0fec7ca1
      From-SVN: r279330
      GCC Administrator committed
    • re PR target/92904 (varargs for __int128 is placed at an unaligned location and… · 46f3e52e
      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
  2. 12 Dec, 2019 23 commits