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

            Bug ID: 79775
           Summary: Confusing fix-it diagnostics with double pointers to
                    structs
           Product: gcc
           Version: 6.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: felix.von.s at posteo dot de
  Target Milestone: ---

Created attachment 40859
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40859&action=edit
test.c

Attempting to compile the attached source file emits the following diagnostic:

test.c: In function 'bar':
test.c:10:14: error: '*foo' is a pointer; did you mean to use '->'?
     quux(*foo->a);
              ^~
              ->

The programmer's error is that they misremembered operator precedence rules:
struct member access binds stronger than pointer dereference. This diagnostic
above can only serve to confuse them further.

Reply via email to