xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/android/cloexec-inotify-init.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy %s android-cloexec-inotify-init %t
2*89a1d03eSRichard 
3*89a1d03eSRichard extern "C" int inotify_init();
4*89a1d03eSRichard 
f()5*89a1d03eSRichard void f() {
6*89a1d03eSRichard   inotify_init();
7*89a1d03eSRichard   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: prefer inotify_init() to inotify_init1() because inotify_init1() allows IN_CLOEXEC [android-cloexec-inotify-init]
8*89a1d03eSRichard   // CHECK-FIXES: inotify_init1(IN_CLOEXEC);
9*89a1d03eSRichard }
10*89a1d03eSRichard 
11*89a1d03eSRichard namespace i {
12*89a1d03eSRichard int inotify_init();
g()13*89a1d03eSRichard void g() {
14*89a1d03eSRichard   inotify_init();
15*89a1d03eSRichard }
16*89a1d03eSRichard } // namespace i
17*89a1d03eSRichard 
18*89a1d03eSRichard class C {
19*89a1d03eSRichard public:
20*89a1d03eSRichard   int inotify_init();
h()21*89a1d03eSRichard   void h() {
22*89a1d03eSRichard     inotify_init();
23*89a1d03eSRichard   }
24*89a1d03eSRichard };
25