bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gawk] --lint=no-ext and multidimensional arrays


From: M
Subject: Re: [bug-gawk] --lint=no-ext and multidimensional arrays
Date: Sun, 30 Jun 2019 19:12:48 +0300

Oh, I should have looked for these lines in the sources first.
I've applied the patch, it seems to work fine.
Thank you!

_______________

Yours respectfully,
Mark Krauze


30.06.2019, 14:19, "address@hidden" <address@hidden>:
> The patch I sent also takes care of indirect function calls.
>
> Arnold
>
> M <address@hidden> wrote:
>
>>  Thank you for a quick fix!
>>
>>  It seems that indirect function calls are the same case:
>>
>>  $ cat test.awk
>>  BEGIN {
>>     test_test()
>>     func_name = "test_test"
>>     @func_name()
>>
>>     exit
>>  }
>>
>>  function test_test() {
>>  }
>>  $ /path/to/gawk --lint=no-ext --exec test.awk
>>  gawk: test.awk:4: warning: indirect function calls are a gawk extension
>>  $
>>
>>  Other "ext-warnings" seem to be hidden correctly.
>>  _______________
>>
>>  Yours respectfully,
>>  Mark Krauze
>>
>>  30.06.2019, 13:03, "address@hidden" <address@hidden>:
>>  > Hi. Thanks for the note.
>>  >
>>  > M <address@hidden> wrote:
>>  >
>>  >> ??Hello! When launched with the option --lint=no-ext, Gawk v5.0.1 still
>>  >> ??warns that multidimensional arrays are a gawk extension.
>>  >>
>>  >> ??How to reproduce:
>>  >>
>>  >> ??$ cat test.awk
>>  >> ??BEGIN {
>>  >> ????????a[1][2] = 3
>>  >>
>>  >> ????????exit
>>  >> ??}
>>  >> ??$ /path/to/gawk --lint=no-ext --exec test.awk
>>  >> ??gawk: test.awk:2: warning: multidimensional arrays are a gawk extension
>>  >> ??$
>>  >>
>>  >> ??Looks like a bug.
>>  >> ??_______________
>>  >>
>>  >> ??Yours respectfully,
>>  >> ??Mark Krauze
>>  >
>>  > Here is the fix.
>>  >
>>  > Thanks,
>>  >
>>  > Arnold
>>  > -------------------------------------------------
>>  > diff --git a/awkgram.y b/awkgram.y
>>  > index a940ac9d..beb775d9 100644
>>  > --- a/awkgram.y
>>  > +++ b/awkgram.y
>>  > @@ -1994,7 +1994,7 @@ func_call
>>  >
>>  > ??????????????????????????????????if (do_traditional || do_posix)
>>  > ??????????????????????????????????????????????????yyerror("%s", msg);
>>  > - else if (do_lint && ! warned) {
>>  > + else if (do_lint_extensions && ! warned) {
>>  > ??????????????????????????????????????????????????warned = true;
>>  > ??????????????????????????????????????????????????lintwarn("%s", msg);
>>  > ??????????????????????????????????}
>>  > @@ -3857,7 +3857,7 @@ retry:
>>  > ??????????????????????????????????if (c == '[') {
>>  > ??????????????????????????????????????????????????if (do_traditional)
>>  > 
>> ??????????????????????????????????????????????????????????????????fatal(_("multidimensional
>>  arrays are a gawk extension"));
>>  > - if (do_lint)
>>  > + if (do_lint_extensions)
>>  > 
>> ??????????????????????????????????????????????????????????????????lintwarn(_("multidimensional
>>  arrays are a gawk extension"));
>>  > ??????????????????????????????????????????????????yylval = 
>> GET_INSTRUCTION(Op_sub_array);
>>  > ??????????????????????????????????????????????????lasttok = ']';



reply via email to

[Prev in Thread] Current Thread [Next in Thread]