xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-macros.cpp (revision e8a3ddafe063c970df9c23e803812369abde4c82)
189a1d03eSRichard // RUN: %check_clang_tidy %s modernize-use-using %t -- \
2*e8a3ddafSNathan James // RUN:   -config="{CheckOptions: {modernize-use-using.IgnoreMacros: false}}"
389a1d03eSRichard 
489a1d03eSRichard #define CODE typedef int INT
589a1d03eSRichard 
689a1d03eSRichard CODE;
789a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
889a1d03eSRichard // CHECK-FIXES: #define CODE typedef int INT
989a1d03eSRichard // CHECK-FIXES: CODE;
1089a1d03eSRichard 
1189a1d03eSRichard struct Foo;
1289a1d03eSRichard #define Bar Baz
1389a1d03eSRichard typedef Foo Bar;
1489a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
1589a1d03eSRichard // CHECK-FIXES: #define Bar Baz
1689a1d03eSRichard // CHECK-FIXES: using Baz = Foo;
1789a1d03eSRichard 
1889a1d03eSRichard #define TYPEDEF typedef
1989a1d03eSRichard TYPEDEF Foo Bak;
2089a1d03eSRichard // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef'
2189a1d03eSRichard // CHECK-FIXES: #define TYPEDEF typedef
2289a1d03eSRichard // CHECK-FIXES: TYPEDEF Foo Bak;
23