/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ extern void dontcallthis(); struct A { long a, b; }; struct B : A {}; templatevoid cp(T&a,T const&b){a=b;} long f(B x){ B y; cp(y,x); B z; cp(z,x); if (y.a - z.a) dontcallthis (); return 0; } /* { dg-final { scan-tree-dump-not "dontcallthis" "optimized" } } */