diff mbox series

C++ PATCH to add test for c++/87512

Message ID 20190620153803.GF5989@redhat.com
State New
Headers show
Series C++ PATCH to add test for c++/87512 | expand

Commit Message

Marek Polacek June 20, 2019, 3:38 p.m. UTC
This got fixed by r266055 but we didn't have a test like this.

Tested on x86_64-linux, applying to trunk.

2019-06-20  Marek Polacek  <polacek@redhat.com>

	PR c++/87512
	* g++.dg/cpp1z/inline-var7.C: New test.
diff mbox series

Patch

diff --git gcc/testsuite/g++.dg/cpp1z/inline-var7.C gcc/testsuite/g++.dg/cpp1z/inline-var7.C
new file mode 100644
index 00000000000..71fa1d3b7da
--- /dev/null
+++ gcc/testsuite/g++.dg/cpp1z/inline-var7.C
@@ -0,0 +1,20 @@ 
+// PR c++/87512
+// { dg-do compile { target c++17 } }
+
+template <int, typename T = int> using enable_if_t = int;
+template<typename T> struct is_pointer { enum { value = 0 }; };
+
+template <typename T>
+inline constexpr auto IsPtr = is_pointer<T>::value;
+
+class Foo;
+class Bar;
+
+template <typename T1, typename T2>
+void foo(T1, T2);
+
+template <typename T>
+enable_if_t<IsPtr<T>> foo(T, Foo);
+
+template <>
+void foo<Bar>(Bar, Bar);