130adb9fdSZhouyi Zhou // RUN: %clang_cc1 -verify %s 230adb9fdSZhouyi Zhou // RUN: %clang_cc1 -std=c++11 -verify %s 330adb9fdSZhouyi Zhou // RUN: %clang_cc1 -std=c++17 -verify %s 430adb9fdSZhouyi Zhou // RUN: %clang_cc1 -std=c++1z -verify %s 5*9cfb138eSKrystian Stasiowski 630adb9fdSZhouyi Zhou class A { 730adb9fdSZhouyi Zhou public: 830adb9fdSZhouyi Zhou static const char X; 930adb9fdSZhouyi Zhou }; 1030adb9fdSZhouyi Zhou const char A::X = 0; 1130adb9fdSZhouyi Zhou 1230adb9fdSZhouyi Zhou template<typename U> void func() noexcept(U::X); 1330adb9fdSZhouyi Zhou 1430adb9fdSZhouyi Zhou template<class... B, char x> foo(void (B...)noexcept (x))1530adb9fdSZhouyi Zhouvoid foo(void(B...) noexcept(x)) {} // expected-note{{candidate template ignored}} 1630adb9fdSZhouyi Zhou bar()1730adb9fdSZhouyi Zhouvoid bar() 1830adb9fdSZhouyi Zhou { 1930adb9fdSZhouyi Zhou foo(func<A>); // expected-error{{no matching function for call}} 2030adb9fdSZhouyi Zhou } 21