Why am I getting this warning from Clang? This seems like a sensible use of a templated constant to me.

`warning: variable 'M_PI<int>' has internal linkage but is not defined [-Wundefined-internal]`

```c++
#include <iostream>

template <typename T>
constexpr T M_PI = T(3.1415926535897932);

template <typename T>
constexpr T CalcCircumference(T d)
{
    return d * M_PI<T>;
}

int main()
{
    std::cout << CalcCircumference(42.0f);
}

```

Edit: Apparently a minimalistic test case is confusing to some. I have embellished it a bit to hopefully alleviate that.