diff options
Diffstat (limited to 'gnu/egcs/libf2c/libF77/s_rnge.c')
-rw-r--r-- | gnu/egcs/libf2c/libF77/s_rnge.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/egcs/libf2c/libF77/s_rnge.c b/gnu/egcs/libf2c/libF77/s_rnge.c new file mode 100644 index 00000000000..fbe3219d580 --- /dev/null +++ b/gnu/egcs/libf2c/libF77/s_rnge.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include "f2c.h" + +/* called when a subscript is out of range */ + +#ifdef KR_headers +extern VOID sig_die(); +integer s_rnge(varn, offset, procn, line) char *varn, *procn; ftnint offset, line; +#else +extern VOID sig_die(char*,int); +integer s_rnge(char *varn, ftnint offset, char *procn, ftnint line) +#endif +{ +register int i; + +fprintf(stderr, "Subscript out of range on file line %ld, procedure ", line); +while((i = *procn) && i != '_' && i != ' ') + putc(*procn++, stderr); +fprintf(stderr, ".\nAttempt to access the %ld-th element of variable ", offset+1); +while((i = *varn) && i != ' ') + putc(*varn++, stderr); +sig_die(".", 1); +return 0; /* not reached */ +} |