1. 16 Jul, 2018 40 commits
    • [Ada] Unnesting: handle the semantic of Storage_Pool field · fa42563a
      2018-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* exp_unst.adb (Visit_Node): Handle the semantic of Storage_Pool field
      	in relevant nodes: Allocate, Free, and return statements.
      
      From-SVN: r262725
      Ed Schonberg committed
    • [Ada] Fix Default_Storage_Pool aspect handling in generic instantiations · dbe5b438
      2018-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* sem_ch12.adb (Analyze_Package_Instantiation): Handle properly an
      	instance that carries an aspect Default_Storage_Pool that overrides a
      	default storage pool that applies to the generic unit. The aspect in
      	the generic unit was removed before copying it in the instance, rather
      	than removing it from the copy of the aspects that are appended to the
      	aspects in the instance.
      
      From-SVN: r262724
      Ed Schonberg committed
    • [Ada] Major code cleanup · ccc2a613
      2018-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* einfo.adb (Set_Is_Uplevel_Referenced_Entity): Flag can appear on
      	loop parameters.
      	* exp_ch7.adb (Check_Unnesting_Elaboration_Code): Handle subprogram
      	bodies.
      	* exp_ch9.adb (Reset_Scopes_To): Set the scopes of entities local to an
      	entry body to be the corresponding generated subprogram, for correct
      	analysis of uplevel references.
      	* exp_unst.adb (Visit_Node): Handle properly binary and unary operators
      	Ignore pragmas, fix component associations.
      	(Register_Subprograms): Subprograms in synchronized types must be
      	treated as reachable.
      
      From-SVN: r262723
      Ed Schonberg committed
    • [Ada] Spurious error with null Abstract_State · 93bc357b
      This patch corrects the mechanism which ensures that a package with a null
      Abstract_State does not introduce hidden state, by ignoring internal states
      and variables because they do not represent the "source" hidden state.
      
      2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* sem_util.adb (Check_No_Hidden_State): Ignore internally-generated
      	states and variables.
      
      gcc/testsuite/
      
      	* gnat.dg/abstract_state1.adb, gnat.dg/abstract_state1.ads: New
      	testcase.
      
      From-SVN: r262722
      Hristian Kirtchev committed
    • [Ada] Deconstruct unused Withed_Body filed of N_With_Clause node · 7da8b07f
      The Withed_Body field was added to N_With_Clause node to help the
      Walk_Library_Items routine, which was created for the CodePeer backend
      and later adopted by the GNATprove.
      
      This routine is meant to traverse all library units, such that declarations
      are visited before references. However, for complex units (in particular,
      with generics and child packages) it never worked reliably and backends
      developed their own workarounds. This patch deconstructs the field, as it
      hasn't been used for years.
      
      Semantics unaffected; no test provided.
      
      2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sinfo.ads, sinfo.adb (Withed_Body): Remove.
      	(Set_Withed_Body): Remove.
      
      From-SVN: r262721
      Piotr Trojanek committed
    • [Ada] Avoid crash when traversing units with -gnatd.WW debug switch · 1d6c2060
      The debug switch -gnatd.WW enables extra info when traversing library units
      with Walk_Library_Items, which is used in the CodePeer and GNATprove. This
      routine was crashing when trying to print info about a unit with configuration
      pragmas (typically an .adc file). Now fixed.
      
      No test, as the crash only happens when a GNATprove backend is manually called
      with -gnatd.WW switch. Frontend is not affected.
      
      2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sem.adb (Walk_Library_Items): Skip units with configuration pragmas
      	when printing debug info.
      
      From-SVN: r262720
      Piotr Trojanek committed
    • [Ada] Trivial simplifications in in Walk_Library_Items · bf6ff5e5
      Cleanup only; semantics unaffected.
      
      2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sem.adb (Walk_Library_Items): Reuse local constant.
      	(Is_Subunit_Of_Main): Turn condition to positive and flip the
      	IF-THEN-ELSE branches; avoid potentially ineffective assignment to the
      	Lib variable.
      
      From-SVN: r262719
      Piotr Trojanek committed
    • [Ada] Deconstruct always-false calls to Withed_Body in Walk_Library_Items · feb7f36c
      We previously removed the calls to Set_Withed_Body; this commit deconstructs
      calls to Withed_Body, which always returned False.
      
      The Set_Withed_Body/Withed_Body were helping the Walk_Library_Items routine
      traverse the AST of several compilation units such that declarations are
      visited before references. However, this never worked as it should and there is
      no point to keep the code more complicated than necessary.
      
      No test provided, because thie removed code was ineffective (and only used in
      the non-compiler backends, i.e. CodePeer and GNATprove).
      
      2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sem.adb (Walk_Library_Items): Deconstruct dead code.
      
      From-SVN: r262718
      Piotr Trojanek committed
    • [Ada] Use common routine Expand_Nonbinary_Modular_Op for XOR expressions · 9cd7bc5e
      2018-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* exp_ch4.adb (Expand_N_Op_Xor): Use common routine
      	Expand_Nonbinary_Modular_Op.  Needed for unnesting.
      
      From-SVN: r262717
      Ed Schonberg committed
    • [Ada] Add a missing check for trivial predicates on non-discrete types · d2b73a3e
      2018-07-16  Ed Schonberg  <schonberg@adacore.com>
      
      gcc/ada/
      
      	* sem_ch3.adb (Inherit_Predicate_Flags): A non-discrete type may have a
      	static predicate (for example True) but has no
      	static_discrete_predicate.
      
      From-SVN: r262716
      Ed Schonberg committed
    • [Ada] Crash on Indefinite_Hashed_Maps with -gnata -gnateV · f2f9cdad
      This patch corrects the generation of helper functions which verify the
      validity of record type scalar discriminants and scalar components when
      switches -gnata (assertions enabled) and -gnateV (validity checks on
      subprogram parameters) are in effect.
      
      2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* exp_attr.adb (Build_Record_VS_Func): Handle corner cases dealing with
      	class-wide types and record extensions.
      
      gcc/testsuite/
      
      	* gnat.dg/validity_check3.adb, gnat.dg/validity_check3.ads: New
      	testcase.
      
      From-SVN: r262715
      Hristian Kirtchev committed
    • [Ada] Spurious possible contraint error warning with No_Exception_Propagation · 721500ab
      This patch corrects an issue whereby spurious unhandled exception warnings on
      integer literals within static if and case expressions would be emitted when
      the restriction No_Exception_Propagation is enabled.
      
      ------------
      -- Source --
      ------------
      
      --  gnat.adc
      
      pragma Restrictions (No_Exception_Propagation);
      pragma SPARK_Mode (On);
      
      --  pack.ads
      
      package Pack is
         procedure Filter (Ret : out Integer);
      end Pack;
      
      --  pack.adb
      
      package body Pack is
      
         subtype Nat is Integer range 0 .. 10;
      
         Default       : constant Nat := 1;
         User_Override : constant Integer := -1;
      
         procedure Filter (Ret : out Integer) is
            Val : constant Nat :=
                    (if User_Override in Nat then
                        User_Override
                     else
                        Default);
         begin
            Ret := Val;
         end Filter;
      end Pack;
      
      ----------------------------
      -- Compilation and output --
      ----------------------------
      
      & gcc -c -gnatp -gnatwa pack.adb
      
      2018-07-16  Justin Squirek  <squirek@adacore.com>
      
      gcc/ada/
      
      	* sem_eval.adb (Eval_Integer_Literal): Add exception for avoiding
      	checks on expanded literals within if and case expressions.
      
      From-SVN: r262714
      Justin Squirek committed
    • [Ada] Segmentation_Fault with Integer'Wide_Wide_Value · 3c820aca
      This patch updates the routines which produce Wide_String and Wide_Wide_String
      from a String to construct a result of the proper maximum size which is later
      sliced.
      
      2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* libgnat/s-wchwts.adb (Wide_String_To_String): Use the appropriate
      	longest sequence factor. Code clean up.
      	(Wide_Wide_String_To_String): Use the appropriate longest sequence
      	factor.  Code clean up.
      
      gcc/testsuite/
      
      	* gnat.dg/wide_wide_value1.adb: New testcase.
      
      From-SVN: r262713
      Hristian Kirtchev committed
    • [Ada] Bit_Order cannot be defined for record extensions · 2588c36c
      This patch allows the compiler to report an error on Bit_Order when
      defined for a record extension.
      
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Report an error
      	on Bit_Order when defined for a record extension.
      
      gcc/testsuite/
      
      	* gnat.dg/bit_order1.adb: New testcase.
      
      From-SVN: r262712
      Javier Miranda committed
    • [Ada] System.Object_Reader: minor code clean-up · d7925fd3
      2018-07-16  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* libgnat/s-objrea.ads: Minor code clean up.
      
      From-SVN: r262711
      Arnaud Charlet committed
    • [Ada] Adjust reference to renumbered SPARK RM rule · 94b10561
      Rules in SPARK RM 7.1.3 were renumbered when adding support for tasking,
      but references in the comments were not updated. Now fixed.
      
      2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
      
      gcc/ada/
      
      	* sem_ch3.adb (Process_Discriminants): Adjust reference to the SPARM RM
      	rule.
      
      From-SVN: r262710
      Piotr Trojanek committed
    • [Ada] adaint.c: minor code cleanup · 192d0b15
      2018-07-16  Arnaud Charlet  <charlet@adacore.com>
      
      gcc/ada/
      
      	* adaint.c (__gnat_set_file_time_name): Code clean up.
      
      From-SVN: r262709
      Arnaud Charlet committed
    • [Ada] Code cleanup on functions inlining · 3ac5f7de
      This patch is preventive: it improves checks on inline functions that
      return unconstrained type. It does not change the functionality of
      the compiler.
      
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* inline.adb (Build_Body_To_Inline): Minor code reorganization that
      	ensures that calls to function Has_Single_Return() pass a decorated
      	tree.
      	(Has_Single_Return.Check_Return): Peform checks on entities (instead on
      	relying on their characters).
      
      From-SVN: r262708
      Javier Miranda committed
    • [Ada] Crash processing sources under GNATprove debug mode · a3b7645b
      Processing sources under -gnatd.F the frontend may crash on
      an iterator of the form 'for X of ...' over an array if the
      iterator is located in an inlined subprogram.
      
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Code cleanup. Required
      	to avoid generating an ill-formed tree that confuses gnatprove causing
      	it to blowup.
      
      gcc/testsuite/
      
      	* gnat.dg/iter2.adb, gnat.dg/iter2.ads: New testcase.
      
      From-SVN: r262707
      Javier Miranda committed
    • [Ada] Inline: rewrap comment · c4ea2978
      2018-07-16  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* inline.adb (Has_Single_Return): Rewrap comment.
      
      From-SVN: r262706
      Yannick Moy committed
    • [Ada] Einfo: minor tweak in comment · 3e752e1f
      2018-07-16  Eric Botcazou  <ebotcazou@adacore.com>
      
      gcc/ada/
      
      	* einfo.ads: Minor tweak in comment.
      
      From-SVN: r262705
      Eric Botcazou committed
    • [Ada] Sem_Ch4: minor code cleanup · 9f46106a
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* sem_ch4.adb (Analyze_Membership_Op): Code cleanup.
      
      From-SVN: r262704
      Javier Miranda committed
    • [Ada] Fix expansion of 'Count in protected types · 97710dc7
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* exp_attr.adb (Expand_N_Attribute_Reference ['Count]): Do not
      	transform 'Count into a function call if the current scope has been
      	eliminated.
      
      From-SVN: r262703
      Javier Miranda committed
    • [Ada] Sem_Utils: make Has_Prefix public · 4bde5d8c
      2018-07-16  Javier Miranda  <miranda@adacore.com>
      
      gcc/ada/
      
      	* sem_util.ads, sem_util.adb (Has_Prefix): Move this function to the
      	public part of this package.
      
      From-SVN: r262702
      Javier Miranda committed
    • [Ada] Adjust inlining in GNATprove mode for predicate/invariant/DIC · ffafd2ab
      The frontend generates special functions for checking subtype predicates,
      type invariants and Default_Initial_Condition aspect. These are translated
      as predicates in GNATprove, and as such should no call inside these
      functions should be inlined. This is similar to the existing handling of
      calls inside expression functions.
      
      There is no impact on compilation.
      
      2018-07-16  Yannick Moy  <moy@adacore.com>
      
      gcc/ada/
      
      	* sem_res.adb (Resolve_Call): Do not inline calls inside
      	compiler-generated functions translated as predicates in GNATprove.
      
      From-SVN: r262701
      Yannick Moy committed
    • [Ada] Violation of No_Standard_Allocators_After_Elaboration not detected · b3181992
      The compiler fails to generate a call to detect allocators executed after
      elaboration in cases where the allocator is associated with Global_Pool_Object.
      The fix is to test for this associated storage pool as part of the condition
      for generating a call to System.Elaboration_Allocators.Check_Standard_Alloctor.
      Also, the exception Storage_Error is now generated instead of Program_Error
      for such a run-time violation, as required by the Ada RM in D.7.
      
      The following test must compile and execute quietly:
      
      -- Put the pragma in gnat.adc:
      pragma Restrictions (No_Standard_Allocators_After_Elaboration);
      
      package Pkg_With_Allocators is
      
         type Priv is private;
      
         procedure Allocate
           (Use_Global_Allocator : Boolean;
            During_Elaboration   : Boolean);
      
      private
      
         type Rec is record
            Int : Integer;
         end record;
      
         type Priv is access Rec;
      
      end Pkg_With_Allocators;
      
      package body Pkg_With_Allocators is
      
         Ptr : Priv;
      
         procedure Allocate
           (Use_Global_Allocator : Boolean;
            During_Elaboration   : Boolean)
         is
            type Local_Acc is access Rec;
      
            Local_Ptr : Local_Acc;
      
         begin
            if Use_Global_Allocator then
               Ptr := new Rec;  -- Raise Storage_Error if after elaboration
               Ptr.Int := 1;
            else
               Local_Ptr := new Rec;  -- Raise Storage_Error if after elaboration
               Local_Ptr.Int := 1;
            end if;
      
            if not During_Elaboration then
               raise Program_Error;  -- No earlier exception: FAIL
            end if;
      
         exception
            when Storage_Error =>
               if During_Elaboration then
                  raise Program_Error;  -- No exception expected: FAIL
               else
                  null;                 -- Expected Storage_Error: PASS
               end if;
            when others =>
               raise Program_Error;  -- Unexpected exception: FAIL
         end Allocate;
      
      begin
         Allocate (Use_Global_Allocator => True, During_Elaboration => True);
      
         Allocate (Use_Global_Allocator => False, During_Elaboration => True);
      end Pkg_With_Allocators;
      
      with Pkg_With_Allocators;
      
      procedure Alloc_Restriction_Main is
      begin
         Pkg_With_Allocators.Allocate
           (Use_Global_Allocator => True,
            During_Elaboration   => False);
      
         Pkg_With_Allocators.Allocate
           (Use_Global_Allocator => False,
            During_Elaboration   => False);
      end Alloc_Restriction_Main;
      
      2018-07-16  Gary Dismukes  <dismukes@adacore.com>
      
      gcc/ada/
      
      	* exp_ch4.adb (Expand_N_Allocator): Test for Storage_Pool being RTE in
      	addition to the existing test for no Storage_Pool as a condition
      	enabling generation of the call to Check_Standard_Allocator when the
      	restriction No_Standard_Allocators_After_Elaboration is active.
      	* libgnat/s-elaall.ads (Check_Standard_Allocator): Correct comment to
      	say that Storage_Error will be raised (rather than Program_Error).
      	* libgnat/s-elaall.adb (Check_Standard_Allocator): Raise Storage_Error
      	rather than Program_Error when Elaboration_In_Progress is False.
      
      From-SVN: r262700
      Gary Dismukes committed
    • [Ada] Fix spelling for compile-time-known · d3bbfc59
      2018-07-16  Gary Dismukes  <dismukes@adacore.com>
      
      gcc/ada/
      
      	* sem_eval.adb: Fix spelling for compile-time-known.
      
      From-SVN: r262699
      Gary Dismukes committed
    • [Ada] Illegal deferred constant causes stack overflow · 705bcbfe
      This patch prevents the compiler from entering infinite recursion when
      processing an illegal deferred constant.
      
      ------------
      -- Source --
      ------------
      
      --  types.ads
      
      package Types is
         type Enum is (One, Two);
      end Types;
      
      --  types2.ads
      
      with Types;
      
      package Types2 is
         type Enum is private;
         One : constant Enum;
         Two : constant Enum;
      
      private
         type Enum is new Types.Enum;
         One : constant Enum := One;
         Two : constant Enum := Two;
      
      end Types2;
      
      ----------------------------
      -- Compilation and output --
      ----------------------------
      
      $ gcc -c types2.ads
      types2.ads:10:04: full constant declaration appears too late
      types2.ads:11:04: full constant declaration appears too late
      
      2018-07-16  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* sem_eval.adb (Compile_Time_Known_Value): Add a guard which prevents
      	the compiler from entering infinite recursion when trying to determine
      	whether a deferred constant has a compile time known value, and the
      	initialization expression of the constant is a reference to the
      	constant itself.
      
      From-SVN: r262698
      Hristian Kirtchev committed
    • [Ada] Adjust growth factor from 1/32 to 1/2 for Unbounded_String · e05a1ce7
      This will reduce significantly the number of allocations done when
      doing consecutive append operations.
      
      2018-07-16  Nicolas Roche  <roche@adacore.com>
      
      gcc/ada/
      
      	* libgnat/a-strunb.adb, libgnat/a-strunb__shared.adb: Adjust growth
      	factor from 1/32 to 1/2 for Unbounded_String.
      
      From-SVN: r262697
      Nicolas Roche committed
    • re PR debug/86523 (ICE in gen_member_die, at dwarf2out.c:24933 starting from r262560) · 0150d9a1
      2018-07-16  Richard Biener  <rguenther@suse.de>
      
      	PR lto/86523
      	* dwarf2out.c (dwarf2out_register_external_die): Assign DIE parents
      	for function-local FUNCTION_DECL and RESULT_DECL immediately.
      
      	* g++.dg/lto/pr86523-1_0.C: New testcase.
      	* g++.dg/lto/pr86523-2_0.C: Likewise.
      
      From-SVN: r262696
      Richard Biener committed
    • Revert one more symbol_summary::get to ::get_create (PR ipa/86529). · c4d0acf8
      2018-07-16  Martin Liska  <mliska@suse.cz>
      
              PR ipa/86529
      	* ipa-pure-const.c (malloc_candidate_p): Revert ::get
              to ::get_create.
      2018-07-16  Martin Liska  <mliska@suse.cz>
      
              PR ipa/86529
      	* g++.dg/ipa/pr86529.C: New test.
      
      From-SVN: r262695
      Martin Liska committed
    • [ARC] Update ARCHS scheduling rules. · 325a4c6e
      2017-07-16  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arcHS.md: Update ARCHS scheduling rules.
      
      From-SVN: r262689
      Claudiu Zissulescu committed
    • [ARC] Add support for HS4x cpus. · 43bb0fc2
      gcc/
      2017-03-10  Claudiu Zissulescu  <claziss@synopsys.com>
      
              * config/arc/arc-arch.h (arc_tune_attr): Add new tune parameters
              for ARCHS4x.
              * config/arc/arc-cpus.def (hs4x): New cpu.
              (hs4xd): Likewise.
              * config/arc/arc-tables.opt: Regenerate.
              * config/arc/arc.c (arc_sched_issue_rate): New function.
              (TARGET_SCHED_ISSUE_RATE): Define.
              (TARGET_SCHED_EXPOSED_PIPELINE): Likewise.
              * config/arc/arc.md (attr type): Add fpu_fuse, fpu_sdiv, fpu_ddiv,
              fpu_cvt.
              (attr tune): Add ARCHS4x tune values.
              (attr tune_dspmpy): Define.
              (*tst): Correct instruction type.
              * config/arc/arcHS.md: Don't use this automaton for ARCHS4x cpus.
              * config/arc/arcHS4x.md: New file.
              * config/arc/fpu.md: Update instruction type attributes.
              * config/arc/t-multilib: Regenerate.
      
      From-SVN: r262688
      Claudiu Zissulescu committed
    • [debug] Fix pre_dec handling in vartrack · 8c0e07e3
      When compiling test-case gcc.target/i386/vartrack-1.c with -O1 -g, register bx
      is pushed in the prologue and popped in the epilogue:
      ...
      (insn/f 26 3 27 2
        (set (mem:DI (pre_dec:DI (reg/f:DI 7 sp)) [0  S8 A8])
             (reg:DI 3 bx))
         "vartrack-1.c":10 61 {*pushdi2_rex64}
         (expr_list:REG_DEAD (reg:DI 3 bx) (nil)))
        ...
      (insn/f 29 28 30 2
        (set (reg:DI 3 bx)
             (mem:DI (post_inc:DI (reg/f:DI 7 sp)) [0  S8 A8]))
         "vartrack-1.c":15 71 {*popdi1}
         (expr_list:REG_CFA_ADJUST_CFA
           (set (reg/f:DI 7 sp)
                (plus:DI (reg/f:DI 7 sp)
                         (const_int 8 [0x8]))) (nil)))
      ...
      
      However, when we adjust those insns in vartrack to eliminate the pre_dec and
      post_inc, the frame location for the push is at argp - 24, while the one for the
      pop is at argp - 16:
      ...
      (insn/f 26 3 27 2
        (parallel [
          (set (mem:DI (plus:DI (reg/f:DI 16 argp)
                                (const_int -24 [0xffffffffffffffe8])) [0  S8 A8])
               (reg:DI 3 bx))
          (set (reg/f:DI 7 sp)
               (plus:DI (reg/f:DI 16 argp)
                        (const_int -24 [0xffffffffffffffe8])))
        ])
        "vartrack-1.c":10 61 {*pushdi2_rex64}
        (expr_list:REG_DEAD (reg:DI 3 bx) (nil)))
        ...
      (insn/f 29 28 30 2
        (parallel [
          (set (reg:DI 3 bx)
               (mem:DI (plus:DI (reg/f:DI 16 argp)
                                (const_int -16 [0xfffffffffffffff0])) [0  S8 A8]))
          (set (reg/f:DI 7 sp)
               (plus:DI (reg/f:DI 16 argp)
                        (const_int -8 [0xfffffffffffffff8])))
        ])
        "vartrack-1.c":15 71 {*popdi1}
        (expr_list:REG_CFA_ADJUST_CFA
          (set (reg/f:DI 7 sp)
               (plus:DI (reg/f:DI 7 sp)
                        (const_int 8 [0x8]))) (nil)))
      ...
      
      This patch fixes that by moving the stack_adjust modification after
      adjust_insn in vt_initialize.
      
      Bootstrapped and reg-tested on x86_64.
      
      2018-07-16  Tom de Vries  <tdevries@suse.de>
      
      	PR debug/86455
      	* var-tracking.c (vt_initialize): Fix pre_dec handling.
      
      	* gcc.target/i386/vartrack-1.c: New test.
      
      From-SVN: r262687
      Tom de Vries committed
    • re PR tree-optimization/86514 (wrong manipulation of 2-dimensional packed array at -O) · 5e5ef52c
      	PR tree-optimization/86514
      	* tree-ssa-reassoc.c (init_range_entry) <CASE_CONVERT>: Return for a
      	conversion to a boolean type from a type with greater precision.
      
      From-SVN: r262684
      Eric Botcazou committed
    • Adjust email addresses. · f030b30e
      2018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* MAINTAINERS: Adjust email address for me and my colleague Robin
      	Dapp.
      
      From-SVN: r262683
      Andreas Krebbel committed
    • S/390: libstdc++: 64 and 32 bit baseline update · 9c588dbe
      libstdc++-v3/ChangeLog:
      
      2018-07-16  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
      	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
      	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r262681
      Andreas Krebbel committed
    • [vartrack] Print adjusted insn slim if TDF_SLIM · 95b855df
      2018-07-16  Tom de Vries  <tdevries@suse.de>
      
      	* var-tracking.c (vt_initialize): Print adjusted insn slim if
      	dump_flags request TDF_SLIM.
      
      From-SVN: r262680
      Tom de Vries committed
    • re PR c++/3698 (improper handling of an extern declared inline function) · 9e51f66f
      	PR c++/3698
      	PR c++/86208
      	* cp-gimplify.c (cp_genericize_r): When using extern_decl_map, or
      	in TREE_USED flag from stmt to h->to.
      
      	* g++.dg/opt/pr3698.C: New test.
      
      From-SVN: r262678
      Jakub Jelinek committed