1*89a1d03eSRichard // RUN: %check_clang_tidy %s llvm-prefer-register-over-unsigned %t 2*89a1d03eSRichard 3*89a1d03eSRichard namespace llvm { 4*89a1d03eSRichard class Register { 5*89a1d03eSRichard public: 6*89a1d03eSRichard operator unsigned(); 7*89a1d03eSRichard }; 8*89a1d03eSRichard } // end namespace llvm 9*89a1d03eSRichard 10*89a1d03eSRichard llvm::Register getReg(); 11*89a1d03eSRichard 12*89a1d03eSRichard using namespace llvm; 13*89a1d03eSRichard apply_1()14*89a1d03eSRichardvoid apply_1() { 15*89a1d03eSRichard unsigned Reg = getReg(); 16*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: variable 'Reg' declared as 'unsigned int'; use 'Register' instead [llvm-prefer-register-over-unsigned] 17*89a1d03eSRichard // CHECK-FIXES: apply_1() 18*89a1d03eSRichard // CHECK-FIXES-NEXT: Register Reg = getReg(); 19*89a1d03eSRichard } 20*89a1d03eSRichard done_1()21*89a1d03eSRichardvoid done_1() { 22*89a1d03eSRichard llvm::Register Reg = getReg(); 23*89a1d03eSRichard // CHECK-FIXES: done_1() 24*89a1d03eSRichard // CHECK-FIXES-NEXT: llvm::Register Reg = getReg(); 25*89a1d03eSRichard } 26