Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaTemplate/alias-template-nondependent.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 | 2e18cbf3894f |
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}} }