Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/alias-template-nondependent.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 | 79ff65ed7e25 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -std=c++20 -verify %s namespace PR46377 { template<typename> using IntPtr = int*; template<typename ...T> auto non_dependent_typedef() { typedef int(*P)(IntPtr<T>...); return P(); } template<typename ...T> auto non_dependent_alias() { using P = int(*)(IntPtr<T>...); return P(); } template<typename ...T> auto non_dependent_via_sizeof() { using P = int(*)(int(...pack)[sizeof(sizeof(T))]); // expected-error {{invalid application of 'sizeof'}} return P(); } using a = int (*)(int*, int*); using a = decltype(non_dependent_typedef<void, void>()); using a = decltype(non_dependent_alias<void, void>()); using a = decltype(non_dependent_via_sizeof<float, float>()); using b = decltype(non_dependent_via_sizeof<float, void>()); // expected-note {{instantiation of}} }