1. 11 Dec, 2018 13 commits
    • [Ada] Document the -fgnat-encodings switch · 15bdffc4
      2018-12-11  Pierre-Marie de Rodat  <derodat@adacore.com>
      
      gcc/ada/
      
      	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
      	Document the -fgnat-encodings switch.
      	* gnat_ugn.texi: Regenerate.
      
      From-SVN: r266979
      Pierre-Marie de Rodat committed
    • [Ada] Crash on nesting of subunits with bodies acting as specs · ad974123
      This patch corrects an issue whereby a set of nested subunits including
      subprogram subunits acting as bodies would cause a crash when a child
      subunit "withs" an ansestor in certain instances due to a mismanagment
      of the scope stack.
      
      ------------
      -- Source --
      ------------
      
      --  w.ads
      
      package W is
      end;
      
      --  w-b.ads
      
      package W.B is
        pragma Elaborate_Body;
      end;
      
      --  w-b.adb
      
      with W.B.C;
      
      package body w.B is end;
      
      --  w-b-c.adb
      
      with W;
      procedure W.B.C is
        package D is
          procedure E;
        end;
        package body D is separate;
      begin
        null;
      end;
      
      --  w-b-c-d.adb
      
      separate (W.B.C)
      package body D is
        procedure E is separate;
      end;
      
      --  w-b-c-d-e.adb
      
      with W;
      
      separate (W.B.C.D)
      procedure E is
      begin
        null;
      end;
      
      -----------------
      -- Compilation --
      -----------------
      
      $ gnatmake -q w-b.adb
      
      2018-12-11  Justin Squirek  <squirek@adacore.com>
      
      gcc/ada/
      
      	* sem_ch10.adb (Analyze_Subunit): Modify conditional to fully
      	remove parent contexts from library-level subprogram bodies in
      	addition to package bodies.
      
      From-SVN: r266978
      Justin Squirek committed
    • [Ada] Suppress call to Initial_Condition when the annotation is ignored · 30377799
      This patch suppresses the generation of the Initial_Condition procedure
      tasked with verifying the run-time semantics of the pragma when the
      pragma is ignored by means of -gnata, pragma Assertion_Policy, etc.
      
      ------------
      -- Source --
      ------------
      
      --  all_asserts_off.adc
      
      pragma Assertion_Policy (Ignore);
      
      --  all_asserts_on.adc
      
      pragma Assertion_Policy (Check);
      
      --  ic_off.adc
      
      pragma Assertion_Policy (Initial_Condition => Ignore);
      
      --  ic_on.adc
      
      pragma Assertion_Policy (Initial_Condition => Check);
      
      --  init_cond.ads
      
      package Init_Cond
        with SPARK_Mode,
             Initial_Condition => Flag = False
      is
         Flag : Boolean := True;
      
         procedure Set_Flag;
      end Init_Cond;
      
      --  init_cond.adb
      
      package body Init_Cond
        with SPARK_Mode
      is
         procedure Set_Flag is
         begin
            Flag := True;
         end Set_Flag;
      end Init_Cond;
      
      ----------------------------
      -- Compilation and output --
      ----------------------------
      
      & gcc  -c -S -gnatDG init_cond.adb -gnatec=all_asserts_on.adc
      & grep -c "Initial_Condition;" init_cond.adb.dg
      & grep -c "_elabb" init_cond.s
      & gcc  -c -S -gnatDG init_cond.adb -gnatec=ic_on.adc
      & grep -c "Initial_Condition;" init_cond.adb.dg
      & grep -c "_elabb" init_cond.s
      & gcc  -c -S -gnatDG init_cond.adb -gnatec=all_asserts_off.adc
      & grep -c "Initial_Condition;" init_cond.adb.dg
      & grep -c "_elabb" init_cond.s
      & gcc  -c -S -gnatDG init_cond.adb -gnatec=ic_off.adc
      & grep -c "Initial_Condition;" init_cond.adb.dg
      & grep -c "_elabb" init_cond.s
      2
      4
      2
      4
      0
      0
      0
      0
      
      2018-12-11  Hristian Kirtchev  <kirtchev@adacore.com>
      
      gcc/ada/
      
      	* exp_prag.adb (Expand_Pragma_Initial_Condition): Do not
      	generate an Initial_Condition procedure and a call to it when
      	the associated pragma is ignored.
      	* sem_ch10.adb (Analyze_Compilation_Unit): Minor cleanup.
      
      From-SVN: r266977
      Hristian Kirtchev committed
    • [Ada] Almost always inline init. procedure of small and simple records · 13a6dfe3
      2018-12-11  Eric Botcazou  <ebotcazou@adacore.com>
      
      gcc/ada/
      
      	* fe.h (Debug_Generated_Code): Declare.
      	* gcc-interface/gigi.h (enum inline_status_t): Rename
      	is_disabled to is_default, is_enabled to is_requested and add
      	is_prescribed.
      	* gcc-interface/decl.c (inline_status_for_subprog): New function.
      	(gnat_to_gnu_entity) <E_Subprogram_Type>: Use it to get the
      	inlining status of the subprogram.
      	* gcc-interface/trans.c (gigi): Adjust to above renaming.
      	(build_raise_check): Likewise.
      	(Compilation_Unit_to_gnu): Likewise.
      	(gnat_to_gnu): Likewise.
      	* gcc-interface/utils.c (create_subprog_decl): Likewise.  Deal
      	with is_prescribed status by setting
      	DECL_DISREGARD_INLINE_LIMITS.  Do not set the
      	DECL_NO_INLINE_WARNING_P flag if Debug_Generated_Code is true.
      
      From-SVN: r266976
      Eric Botcazou committed
    • ccmp.c (ccmp_candidate_p): Use GIMPLE API properly. · d6a73cc3
      2018-12-11  Richard Biener  <rguenther@suse.de>
      
      	* ccmp.c (ccmp_candidate_p): Use GIMPLE API properly.
      
      From-SVN: r266975
      Richard Biener committed
    • re PR lto/86004 (Several lto test cases begin failing with r260963) · c7e8e26e
      	PR lto/86004
      	* doc/sourcebuild.texi (lto_incremental): Document new effective
      	target.
      
      	* lib/target-supports.exp (check_effective_target_lto_incremental):
      	New.
      	* g++.dg/lto/pr69137_0.C: Require lto_incremental effective target.
      	* g++.dg/lto/pr65316_0.C: Likewise.
      	* g++.dg/lto/pr85176_0.C: Likewise.
      	* g++.dg/lto/pr79000_0.C: Likewise.
      	* g++.dg/lto/pr66180_0.C: Likewise.
      	* g++.dg/lto/pr65193_0.C: Likewise.
      	* g++.dg/lto/pr69077_0.C: Likewise.
      	* g++.dg/lto/pr68057_0.C: Likewise.
      	* g++.dg/lto/pr66705_0.C: Likewise.
      	* g++.dg/lto/pr65302_0.C: Likewise.
      	* g++.dg/lto/20091002-1_0.C: Likewise.
      	* g++.dg/lto/pr81940_0.C: Likewise.
      	* g++.dg/lto/pr64043_0.C: Likewise.
      	* g++.dg/lto/pr65549_0.C: Likewise.
      	* g++.dg/lto/pr69133_0.C: Likewise.
      	* gfortran.dg/lto/pr79108_0.f90: Likewise.
      
      From-SVN: r266974
      Jakub Jelinek committed
    • rs6000: Don't use rs6000_isa_flags_explicit for soft float tests (PR88145) · b900470b
      ...specifically, those for builtins.  Soft float can be enabled
      implicitly, too (for certain CPUs for example).  We should use
      rs6000_isa_flags instead, to decide whether to expand a builtin or
      to bail out with an error instead.
      
      
      	PR target/88145
      	* config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): Use
      	rs6000_isa_flags instead of rs6000_isa_flags_explicit to decide
      	whether soft float is enabled.
      	(rs6000_expand_mtfsb_builtin): Ditto.
      	(rs6000_expand_set_fpscr_rn_builtin): Ditto.
      	(rs6000_expand_set_fpscr_drn_builtin): Ditto.
      
      From-SVN: r266973
      Segher Boessenkool committed
    • re PR c/88430 (-Wmissing-attributes warnings when including libquadmath headers) · 3b14d7fa
      	PR c/88430
      	* quadmath_weak.h (__qmath2): Add __quadmath_throw.
      
      From-SVN: r266972
      Jakub Jelinek committed
    • re PR tree-optimization/80520 (Performance regression from missing if-conversion) · 7b1ff601
      	PR tree-optimization/80520
      	* gimple-ssa-split-paths.c (is_feasible_trace): Recognize half
      	diamonds that are likely if convertable.
      
      	* gcc.dg/tree-ssa/split-path-5.c: Update expected output.
      	* gcc.dg/tree-ssa/split-path-11.c: New test.
      
      From-SVN: r266971
      Jeff Law committed
    • documentation_hacking.xml: Update reference to epubcheck. · 72cfde41
      	* doc/xml/manual/documentation_hacking.xml: Update reference
      	to epubcheck.
      
      From-SVN: r266970
      Gerald Pfeifer committed
    • 2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> · 87550b74
      	PR fortran/97922
      	* io.c (gfc_match_open): Additional checks on ASYNCHRONOUS.
      
      2018-12-10  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/97922
      	* gfortran.dg/io_constraints_8.f90: Update error message.
      	* gfortran.dg/pr87922.f90: New test.
      
      From-SVN: r266968
      Steven G. Kargl committed
    • PR tree-optimization/86196 - Bogus -Wrestrict on memcpy between array elements at unequal indices · 1486eb79
      gcc/ChangeLog:
      
      	PR tree-optimization/86196
      	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Use
      	base size only of arrays.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/86196
      	* gcc.dg/Wrestrict-18.c: New test.
      
      From-SVN: r266967
      Martin Sebor committed
    • Daily bump. · 03da9b75
      From-SVN: r266966
      GCC Administrator committed
  2. 10 Dec, 2018 18 commits
  3. 09 Dec, 2018 9 commits