diff gcc/testsuite/g++.dg/template/pr4926-1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/template/pr4926-1.C	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,18 @@
+// PR c++/4926
+// { dg-do compile }
+
+template <unsigned> struct X { typedef int Type; };
+template <typename T> struct Y { char array[1]; };
+ 
+template<typename T> Y<T> P(T);  // acts as "Y<typeof(T)>"
+ 
+struct F { int operator()() const; };
+ 
+template <typename T>
+typename X<sizeof(P(  T()()  ).array)>::Type  foo();
+ 
+void
+bar () 
+{ 
+  foo<F>();
+}