21 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3// Split from function-template-specialization.cpp because the noreturn warning4// requires analysis-based warnings, which the other errors in that test case5// disable.6 7template <int N> void __attribute__((noreturn)) f3() { __builtin_unreachable(); }8template <> void f3<1>() { } // expected-warning {{function declared 'noreturn' should not return}}9 10#if __cplusplus >= 201103L11namespace PR21942 {12template <int>13struct A {14 void foo[[noreturn]]();15};16 17template <>18void A<0>::foo() {} // expected-warning{{function declared 'noreturn' should not return}}19}20#endif21