| // { dg-do compile } | |
| // { dg-options "-O -fno-toplevel-reorder -fno-inline -fipa-cp -fipa-cp-clone -fkeep-inline-functions" } | |
| template < typename Derived > struct AnyMatrixBase | |
| { | |
| }; | |
| struct Matrix Random (); | |
| struct Matrix:AnyMatrixBase < Matrix > | |
| { | |
| void bar () | |
| { | |
| throw; | |
| } | |
| void foo (Matrix other) | |
| { | |
| bar (); | |
| Matrix (AnyMatrixBase < Matrix > (Random ())); | |
| } | |
| template | |
| < typename OtherDerived > Matrix (AnyMatrixBase < OtherDerived > other) | |
| { | |
| foo (other); | |
| } | |
| }; | |
| Matrix x (Random ()); | |