issue150.cpp revision 67714230a191bc3c01f33378f34f34ef377991a6
167714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor// RUN: %clang_cc1 -fsyntax-only -verify %s 267714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor 367714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor// Core issue 150: Template template parameters and default arguments 467714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor 567714230a191bc3c01f33378f34f34ef377991a6Douglas Gregornamespace PR9353 { 667714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor template<class _T, class Traits> class IM; 767714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor 867714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor template <class T, class Trt, 967714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor template<class _T, class Traits = int> class IntervalMap> 1067714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor void foo(IntervalMap<T,Trt>* m) { typedef IntervalMap<int> type; } 1167714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor 1267714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor void f(IM<int, int>* m) { foo(m); } 1367714230a191bc3c01f33378f34f34ef377991a6Douglas Gregor} 14