diff options
author | Gabor Horvath <xazax.hun@gmail.com> | 2017-02-17 08:52:51 +0000 |
---|---|---|
committer | Gabor Horvath <xazax.hun@gmail.com> | 2017-02-17 08:52:51 +0000 |
commit | e2fa53030e1457060e5b88d4168be9c5b121054c (patch) | |
tree | afe0e4ab990a5a8dbf4815147ae8e9629caee85a /clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp | |
parent | 3c35491f02f79e71688ca4d2ca63c243e3e5b18c (diff) | |
download | bcm5719-llvm-e2fa53030e1457060e5b88d4168be9c5b121054c.tar.gz bcm5719-llvm-e2fa53030e1457060e5b88d4168be9c5b121054c.zip |
[clang-tidy] Add cert-dcl58-cpp (do not modify the 'std' namespace) check.
Differential Revision: https://reviews.llvm.org/D23421
llvm-svn: 295435
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp b/clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp new file mode 100644 index 00000000000..34ee368dffe --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/cert-dcl58-cpp.cpp @@ -0,0 +1,67 @@ +// RUN: %check_clang_tidy %s cert-dcl58-cpp %t -- -- -std=c++1z -I %S/Inputs/Headers + +#include "system-header-simulation.h" + +namespace A { + namespace B { + int b; + } +} + +namespace A { + namespace B { + int c; + } +} + +namespace posix { +// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: modification of 'posix' namespace can result in undefined behavior [cert-dcl58-cpp] + namespace vmi { + } +} + +namespace std { +// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: modification of 'std' namespace can + int stdInt; +} + +namespace foobar { + namespace std { + int bar; + } +} + +namespace posix::a { +// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: modification of 'posix' namespace +} + +enum class MyError { + ErrorA, + ErrorB +}; + +namespace std { +template <> +struct is_error_code_enum<MyError> : std::true_type {}; + +template<> +void swap<MyError>(MyError &a, MyError &b); +} + +enum class MyError2 { + Error2A, + Error2B +}; + +namespace std { +// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: modification of 'std' namespace +template <> +struct is_error_code_enum<MyError2> : std::true_type {}; + +int foobar; +} + +using namespace std; + +int x; + |