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

--- Comment #5 from uecker at gcc dot gnu.org ---

I am not sure Martin S still reads these emails.

I also do not understand the code fully, but you could try something like this:

/* Use the SSA_NAME_VAR that was determined above to see if it's
   declared nonstring. Otherwise drill down into the referenced
   DECL. */
if (var)
  decl = var;
else
{
  while (TREE_CODE (decl) == ARRAY_REF)
   decl = TREE_OPERAND (decl, 0);

  if (TREE_CODE (decl) == COMPONENT_REF)
    decl = TREE_OPERAND (decl, 1);
  else if (TREE_CODE (decl) == MEM_REF)
    return get_attr_nonstring_decl (TREE_OPERAND (decl, 0), ref);
}

Reply via email to