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

            Bug ID: 86698
           Summary: Misleading dump-file contents
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: easyhack
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rearnsha at gcc dot gnu.org
  Target Milestone: ---

Use of the comma operator in source code can lead to misleading information in
the initial dump file when trying to understand the result of the initial
parse.  For example, 

int f (int y, int z)
{
  int x = ( z++,y);
  return x;
}

Generates a dump file contents test.c.004t.original
;; Function f (null)
;; enabled by -tree-original


{
  int x = z++ ;, y;

    int x = z++ ;, y;
  return x;
}

Firstly, the statement is printed twice, which seems to imply that the side
effects are performed twice.  Secondly, the stray ';' in the middle of the
statement seems to imply that z is assigned to x, rather than y as the original
program required.

Reply via email to