[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:16:56 PDT 2025


================
@@ -1,5 +1,19 @@
 // RUN: %clang_cc1 -std=c++1z %s -emit-llvm -o - -triple x86_64-linux-gnu | FileCheck %s
 
+template <typename T> struct InlineAuto {
+  template <typename G> inline static auto var = 5;
+};
+int inlineauot = InlineAuto<int>::var<int>;
+// CHECK: @_ZN10InlineAutoIiE3varIiEE = {{.*}}i32 5{{.*}}comdat
+//
+template <typename> struct PartialInlineAuto {
+  template <typename, typename> inline static auto var = 6;
+  template <typename T> inline static auto var<int, T> = 7;
+};
+
+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