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

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-09-25 
22:10:15 UTC ---
Hmm,
normally we should see it from COMPONENT_REF:
  while (true)
    {
      if (TREE_CODE (ref) == COMPONENT_REF)
        {
          tree par_type;
          tree binfo, base_binfo;
          tree field = TREE_OPERAND (ref, 1);

          if (!DECL_ARTIFICIAL (field))
            {
              tree type = TREE_TYPE (field);
              if (TREE_CODE (type) == RECORD_TYPE)
                return TYPE_BINFO (type);
              else
                return NULL_TREE;
            }
but we don't since it has DECL_ARTIFICIAL set.  What is the logic here?
Also what about i.e. ARRAY_REF and arrays of objects and COMPONENT_REFs
translated to MEM_REFs?

Honza

Reply via email to