From abf03493224b17a4787176d528661a57a2432c64 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 26 Aug 2010 03:52:04 -0400 Subject: [PATCH] Add the NOCTURNAL EMISSION, PLEASE LAUNDER SHEETS IMMEDIATELY error message. --- doc/ick.txi | 11 +++++++++++ src/feh2.c | 6 +++--- src/ick_lose.h | 4 +++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/doc/ick.txi b/doc/ick.txi index 4f1259e..528291f 100644 --- a/doc/ick.txi +++ b/doc/ick.txi @@ -1942,6 +1942,17 @@ at all; you can't even follow it by comments, not even if you know in advance that they won't be @code{REINSTATE}d. This error happens at compile time if a command is found after a @code{TRY AGAIN}. +@ieanchor E994 +@cindex illegal opcode +@quotation +NOCTURNAL EMISSION, PLEASE LAUNDER SHEETS IMMEDIATELY +@end quotation + +This error should never happen, and if it dies indicates a compiler +bug. It means the emitter function in the code degenerator has +encountered an unknown opcode. Please send a copy of the program +that triggered it to the INTERCAL maintainers. + @ieanchor E995 @quotation DO YOU REALLY EXPECT ME TO HAVE IMPLEMENTED THAT? diff --git a/src/feh2.c b/src/feh2.c index 9b49ba8..5134a10 100644 --- a/src/feh2.c +++ b/src/feh2.c @@ -2288,7 +2288,7 @@ void emit(tuple *tn, FILE *fp) case DISABLE: (void) fprintf(fp,"\t if(!ick_abstained[revlinetype[i]])" "\t\tick_abstained[revlinetype[i]]=1;\n"); break; case MANYFROM:(void) fprintf(fp,"\tick_abstained[revlinetype[i]]+=j;\n"); break; - default: ick_lose(IE778, emitlineno, (const char *)NULL); + default: ick_lose(IE994, emitlineno, (const char *)NULL); } switch(npc) { @@ -2570,7 +2570,7 @@ void emit(tuple *tn, FILE *fp) case WHILE: /* AIS: fall through to the error, because this shouldn't come up yet. */ default: - ick_lose(IE778, emitlineno, (const char *)NULL); + ick_lose(IE994, emitlineno, (const char *)NULL); /*@-unreachable@*/ break; /*@=unreachable@*/ } @@ -2739,7 +2739,7 @@ void emitslat(FILE* fp) { fprintf(fp, "void ick_os%lx(%s a, void(*f)())\n{\n static int l=0;\n" - " if(l)\n {\n if(!f) ick_lose(IE778, ick_lineno, (const char *)NULL);\n" + " if(l)\n {\n if(!f) ick_lose(IE994, ick_lineno, (const char *)NULL);\n" " f(a,0);\n return;\n }\n l=1;\n", (unsigned long)np,t); temp=cons(C_A, 0, 0); diff --git a/src/ick_lose.h b/src/ick_lose.h index 38f66ca..d95ce9d 100644 --- a/src/ick_lose.h +++ b/src/ick_lose.h @@ -162,7 +162,9 @@ /* Unknown invocation flag */ #define IE990 "990 FLAG ETIQUETTE FAILURE BAD SCOUT NO BISCUIT.\n\ ON THE WAY TO %d\n" - +/* Code generator encountered an unknown opcode in a tuple */ +#define IE994 "994 NOCTURNAL EMISSION, PLEASE LAUNDER SHEETS IMMEDIATELY.\n\ + ON THE WAY TO %d\n" /* * AIS: These errors are specific to PIC-INTERCAL */ -- 2.43.0