[clang] [Clang] Fix missed initializer instantiation bug for variable templates (PR #138122)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Wed May 14 03:17:10 PDT 2025


================
@@ -27,3 +27,15 @@ template <typename T> constexpr int A<T>::n = sizeof(A) + sizeof(T);
 template <typename T> inline constexpr int A<T>::m = sizeof(A) + sizeof(T);
 static_assert(A<int>().f() == 5);
 static_assert(A<int>().g() == 5);
+
+template <typename T> struct InlineAuto {
+  template <typename G> inline static auto var = 5;
+};
+
+template <typename> struct PartialInlineAuto {
+  template <typename, typename> inline static auto var = 6;
+  template <typename T> inline static auto var<int, T> = 7;
+};
+
+int inlineauot = InlineAuto<int>::var<int>;
+int partialinlineauot = PartialInlineAuto<int>::var<int, int>;
----------------
zyn0217 wrote:

ditto

https://github.com/llvm/llvm-project/pull/138122


More information about the cfe-commits mailing list