http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48749

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org
   Target Milestone|4.7.0                       |4.6.1
            Summary|[4.7 Regression] internal   |[4.6/4.7 Regression]
                   |compiler error: tree check: |internal compiler error:
                   |expected field_decl         |tree check: expected
                   |                            |field_decl

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-05-04 
08:54:07 UTC ---
Started with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=171461
The patch has been backported to 4.6 branch as well and if built with
--enable-checking=yes, it ICEs there the same way.

In:
5880        case COMPONENT_REF:
5881          /* If this component is really a base class reference, then the
field
5882         itself isn't definitive.  */
5883          if (DECL_FIELD_IS_BASE (TREE_OPERAND (instance, 1)))
5884        return RECUR (TREE_OPERAND (instance, 0));
5885          return RECUR (TREE_OPERAND (instance, 1));

instance is a COMPONENT_REF with type Pos, TREE_OPERAND (instance, 0) is
INDIRECT_REF - *coords and TREE_OPERAND (instance, 1) is not FIELD_DECL, but
IDENTIFIER_NODE pos.

Reply via email to