------- Additional Comments From bonzini at gcc dot gnu dot org  2005-09-08 
12:02 -------
Even more reduced:

extern void f(char *const *);
void g (char **o)
{
  static const char *const multilib_exclusions_raw[] = { 0 };
  const char *const *q = multilib_exclusions_raw;

  f (o);
  while (*q++)
    f (o);
}

The strange thing is, turn the loop into do...while, and it cannot eliminate
multilib_exclusions_raw not even at the RTL level.  Actually it cannot eliminate
the loop at all if it is a do...while.

Paolo

-- 


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

Reply via email to