// RUN: %clang_cc1 -fsyntax-only -verify %s | |
// expected-no-diagnostics | |
namespace llvm { | |
template<typename T > struct StringSet; | |
template<int I > struct Int; | |
template <typename Inner, template <typename> class Outer> | |
struct TemplTempl; | |
} | |
namespace lld { | |
using llvm::StringSet; | |
using llvm::Int; | |
using llvm::TemplTempl; | |
}; | |
namespace llvm { | |
template<typename T > struct StringSet; | |
} | |
template<typename T> struct Temp{}; | |
namespace llvm { | |
template<typename T = int> struct StringSet{}; | |
template<int I = 5> struct Int{}; | |
template <typename Inner, template <typename> class Outer = Temp> | |
struct TemplTempl{}; | |
}; | |
namespace lld { | |
StringSet<> s; | |
Int<> i; | |
TemplTempl<int> tt; | |
} |