// RUN: %check_clang_tidy %s readability-redundant-function-ptr-dereference %t void f(int i); void positive() { void (*p)(int) = f; (**p)(1); // CHECK-MESSAGES: :[[@LINE-1]]:4: warning: redundant repeated dereference of function pointer [readability-redundant-function-ptr-dereference] // CHECK-FIXES: (*p)(1); (*****p)(2); // CHECK-MESSAGES: :[[@LINE-1]]:4: warning: redundant repeated // CHECK-MESSAGES: :[[@LINE-2]]:5: warning: redundant repeated // CHECK-MESSAGES: :[[@LINE-3]]:6: warning: redundant repeated // CHECK-MESSAGES: :[[@LINE-4]]:7: warning: redundant repeated // CHECK-FIXES: (*p)(2); } void negative() { void (*q)(int) = &f; q(1); (*q)(2); }