[pushed] c++: Add test for PR96268.

Marek Polacek polacek@redhat.com
Mon Mar 8 20:29:11 GMT 2021


This works since the recent r11-7102, but we didn't have a test for
a template-argument context.

Tested x86_64-pc-linux-gnu, applying to trunk.

gcc/testsuite/ChangeLog:

	PR c++/96268
	* g++.dg/cpp2a/nontype-class41.C: New test.
---
 gcc/testsuite/g++.dg/cpp2a/nontype-class41.C | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/cpp2a/nontype-class41.C

diff --git a/gcc/testsuite/g++.dg/cpp2a/nontype-class41.C b/gcc/testsuite/g++.dg/cpp2a/nontype-class41.C
new file mode 100644
index 00000000000..2be88437072
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp2a/nontype-class41.C
@@ -0,0 +1,13 @@
+// PR c++/96268
+// { dg-do compile { target c++20 } }
+
+template <int N>
+struct static_string { char chars[N]; /* operator<=> */ };
+
+template <int N>
+static_string(char const(&)[N]) -> static_string<N>;
+
+static_string hi = {"hi"};
+
+template <static_string str> struct name {};
+using Hi = name<{"hi"}>;

base-commit: bc56d27de97ecea813279ce5ba45b278dcccfe21
-- 
2.29.2



More information about the Gcc-patches mailing list