aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2007-04-07 20:18:17 +0000
committerPaul Thomas <pault@gcc.gnu.org>2007-04-07 20:18:17 +0000
commitc60a84b86f0fbfe38aa93cdeffe563239095916f (patch)
treeb6ec665721fde1724f006a43410149ae5b59facf /gcc/fortran
parente9bd9f7d5db94db21cdd566e9e00f851563edc97 (diff)
downloadgcc-c60a84b86f0fbfe38aa93cdeffe563239095916f.zip
gcc-c60a84b86f0fbfe38aa93cdeffe563239095916f.tar.gz
gcc-c60a84b86f0fbfe38aa93cdeffe563239095916f.tar.bz2
re PR fortran/31214 (User-defined operator using entry leads to ICE)
2007-04-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/31214 * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use associated symbols. 2007-04-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/31424 * gfortran.dg/unreferenced_use_assoc_1.f90: New test. From-SVN: r123642
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-decl.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e72aa0d..2079580 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2007-04-07 Paul Thomas <pault@gcc.gnu.org>
+ PR fortran/31214
+ * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
+ associated symbols.
+
+2007-04-07 Paul Thomas <pault@gcc.gnu.org>
+
PR fortran/31293
* symbol.c (gfc_check_function_type): New function.
* gfortran.h : Add prototype for previous.
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 6cd1304..fa75260 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -873,7 +873,8 @@ gfc_get_symbol_decl (gfc_symbol * sym)
int byref;
gcc_assert (sym->attr.referenced
- || sym->ns->proc_name->attr.if_source == IFSRC_IFBODY);
+ || sym->attr.use_assoc
+ || sym->ns->proc_name->attr.if_source == IFSRC_IFBODY);
if (sym->ns && sym->ns->proc_name->attr.function)
byref = gfc_return_by_reference (sym->ns->proc_name);