1c4f83a00SCongcong Cai // RUN: %check_clang_tidy %s misc-use-internal-linkage %t -- -- -I%S/Inputs/use-internal-linkage 2019f5257SCongcong Cai // RUN: %check_clang_tidy %s misc-use-internal-linkage %t -- \ 3019f5257SCongcong Cai // RUN: -config="{CheckOptions: {misc-use-internal-linkage.FixMode: 'UseStatic'}}" -- -I%S/Inputs/use-internal-linkage 4c4f83a00SCongcong Cai 5c4f83a00SCongcong Cai #include "var.h" 6c4f83a00SCongcong Cai 7c4f83a00SCongcong Cai int global; 8c4f83a00SCongcong Cai // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: variable 'global' 9019f5257SCongcong Cai // CHECK-FIXES: static int global; 10c4f83a00SCongcong Cai 11c4f83a00SCongcong Cai template<class T> 12c4f83a00SCongcong Cai T global_template; 13c4f83a00SCongcong Cai // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: variable 'global_template' 14019f5257SCongcong Cai // CHECK-FIXES: static T global_template; 15c4f83a00SCongcong Cai 16*6f21a7bdSCongcong Cai int const* ptr_const_star; 17*6f21a7bdSCongcong Cai // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: variable 'ptr_const_star' 18*6f21a7bdSCongcong Cai // CHECK-FIXES: static int const* ptr_const_star; 19*6f21a7bdSCongcong Cai 20*6f21a7bdSCongcong Cai const int* const_ptr_star; 21*6f21a7bdSCongcong Cai // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: variable 'const_ptr_star' 22*6f21a7bdSCongcong Cai // CHECK-FIXES: static const int* const_ptr_star; 23*6f21a7bdSCongcong Cai 24*6f21a7bdSCongcong Cai const volatile int* const_volatile_ptr_star; 25*6f21a7bdSCongcong Cai // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: variable 'const_volatile_ptr_star' 26*6f21a7bdSCongcong Cai // CHECK-FIXES: static const volatile int* const_volatile_ptr_star; 27*6f21a7bdSCongcong Cai 28c4f83a00SCongcong Cai int gloabl_header; 29c4f83a00SCongcong Cai 30c4f83a00SCongcong Cai extern int global_extern; 31c4f83a00SCongcong Cai 32c4f83a00SCongcong Cai static int global_static; 33c4f83a00SCongcong Cai 34c4f83a00SCongcong Cai namespace { 35c4f83a00SCongcong Cai static int global_anonymous_ns; 36c4f83a00SCongcong Cai namespace NS { 37c4f83a00SCongcong Cai static int global_anonymous_ns; 38c4f83a00SCongcong Cai } 39c4f83a00SCongcong Cai } 40c4f83a00SCongcong Cai 41c4f83a00SCongcong Cai static void f(int para) { 42c4f83a00SCongcong Cai int local; 43c4f83a00SCongcong Cai static int local_static; 44c4f83a00SCongcong Cai } 45c4f83a00SCongcong Cai 46c4f83a00SCongcong Cai struct S { 47c4f83a00SCongcong Cai int m1; 48c4f83a00SCongcong Cai static int m2; 49c4f83a00SCongcong Cai }; 50c4f83a00SCongcong Cai int S::m2; 51c4f83a00SCongcong Cai 52c4f83a00SCongcong Cai extern "C" { 53c4f83a00SCongcong Cai int global_in_extern_c_1; 54c4f83a00SCongcong Cai } 55c4f83a00SCongcong Cai 56c4f83a00SCongcong Cai extern "C" int global_in_extern_c_2; 5729896db0SCarlos Galvez 5829896db0SCarlos Galvez const int const_global = 123; 5929896db0SCarlos Galvez constexpr int constexpr_global = 123; 60