diff options
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/readability-static-definition-in-anonymous-namespace.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-static-definition-in-anonymous-namespace.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-static-definition-in-anonymous-namespace.cpp b/clang-tools-extra/test/clang-tidy/readability-static-definition-in-anonymous-namespace.cpp new file mode 100644 index 00000000000..5c3c8c12d68 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/readability-static-definition-in-anonymous-namespace.cpp @@ -0,0 +1,49 @@ +// RUN: %check_clang_tidy %s readability-static-definition-in-anonymous-namespace %t + +namespace { + +int a = 1; +const int b = 1; +static int c = 1; +// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: 'c' is a static definition in anonymous namespace; static is redundant here [readability-static-definition-in-anonymous-namespace] +// CHECK-FIXES: {{^}}int c = 1; +static const int d = 1; +// CHECK-MESSAGES: :[[@LINE-1]]:18: warning: 'd' is a static definition in anonymous namespace +// CHECK-FIXES: {{^}}const int d = 1; +const static int e = 1; +// CHECK-MESSAGES: :[[@LINE-1]]:18: warning: 'e' is a static definition in anonymous namespace +// CHECK-FIXES: {{^}}const int e = 1; + +void f() { + int a = 1; + static int b = 1; +} + +static int g() { +// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: 'g' is a static definition in anonymous namespace +// CHECK-FIXES: {{^}}int g() { + return 1; +} + +#define DEFINE_STATIC static +// CHECK-FIXES: {{^}}#define DEFINE_STATIC static +DEFINE_STATIC int h = 1; +// CHECK-MESSAGES: :[[@LINE-1]]:19: warning: 'h' is a static definition in anonymous namespace +// CHECK-FIXES: {{^}}DEFINE_STATIC int h = 1; + +#define DEFINE_STATIC_VAR(x) static int x = 2 +// CHECK-FIXES: {{^}}#define DEFINE_STATIC_VAR(x) static int x = 2 +DEFINE_STATIC_VAR(i); +// CHECK-FIXES: {{^}}DEFINE_STATIC_VAR(i); + +} // namespace + +namespace N { + +int a = 1; +const int b = 1; +static int c = 1; +static const int d = 1; +const static int e = 1; + +} // namespace N |