From f0a7a313fc66cb11410aca60ff410bfddd224750 Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 10 Nov 1998 14:26:06 +0000 Subject: [PATCH] Fix: did not always produce error message --- util/LLgen/lib/rec | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/util/LLgen/lib/rec b/util/LLgen/lib/rec index 0c4a1bb8b..ae7d69e66 100644 --- a/util/LLgen/lib/rec +++ b/util/LLgen/lib/rec @@ -218,6 +218,20 @@ LLsafeerror(t) nc_done = 1; LLsymb = EOFILE; } + /* A little kludge here; when using non-correcting recovery + * it can happen that a program is correct but incomplete. + * Here, we test this, and make sure the appropriate + * message is generated + */ + if (! nc_done) { + int oldLLsymb; + oldLLsymb = LLsymb; + LLsymb = EOFILE; + LLmessage(0); + nc_done = 1; + /* Not really, but to prevent more than 1 error message */ + LLsymb = oldLLsymb; + } #endif LLmessage(t); }