reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
// RUN: %clang_cc1 -fsyntax-only -verify %s

// Split from function-template-specialization.cpp because the noreturn warning
// requires analysis-based warnings, which the other errors in that test case
// disable.

template <int N> void __attribute__((noreturn)) f3() { __builtin_unreachable(); }
template <> void f3<1>() { } // expected-warning {{function declared 'noreturn' should not return}}

#if __cplusplus >= 201103L
namespace PR21942 {
template <int>
struct A {
  void foo[[noreturn]]();
};

template <>
void A<0>::foo() {} // expected-warning{{function declared 'noreturn' should not return}}
}
#endif