Mercurial > hg > CbC > CbC_llvm
view clang/test/Parser/cxx2a-abbreviated-templates.cpp @ 222:81f6424ef0e3 llvm-original
LLVM original branch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:10:01 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -std=c++2a -x c++ %s -verify // expected-no-diagnostics template<typename T, typename U=void> concept C = true; namespace ns { template<typename T, typename U=void> concept D = true; } void foo1(C auto a, C<int> auto b, ns::D auto c, ns::D<int> auto d, const C auto e, const C<int> auto f, const ns::D auto g, const ns::D<int> auto h); void foo2(C auto a); void foo3(C<int> auto b); void foo4(ns::D auto c); void foo5(ns::D<int> auto d); void foo6(const C auto e); void foo7(const C<int> auto f); void foo8(const ns::D auto g); void foo9(const ns::D<int> auto h); struct S1 { S1(C auto a, C<int> auto b, ns::D auto c, ns::D<int> auto d, const C auto e, const C<int> auto f, const ns::D auto g, const ns::D<int> auto h); }; struct S2 { S2(C auto a); }; struct S3 { S3(C<int> auto b); }; struct S4 { S4(ns::D auto c); }; struct S5 { S5(ns::D<int> auto d); }; struct S6 { S6(const C auto e); }; struct S7 { S7(const C<int> auto f); }; struct S8 { S8(const ns::D auto g); }; struct S9 { S9(const ns::D<int> auto h); };