From: ceriel Date: Tue, 19 Nov 1996 09:12:36 +0000 (+0000) Subject: Some fixes X-Git-Tag: release-5-5~41 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=322c1c1b4cebe2e256e7c6b49d940add296bd70e;p=ack.git Some fixes --- diff --git a/lang/m2/comp/LLlex.c b/lang/m2/comp/LLlex.c index 14506180d..03b878f71 100644 --- a/lang/m2/comp/LLlex.c +++ b/lang/m2/comp/LLlex.c @@ -528,7 +528,15 @@ lexwarning(W_ORDINARY, "character constant out of range"); CheckForLet(); return tk->tk_symb = INTEGER; } - if (ch == 'D' && base == 10) { + if (options['l']) { + if (base != 10) { + LoadChar(ch); + if (ch != 'D') { + PushBack(); + } + } + } + if (ch == 'D' && (options['l'] || base == 10)) { if (options['l']) { /* Local extension: LONGCARD exists, so internally also longintorcard_type diff --git a/lang/m2/comp/code.c b/lang/m2/comp/code.c index 4916f127e..e0d05c584 100644 --- a/lang/m2/comp/code.c +++ b/lang/m2/comp/code.c @@ -60,7 +60,7 @@ CodeString(nd) { if (nd->nd_type->tp_fund != T_STRING) { /* Character constant */ - C_loc(nd->nd_INT); + CodeConst(nd->nd_INT, nd->nd_type->tp_size); return; } C_df_dlb(++data_label);