aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/ste.c
diff options
context:
space:
mode:
authorToon Moene <toon@gcc.gnu.org>2003-01-03 22:02:29 +0000
committerToon Moene <toon@gcc.gnu.org>2003-01-03 22:02:29 +0000
commit425c1348687a5ac0d8abbcb6ee47bacd242298fa (patch)
tree07139f9fbcebfc9c33ff24e1d951d249292c28fe /gcc/f/ste.c
parent4e8dca1c3ab060bd7bc1b70d4c62d6933e7bc479 (diff)
downloadgcc-425c1348687a5ac0d8abbcb6ee47bacd242298fa.zip
gcc-425c1348687a5ac0d8abbcb6ee47bacd242298fa.tar.gz
gcc-425c1348687a5ac0d8abbcb6ee47bacd242298fa.tar.bz2
stc.c (ffestc_R810): Allow any kind integer in case statements.
2003-01-03 Bud Davis <bdavis11@directvinternet.com> * stc.c (ffestc_R810): Allow any kind integer in case statements. * ste.c (ffeste_R810): Give error message when case selector exceeds its valid values. From-SVN: r60852
Diffstat (limited to 'gcc/f/ste.c')
-rw-r--r--gcc/f/ste.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/f/ste.c b/gcc/f/ste.c
index d7d8495..a620acd 100644
--- a/gcc/f/ste.c
+++ b/gcc/f/ste.c
@@ -1,5 +1,5 @@
/* ste.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996, 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by James Craig Burley.
This file is part of GNU Fortran.
@@ -2725,7 +2725,15 @@ ffeste_R810 (ffestw block, unsigned long casenum)
}
else
pushok = pushcase (texprlow, convert, tlabel, &duplicate);
- assert (pushok == 0);
+ assert((pushok !=2) || (pushok !=0));
+ if (pushok==2)
+ {
+ ffebad_start_msg ("SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)",
+ FFEBAD_severityFATAL);
+ ffebad_here (0, ffestw_line (block), ffestw_col (block));
+ ffebad_finish ();
+ ffestw_set_select_texpr (block, error_mark_node);
+ }
c = c->next_stmt;
/* Unlink prev. */
c->previous_stmt->previous_stmt->next_stmt = c;