1. 20 Mar, 2019 6 commits
    • d: Fix ICE force_type_die, at dwarf2out.c using nested types · 9dddefef
      In functions whose return type is instantiated from a nested template,
      make sure that all members of the instance are emitted before finishing
      the outer function, otherwise they will be removed during the
      prune_unused_types pass.
      
      gcc/d/ChangeLog:
      
      2019-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/89017
      	* d-codegen.cc (d_decl_context): Skip over template instances when
      	finding the context.
      	* decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
      	(build_type_decl): Include parameters in name of template types.
      
      gcc/testsuite/ChangeLog:
      
      2019-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/89017
      	* gdc.dg/pr89017.d: New test.
      
      From-SVN: r269828
      Iain Buclaw committed
    • re PR fortran/71861 ([F03] ICE in write_symbol(): bad module symbol) · 5d2df818
      fix PR 71861
      
      2019-03-20  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/71861
      	* symbol.c (check_conflict): ABSTRACT attribute conflicts with
      	INTRINSIC attribute.
      
      2019-03-20  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/71861
      	* gfortran.dg/interface_abstract_5.f90: New test case.
      
      From-SVN: r269827
      Janus Weil committed
    • PR c++/87480 - decltype of member access in default template arg · 292a8bbb
      The issue here is that declval<T>().d is considered instantiation-dependent
      within a template, as the access to 'd' might depend on the particular
      specialization.  But when we're deducing template arguments for a call, we
      know that the call and the arguments are non-dependent, so we can do the
      substitution as though we aren't in a template.  Which strictly speaking we
      aren't, since the default argument is considered a separate definition.
      
      	* pt.c (type_unification_real): Accept a dependent result in
      	template context.
      
      From-SVN: r269826
      Jason Merrill committed
    • S/390: Fix PR89775. Stackpointer save/restore instructions removed · 3ad7fed1
      Even if a global register is being clobbered in a function we usually
      do not save and restore it. However, we still have to do this if it is
      a special register. Most of the places in the backend handle this
      correctly but not the prologue/epilogue optimization.
      
      gcc/ChangeLog:
      
      2019-03-20  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR target/89775
      	* config/s390/s390.c (global_not_special_regno_p): Move to make it
      	available to ...
      	(s390_optimize_register_info): Use global_not_special_regno_p to
      	check for global regs.
      
      2019-03-20  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/89775
      	* gcc.target/s390/pr89775-1.c: New test.
      	* gcc.target/s390/pr89775-2.c: New test.
      
      From-SVN: r269823
      Andreas Krebbel committed
    • re PR target/89752 (ICE in emit_move_insn, at expr.c:3723) · a5b821e4
      	PR target/89752
      	* lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't
      	update this_alternative nor this_alternative_set.
      
      	* g++.target/aarch64/aarch64.exp: New file.
      	* g++.target/aarch64/pr89752.C: New test.
      
      From-SVN: r269819
      Jakub Jelinek committed
    • Daily bump. · 7f129d6f
      From-SVN: r269817
      GCC Administrator committed
  2. 19 Mar, 2019 20 commits
  3. 18 Mar, 2019 14 commits