| // RUN: %clang_cc1 -fsyntax-only -triple i686-pc-win32 -verify -std=c++11 %s |
| inline void f(); // expected-warning{{inline function 'test1::f' is not defined}} |
| void test() { f(); } // expected-note{{used here}} |
| void test() { (void)sizeof(f()); } |
| void f(); // expected-warning{{inline function 'test3::f' is not defined}} |
| void test() { f(); } // expected-note{{used here}} |
| inline void error_on_zero(int); // expected-warning{{inline function 'test4::error_on_zero' is not defined}} |
| inline void error_on_zero(char*) {} |
| void test() { error_on_zero(0); } // expected-note{{used here}} |
| void test(X &x) { x.f(); } |
| struct X { inline void f(); }; // expected-warning{{inline function 'test6::X::f' is not defined}} |
| void test(X &x) { x.f(); } // expected-note{{used here}} |
| void f(); // expected-warning{{inline function 'test7::f' is not defined}} |
| void test() { f(); } // no used-here note. |
| inline void foo() __attribute__((gnu_inline)); |
| inline void foo() __attribute__((gnu_inline)); |
| inline void foo() __attribute__((gnu_inline)); |
| inline void foo() __attribute__((dllexport)); |
| inline void bar() __attribute__((dllimport)); |
| void test() { foo(); bar(); } |
| template<typename> constexpr int _S_chk(int *); |
| decltype(_S_chk<int>(nullptr)) n; |