libgo: Avoid some cases of getting callers recursively.

Avoids hanging inside older versions of glibc that do not
support recurive calls to dl_iterate_phdr.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205561 138bc75d-0d04-0410-961f-82ee72b054a4
2013-12-01  Bernd Edlinger <bernd.edlinger@hotmail.de>

        * expr.c (emit_group_store): Corrected BITFIELD_END parameter.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205563 138bc75d-0d04-0410-961f-82ee72b054a4
Index: gcc/fortran/resolve.c
===================================================================
*** gcc/fortran/resolve.c	(revision 205031)
--- gcc/fortran/resolve.c	(working copy)
*************** resolve_transfer (gfc_code *code)
*** 8247,8256 ****
  	 && exp->value.op.op == INTRINSIC_PARENTHESES)
      exp = exp->value.op.op1;
  
!   if (exp && exp->expr_type == EXPR_NULL && exp->ts.type == BT_UNKNOWN)
      {
!       gfc_error ("NULL intrinsic at %L in data transfer statement requires "
! 		 "MOLD=", &exp->where);
        return;
      }
  
--- 8247,8257 ----
  	 && exp->value.op.op == INTRINSIC_PARENTHESES)
      exp = exp->value.op.op1;
  
!   if (exp && exp->expr_type == EXPR_NULL
!       && code->ext.dt)
      {
!       gfc_error ("Invalid context for NULL () intrinsic at %L",
! 		 &exp->where);
        return;
      }
  
Index: gcc/testsuite/gfortran.dg/null_5.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_5.f90	(revision 205031)
--- gcc/testsuite/gfortran.dg/null_5.f90	(working copy)
*************** subroutine test_PR34547_1 ()
*** 34,40 ****
  end subroutine test_PR34547_1
  
  subroutine test_PR34547_2 ()
!   print *, null () ! { dg-error "in data transfer statement requires MOLD" }
  end subroutine test_PR34547_2
  
  subroutine test_PR34547_3 ()
--- 34,40 ----
  end subroutine test_PR34547_1
  
  subroutine test_PR34547_2 ()
!   print *, null () ! { dg-error "Invalid context" }
  end subroutine test_PR34547_2
  
  subroutine test_PR34547_3 ()
Index: gcc/testsuite/gfortran.dg/null_6.f90
===================================================================
*** gcc/testsuite/gfortran.dg/null_6.f90	(revision 205031)
--- gcc/testsuite/gfortran.dg/null_6.f90	(working copy)
*************** end subroutine test_PR50375_2
*** 30,34 ****
  
  subroutine test_PR34547_3 ()
    integer, allocatable :: i(:)
!   print *, NULL(i)
  end subroutine test_PR34547_3
--- 30,34 ----
  
  subroutine test_PR34547_3 ()
    integer, allocatable :: i(:)
!   print *, NULL(i)    ! { dg-error "Invalid context for NULL" }
  end subroutine test_PR34547_3


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205565 138bc75d-0d04-0410-961f-82ee72b054a4
2013-12-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/58410
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
	use the array bounds of an unallocated array but set its size
	to zero instead.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205566 138bc75d-0d04-0410-961f-82ee72b054a4