xref: /llvm-project/clang/test/ASTMerge/var-cpp/Inputs/var1.cpp (revision 0333dd95636da52229ca14b4e5525c1cd8ba62d2)
1 
2 template <typename T>
3 constexpr T my_pi = T(3.1415926535897932385L);  // variable template
4 
5 template <> constexpr char my_pi<char> = '3';   // variable template specialization
6 
7 template <typename T>
8 struct Wrapper {
9   template <typename U> static constexpr U my_const = U(1);
10    // Variable template partial specialization with member variable.
11   template <typename U> static constexpr U *my_const<const U *> = (U *)(0);
12 };
13 
14 constexpr char a[] = "hello";
15 
16 template <> template <>
17 constexpr const char *Wrapper<float>::my_const<const char *> = a;
18