xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/llvm/qualified-auto.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy %s llvm-qualified-auto %t
2*89a1d03eSRichard 
3*89a1d03eSRichard // This check just ensures by default the llvm alias doesn't add const
4*89a1d03eSRichard // qualifiers to decls, so no need to copy the entire test file from
5*89a1d03eSRichard // readability-qualified-auto.
6*89a1d03eSRichard 
7*89a1d03eSRichard int *getIntPtr();
8*89a1d03eSRichard const int *getCIntPtr();
9*89a1d03eSRichard 
foo()10*89a1d03eSRichard void foo() {
11*89a1d03eSRichard   auto NakedPtr = getIntPtr();
12*89a1d03eSRichard   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: 'auto NakedPtr' can be declared as 'auto *NakedPtr'
13*89a1d03eSRichard   // CHECK-FIXES: {{^}}  auto *NakedPtr = getIntPtr();
14*89a1d03eSRichard   auto NakedConstPtr = getCIntPtr();
15*89a1d03eSRichard   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: 'auto NakedConstPtr' can be declared as 'const auto *NakedConstPtr'
16*89a1d03eSRichard   // CHECK-FIXES: {{^}}  const auto *NakedConstPtr = getCIntPtr();
17*89a1d03eSRichard   auto *Ptr = getIntPtr();
18*89a1d03eSRichard   auto *ConstPtr = getCIntPtr();
19*89a1d03eSRichard   auto &NakedRef = *getIntPtr();
20*89a1d03eSRichard   auto &NakedConstRef = *getCIntPtr();
21*89a1d03eSRichard }
22