1 // PR c++/91165
2 // { dg-do compile { target c++11 } }
3 // { dg-additional-options -O }
4 
bar(T c)5 template <typename T> constexpr T bar (T c) { return c; }
6 template <typename T, typename U> struct S {
7   T f;
8   U g;
9 };
10 template <typename T, typename U>
foo(T && c,U h)11 constexpr S<T, U> foo (T &&c, U h) { return S<T, U> {c, bar (h)}; }
baz(int a)12 void baz (int a) { foo (a, ""); }
qux()13 void qux () { foo (0, ""); }
14