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.