xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp (revision 89a1d03e2b379e325daa5249411e414bbd995b5e)
1*89a1d03eSRichard // RUN: %check_clang_tidy %s modernize-use-using %t -- \
2*89a1d03eSRichard // RUN:   -config="{CheckOptions: [{key: modernize-use-using.IgnoreMacros, value: false}]}"
3*89a1d03eSRichard 
4*89a1d03eSRichard #define CODE typedef int INT
5*89a1d03eSRichard 
6*89a1d03eSRichard CODE;
7*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
8*89a1d03eSRichard // CHECK-FIXES: #define CODE typedef int INT
9*89a1d03eSRichard // CHECK-FIXES: CODE;
10*89a1d03eSRichard 
11*89a1d03eSRichard struct Foo;
12*89a1d03eSRichard #define Bar Baz
13*89a1d03eSRichard typedef Foo Bar;
14*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
15*89a1d03eSRichard // CHECK-FIXES: #define Bar Baz
16*89a1d03eSRichard // CHECK-FIXES: using Baz = Foo;
17*89a1d03eSRichard 
18*89a1d03eSRichard #define TYPEDEF typedef
19*89a1d03eSRichard TYPEDEF Foo Bak;
20*89a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
21*89a1d03eSRichard // CHECK-FIXES: #define TYPEDEF typedef
22*89a1d03eSRichard // CHECK-FIXES: TYPEDEF Foo Bak;
23