brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 696a20c Raw
60 lines · cpp
1// RUN: %check_clang_tidy %s android-cloexec-epoll-create1 %t2 3#define __O_CLOEXEC 34#define EPOLL_CLOEXEC __O_CLOEXEC5#define TEMP_FAILURE_RETRY(exp) \6  ({                            \7    int _rc;                    \8    do {                        \9      _rc = (exp);              \10    } while (_rc == -1);        \11  })12 13extern "C" int epoll_create1(int flags);14 15void a() {16  epoll_create1(0);17  // CHECK-MESSAGES: :[[@LINE-1]]:18: warning: 'epoll_create1' should use EPOLL_CLOEXEC where possible [android-cloexec-epoll-create1]18  // CHECK-FIXES: epoll_create1(EPOLL_CLOEXEC);19  TEMP_FAILURE_RETRY(epoll_create1(0));20  // CHECK-MESSAGES: :[[@LINE-1]]:37: warning: 'epoll_create1'21  // CHECK-FIXES: TEMP_FAILURE_RETRY(epoll_create1(EPOLL_CLOEXEC));22}23 24void f() {25  epoll_create1(3);26  // CHECK-MESSAGES: :[[@LINE-1]]:18: warning: 'epoll_create1'27  // CHECK-FIXES: epoll_create1(EPOLL_CLOEXEC);28  TEMP_FAILURE_RETRY(epoll_create1(3));29  // CHECK-MESSAGES: :[[@LINE-1]]:37: warning: 'epoll_create1'30  // CHECK-FIXES: TEMP_FAILURE_RETRY(epoll_create1(EPOLL_CLOEXEC));31 32  int flag = 0;33  epoll_create1(EPOLL_CLOEXEC);34  TEMP_FAILURE_RETRY(epoll_create1(EPOLL_CLOEXEC));35}36 37namespace i {38int epoll_create1(int flags);39 40void d() {41  epoll_create1(0);42  TEMP_FAILURE_RETRY(epoll_create1(0));43}44 45} // namespace i46 47void e() {48  epoll_create1(EPOLL_CLOEXEC);49  TEMP_FAILURE_RETRY(epoll_create1(EPOLL_CLOEXEC));50}51 52class G {53public:54  int epoll_create1(int flags);55  void d() {56    epoll_create1(EPOLL_CLOEXEC);57    TEMP_FAILURE_RETRY(epoll_create1(EPOLL_CLOEXEC));58  }59};60