aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C')
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C b/gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C
new file mode 100644
index 000000000..2f9362a1e
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/g++.dg/template/typedef30.C
@@ -0,0 +1,20 @@
+// Origin: PR c++/43206
+// { dg-do compile }
+
+template<class A> struct NumericTraits{ typedef A TInputImage;};
+template<class B> class CovariantVector{};
+template<class C> struct Image{ typedef C PixelType;};
+template<class H, class E, class D>
+class F {
+ typedef H G;
+ typedef
+ typename NumericTraits<typename G::PixelType>::RealType
+ InputRealType;
+};
+
+template<typename TInputImage,
+ typename TOutputImage=Image<CovariantVector<typename NumericTraits<typename TInputImage::PixelType>::TInputImage> > >
+class XXX{};
+
+XXX<Image<float> > x;
+