title: Why does Eclipse CDT say: 'syntax error', but compilation no problem
body: <p>I am working in existing C code which has a couple of lines with statements similar to this one:</p>
  
  <pre><code>struct collect_conn *tc = (struct collect_conn *) 
       ((char *)c - offsetof(struct collect_conn, runicast_conn));
  </code></pre>
  
  <p>The struct collect_conn goes along the following lines:</p>
  
  <pre><code>struct collect_conn {
    struct runicast_conn runicast_conn;
    struct announcement announcement;
    const struct collect_callbacks *cb;
    struct ctimer t;
    uint16_t rtmetric;
    uint8_t forwarding;
    uint8_t seqno;
  };
  </code></pre>
  
  <p>I am using Eclipse CDT, and it marks the line with an orange squiggly line as 'syntax error'. I think it is marked as such by the CDT indexer.
  However, compilation (manually in a terminal) is no problem.</p>
  
  <p>This is a bit inconvenient however, since the elements on the line don't get indexed (so the call hierarchy tree isn't always correct, or the highlighting of elements, etc.)</p>
  
  <p>Why does Ecipse not like the line as it is?</p>