Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/alias-template-nondependent.cpp @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +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}} }