Mercurial > hg > CbC > CbC_llvm
view clang/test/Parser/using-template.cpp @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 %s -verify namespace N1 { template <typename... Ts> struct Foo { template <typename T> struct Bar { static constexpr bool is_present = false; }; }; template <typename T, typename... Ts> struct Foo<T, Ts...> : public Foo<Ts...> { using template Foo<Ts...>::Bar; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} }; } namespace N2 { namespace foo { using I = int; } using template namespace foo; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} using template template namespace foo; // expected-error@-1 2{{'template' keyword not permitted after 'using' keyword}} I i; } namespace N3 { namespace foo { using I = int; } using template foo::I; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} I i; } namespace N4 { template <typename T> class A {}; template <typename T> using B = A<T>; B<int> b; using template <typename T> C = A<T>; // expected-error@-1 {{'template' keyword not permitted after 'using' keyword}} // expected-error@-2 {{expected unqualified-id}} C<int> c; // expected-error@-1 {{no template named 'C'}} }