// RUN: %check_clang_tidy %s modernize-avoid-setjmp-longjmp %t typedef void *jmp_buf; extern int __setjmpimpl(jmp_buf); #define setjmp(x) __setjmpimpl(x) [[noreturn]] extern void longjmp(jmp_buf, int); namespace std { using ::jmp_buf; using ::longjmp; } static jmp_buf env; void g() { std::longjmp(env, 1); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not call 'longjmp'; consider using exception handling instead [modernize-avoid-setjmp-longjmp] ::longjmp(env, 1); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not call 'longjmp'; consider using exception handling instead longjmp(env, 1); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not call 'longjmp'; consider using exception handling instead } void f() { (void)setjmp(env); // CHECK-MESSAGES: :[[@LINE-1]]:9: warning: do not call 'setjmp'; consider using exception handling instead }