blob: d0f69cbafe90dff02712cbe19db659b0777e505f [file] [log] [blame]
/* Test how self-assignment detection handles constant-folding happening */
/* when parsing the RHS or the initializer. */
/* { dg-do compile } */
/* { dg-options "-Wself-assign" } */
struct Bar {
int b_;
float c_;
};
int g;
int main()
{
struct Bar *bar;
int x = x - 0; /* should not warn */
static int y;
struct Bar b_array[5];
b_array[x+g].b_ = b_array[x+g].b_ * 1; /* should no warn */
g = g + 0; /* should not warn */
y = y / 1; /* should not warn */
bar->b_ = bar->b_ - 0; /* should not warn */
}