// RUN: %clang_cc1 %s -std=c++14 -triple=i686-pc-windows-msvc -debug-info-kind=limited -gcodeview -emit-llvm -o - | FileCheck %s // Don't emit static data member debug info for variable templates. // PR38004 struct TestImplicit { template static const __SIZE_TYPE__ size_var = sizeof(T); }; int instantiate_test1() { return TestImplicit::size_var + TestImplicit::size_var; } TestImplicit gv1; // CHECK: ![[empty:[0-9]+]] = !{} // CHECK: ![[A:[^ ]*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "TestImplicit", // CHECK-SAME: elements: ![[empty]] template bool vtpl; struct TestSpecialization { template static const auto sdm = vtpl; template <> static const auto sdm = false; } gv2; // CHECK: ![[A:[^ ]*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "TestSpecialization", // CHECK-SAME: elements: ![[empty]] template bool a; template struct b; struct TestPartial { template static auto d = a; template static auto d> = d; } c; // CHECK: ![[A:[^ ]*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "TestPartial", // CHECK-SAME: elements: ![[empty]]