34 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// expected-no-diagnostics3namespace llvm {4 template<typename T > struct StringSet;5 template<int I > struct Int;6 template <typename Inner, template <typename> class Outer>7 struct TemplTempl;8}9 10namespace lld {11 using llvm::StringSet;12 using llvm::Int;13 using llvm::TemplTempl;14};15 16namespace llvm {17 template<typename T > struct StringSet;18}19 20template<typename T> struct Temp{};21 22namespace llvm {23 template<typename T = int> struct StringSet{};24 template<int I = 5> struct Int{};25 template <typename Inner, template <typename> class Outer = Temp>26 struct TemplTempl{};27};28 29namespace lld {30 StringSet<> s;31 Int<> i;32 TemplTempl<int> tt;33}34