From c456e686a9c1f7bab5add9a7c4636f9aea4566cb Mon Sep 17 00:00:00 2001 From: Alexander Kornienko Date: Tue, 24 Jan 2017 11:40:23 +0000 Subject: [clang-tidy] Add more tests for modernize-use-using. llvm-svn: 292917 --- .../test/clang-tidy/modernize-use-using.cpp | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'clang-tools-extra/test/clang-tidy/modernize-use-using.cpp') diff --git a/clang-tools-extra/test/clang-tidy/modernize-use-using.cpp b/clang-tools-extra/test/clang-tidy/modernize-use-using.cpp index 7a439e6bf72..c117c0c40a2 100644 --- a/clang-tools-extra/test/clang-tidy/modernize-use-using.cpp +++ b/clang-tools-extra/test/clang-tidy/modernize-use-using.cpp @@ -94,3 +94,45 @@ typedef Foo Bar; // CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' // CHECK-FIXES: #define Bar Baz // CHECK-FIXES: using Baz = Foo; + +#define TYPEDEF typedef +TYPEDEF Foo Bak; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: #define TYPEDEF typedef +// CHECK-FIXES: TYPEDEF Foo Bak; + +#define FOO Foo +typedef FOO Bam; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: #define FOO Foo +// CHECK-FIXES: using Bam = Foo; + +typedef struct Foo Bap; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Bap = struct Foo; + +struct Foo typedef Bap2; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Bap2 = struct Foo; + +Foo typedef Bap3; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Bap3 = Foo; + +typedef struct Unknown Baq; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Baq = struct Unknown; + +struct Unknown2 typedef Baw; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Baw = struct Unknown2; + +int typedef Bax; +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: use 'using' instead of 'typedef' +// CHECK-FIXES: using Bax = int; + +// FIXME: Avoid incorrect fixes in these cases. +//typedef struct Q1 { int a; } S1; +//typedef struct { int b; } S2; +//struct Q2 { int c; } typedef S3; +//struct { int d; } typedef S4; -- cgit v1.2.3