llvm-project/clang-tools-extra/test/clang-tidy/checkers/google-readability-namespac...

116 lines
2.5 KiB
C++

// RUN: %check_clang_tidy %s google-readability-namespace-comments %t
namespace n1 {
namespace /* a comment */ n2 /* another comment */ {
void f(); // So that the namespace isn't empty.
// CHECK-MESSAGES: :[[@LINE+4]]:1: warning: namespace 'n2' not terminated with a closing comment [google-readability-namespace-comments]
// CHECK-MESSAGES: :[[@LINE-7]]:27: note: namespace 'n2' starts here
// CHECK-MESSAGES: :[[@LINE+2]]:2: warning: namespace 'n1' not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:11: note: namespace 'n1' starts here
}}
// CHECK-FIXES: } // namespace n2
// CHECK-FIXES: } // namespace n1
#define MACRO macro_expansion
namespace MACRO {
void f(); // So that the namespace isn't empty.
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: namespace 'MACRO' not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:11: note: namespace 'MACRO' starts here
}
// CHECK-FIXES: } // namespace MACRO
namespace macro_expansion {
void ff(); // So that the namespace isn't empty.
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: namespace 'macro_expansion' not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:11: note: namespace 'macro_expansion' starts here
}
// CHECK-FIXES: } // namespace macro_expansion
namespace [[deprecated("foo")]] namespace_with_attr {
inline namespace inline_namespace {
void g();
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: namespace 'inline_namespace' not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:18: note: namespace 'inline_namespace' starts here
}
// CHECK-FIXES: } // namespace inline_namespace
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: namespace 'namespace_with_attr' not terminated with
// CHECK-MESSAGES: :[[@LINE-15]]:33: note: namespace 'namespace_with_attr' starts here
}
// CHECK-FIXES: } // namespace namespace_with_attr
namespace [[deprecated]] {
void h();
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: anonymous namespace not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:26: note: anonymous namespace starts here
}
// CHECK-FIXES: } // namespace{{$}}
namespace [[]] {
void hh();
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// CHECK-MESSAGES: :[[@LINE+2]]:1: warning: anonymous namespace not terminated with
// CHECK-MESSAGES: :[[@LINE-10]]:16: note: anonymous namespace starts here
}
// CHECK-FIXES: } // namespace{{$}}
namespace short1 {
namespace short2 {
// Namespaces covering 10 lines or fewer are exempt from this rule.
}
}
namespace n3 {
}; // namespace n3