https://gcc.gnu.org/g:58a9f3ded1a0ccc2c8b0a42f976950041734798e

commit r15-2154-g58a9f3ded1a0ccc2c8b0a42f976950041734798e
Author: Patrick Palka <ppa...@redhat.com>
Date:   Fri Jul 19 11:08:09 2024 -0400

    c++: add fixed testcase [PR109464]
    
    Seems to be fixed by r15-521-g6ad7ca1bb90573.
    
            PR c++/109464
    
    gcc/testsuite/ChangeLog:
    
            * g++.dg/template/explicit-instantiation8.C: New test.

Diff:
---
 .../g++.dg/template/explicit-instantiation8.C      | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gcc/testsuite/g++.dg/template/explicit-instantiation8.C 
b/gcc/testsuite/g++.dg/template/explicit-instantiation8.C
new file mode 100644
index 000000000000..92152a2992e9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/explicit-instantiation8.C
@@ -0,0 +1,24 @@
+// PR c++/109464
+// { dg-do compile { target c++11 } }
+
+template<typename T>
+struct shallow
+ {
+   int len;
+   constexpr shallow() : len(0) { }
+  };
+
+template<typename T>
+struct use_shallow
+  {
+   static constexpr shallow<T> s_zstr = { };
+   static_assert(s_zstr.len == 0, "");
+  };
+
+extern template struct shallow<char>;
+extern template struct use_shallow<char>;
+
+template struct shallow<char>;
+template struct use_shallow<char>;
+
+// { dg-final { scan-assembler "_ZN7shallowIcEC2Ev" } }

Reply via email to