xref: /llvm-project/clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp (revision c4f83a004bf35bfc46fe89111fdca750bbc724da)
1 // RUN: %check_clang_tidy %s misc-use-internal-linkage %t -- -- -I%S/Inputs/use-internal-linkage
2 
3 #include "var.h"
4 
5 int global;
6 // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: variable 'global'
7 
8 template<class T>
9 T global_template;
10 // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: variable 'global_template'
11 
12 int gloabl_header;
13 
14 extern int global_extern;
15 
16 static int global_static;
17 
18 namespace {
19 static int global_anonymous_ns;
20 namespace NS {
21 static int global_anonymous_ns;
22 }
23 }
24 
25 static void f(int para) {
26   int local;
27   static int local_static;
28 }
29 
30 struct S {
31   int m1;
32   static int m2;
33 };
34 int S::m2;
35 
36 extern "C" {
37 int global_in_extern_c_1;
38 }
39 
40 extern "C" int global_in_extern_c_2;
41