summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/f/stc.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/f/stc.c')
-rw-r--r--contrib/gcc/f/stc.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/contrib/gcc/f/stc.c b/contrib/gcc/f/stc.c
index 1f17766..b9602c2 100644
--- a/contrib/gcc/f/stc.c
+++ b/contrib/gcc/f/stc.c
@@ -1,5 +1,5 @@
/* stc.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -9195,18 +9195,19 @@ ffestc_R810 (ffesttCaseList cases, ffelexToken name)
ffebad_finish ();
continue;
}
-
if (((caseobj->expr1 != NULL)
&& ((ffeinfo_basictype (ffebld_info (caseobj->expr1))
!= s->type)
- || (ffeinfo_kindtype (ffebld_info (caseobj->expr1))
- != s->kindtype)))
+ || ((ffeinfo_kindtype (ffebld_info (caseobj->expr1))
+ != s->kindtype)
+ && (ffeinfo_kindtype (ffebld_info (caseobj->expr1)) != FFEINFO_kindtypeINTEGER1 ))
|| ((caseobj->range)
&& (caseobj->expr2 != NULL)
&& ((ffeinfo_basictype (ffebld_info (caseobj->expr2))
!= s->type)
- || (ffeinfo_kindtype (ffebld_info (caseobj->expr2))
- != s->kindtype))))
+ || ((ffeinfo_kindtype (ffebld_info (caseobj->expr2))
+ != s->kindtype)
+ && (ffeinfo_kindtype (ffebld_info (caseobj->expr2)) != FFEINFO_kindtypeINTEGER1)))))))
{
ffebad_start (FFEBAD_CASE_TYPE_DISAGREE);
ffebad_here (0, ffelex_token_where_line (caseobj->t),
@@ -9217,6 +9218,8 @@ ffestc_R810 (ffesttCaseList cases, ffelexToken name)
continue;
}
+
+
if ((s->type == FFEINFO_basictypeLOGICAL) && (caseobj->range))
{
ffebad_start (FFEBAD_CASE_LOGICAL_RANGE);
OpenPOWER on IntegriCloud