Fold ctz(-x) and ctz(abs(x)) as ctz(x) in match.pd.
[official-gcc.git] / gcc / testsuite / g++.dg / ipa / pr45565.C
blobc04de12e2719647e423a43735c4e08205c453e83
1 // { dg-do compile }
2 // { dg-options "-O -fno-toplevel-reorder -fno-inline -fipa-cp -fipa-cp-clone -fkeep-inline-functions" }
4 template < typename Derived > struct AnyMatrixBase
6 };
8 struct Matrix Random ();
10 struct Matrix:AnyMatrixBase < Matrix >
12   void bar ()
13     {
14       throw;
15     }
16   void foo (Matrix other)
17     {
18       bar ();
19       Matrix (AnyMatrixBase < Matrix > (Random ()));
20     }
21   template
22       < typename OtherDerived > Matrix (AnyMatrixBase < OtherDerived > other)
23         {
24           foo (other);
25         }
28 Matrix x (Random ());