1 // RUN: %clang_cc1 %s -fsyntax-only -verify
2 
3 template <typename T>
4 constexpr T foo(T a);   // expected-note {{declared here}}
5 
6 int main() {
7   int k = foo<int>(5);  // Ok
8   constexpr int j =     // expected-error {{constexpr variable 'j' must be initialized by a constant expression}}
9           foo<int>(5);  // expected-note {{undefined function 'foo<int>' cannot be used in a constant expression}}
10 }
11 
12 template <typename T>
13 constexpr T foo(T a) {
14   return a;
15 }
16