re PR fortran/50379 (ICE in gfc_typenode_for_spec at fortran/trans-types.c)

2011-09-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50379
	* symbol.c (check_conflict): Check conflict between GENERIC and RESULT
	attributes.


2011-09-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50379
	* gfortran.dg/result_2.f90: New.

From-SVN: r178829
This commit is contained in:
Janus Weil 2011-09-13 20:37:33 +02:00
parent d9930d55ad
commit 94c4133ab4
4 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2011-09-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/50379
* symbol.c (check_conflict): Check conflict between GENERIC and RESULT
attributes.
2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50327

View File

@ -373,7 +373,7 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
*volatile_ = "VOLATILE", *is_protected = "PROTECTED",
*is_bind_c = "BIND(C)", *procedure = "PROCEDURE",
*asynchronous = "ASYNCHRONOUS", *codimension = "CODIMENSION",
*contiguous = "CONTIGUOUS";
*contiguous = "CONTIGUOUS", *generic = "GENERIC";
static const char *threadprivate = "THREADPRIVATE";
const char *a1, *a2;
@ -490,8 +490,6 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
conf (in_common, codimension);
conf (in_common, result);
conf (dummy, result);
conf (in_equivalence, use_assoc);
conf (in_equivalence, codimension);
conf (in_equivalence, dummy);
@ -503,7 +501,9 @@ check_conflict (symbol_attribute *attr, const char *name, locus *where)
conf (in_equivalence, allocatable);
conf (in_equivalence, threadprivate);
conf (dummy, result);
conf (entry, result);
conf (generic, result);
conf (function, subroutine);

View File

@ -1,3 +1,8 @@
2011-09-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/50379
* gfortran.dg/result_2.f90: New.
2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
* gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test.

View File

@ -0,0 +1,9 @@
! { dg-do compile }
!
! PR 50379: ICE in gfc_typenode_for_spec at fortran/trans-types.c
!
! Contributed by Vittorio Zecca <zeccav@gmail.com>
function f() result(res)
interface res ! { dg-error "attribute conflicts with" }
end