1// { dg-do assemble  }
2// { dg-options "" }
3
4class Pooled
5{
6};
7
8class RefCounted
9{
10};
11
12class BrickExpressionBase : public RefCounted, public Pooled
13{
14};
15
16template<unsigned Dim, class LHS, class RHS, class OP>
17class BrickExpression : public BrickExpressionBase
18{
19};
20
21template <unsigned Dim, class T>
22void f()
23{
24  typedef BrickExpression<Dim, T, T, T> ExprT;
25  ExprT(3).apply;
26}
27