gcc

Comment 13 for bug 885280

Revision history for this message
In , Pinskia (pinskia) wrote :

Reduced testcase:
struct Region {
    int storage[4];
    int count;
};
static inline Region subtract(int lhs)
{
  Region reg;
  int* storage = reg.storage;
  if (lhs > 0)
    storage++;
  reg.count = storage - reg.storage;
  return reg;
}
void bar(int a)
{
  const Region copyBack(subtract(a));
}

---- CUT ---
Comes from inlining.