https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98379

            Bug ID: 98379
           Summary: Unknown tree: c_maybe_const_expr in a warning
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

The output of the warning below is garbled.  The pretty-printer that formats
the type doesn't know how to cope with the representation of the !*a
expression:

$ cat t.c && gcc -O2 -S -Wall t.c
int f (int n, int*, int[n]);
int f (int n, int *a, int[!*a]);
t.c:2:23: warning: argument 3 of type ‘int[(*a) == 0]’ declared with mismatched
bound ‘<<< Unknown tree: c_maybe_const_expr

  *a >>> == 0’ [-Wvla-parameter]
    2 | int f (int n, int *a, int[!*a]);
      |                       ^~~~~~~~
t.c:1:21: note: previously declared as ‘int[n]’ with bound argument 1
    1 | int f (int n, int*, int[n]);
      |        ~~~~~        ^~~~~~

Reply via email to