xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp (revision fd3346dba825f6b9c2873bdeafe34da8f8b4f3e1)
1*fd3346dbSCongcong Cai // RUN: %check_clang_tidy -check-suffix=REMOVE %s modernize-use-auto %t -- \
2*fd3346dbSCongcong Cai // RUN:   -config="{CheckOptions: {modernize-use-auto.RemoveStars: 'true', modernize-use-auto.MinTypeNameLength: '0'}}"
3*fd3346dbSCongcong Cai // RUN: %check_clang_tidy %s modernize-use-auto %t -- \
4*fd3346dbSCongcong Cai // RUN:   -config="{CheckOptions: {modernize-use-auto.RemoveStars: 'false', modernize-use-auto.MinTypeNameLength: '0'}}"
5*fd3346dbSCongcong Cai 
pointerToFunction()6*fd3346dbSCongcong Cai void pointerToFunction() {
7*fd3346dbSCongcong Cai   void (*(*(f1)))() = static_cast<void (**)()>(nullptr);
8*fd3346dbSCongcong Cai   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when initializing
9*fd3346dbSCongcong Cai   // CHECK-FIXES-REMOVE: auto f1 =
10*fd3346dbSCongcong Cai   // CHECK-FIXES: auto *f1 =
11*fd3346dbSCongcong Cai }
12*fd3346dbSCongcong Cai 
pointerToArray()13*fd3346dbSCongcong Cai void pointerToArray() {
14*fd3346dbSCongcong Cai   int(*a1)[2] = new int[10][2];
15*fd3346dbSCongcong Cai   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when initializing
16*fd3346dbSCongcong Cai   // CHECK-FIXES-REMOVE: auto a1 =
17*fd3346dbSCongcong Cai   // CHECK-FIXES: auto *a1 =
18*fd3346dbSCongcong Cai }
19*fd3346dbSCongcong Cai 
memberFunctionPointer()20*fd3346dbSCongcong Cai void memberFunctionPointer() {
21*fd3346dbSCongcong Cai   class A {
22*fd3346dbSCongcong Cai     void f();
23*fd3346dbSCongcong Cai   };
24*fd3346dbSCongcong Cai   void(A::* a1)() = static_cast<void(A::*)()>(nullptr);
25*fd3346dbSCongcong Cai   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when initializing
26*fd3346dbSCongcong Cai   // CHECK-FIXES-REMOVE: auto a1 =
27*fd3346dbSCongcong Cai   // CHECK-FIXES: auto *a1 =
28*fd3346dbSCongcong Cai }
29*fd3346dbSCongcong Cai 
30