forked from OSchip/llvm-project
68 lines
1.1 KiB
C++
68 lines
1.1 KiB
C++
// 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;
|
|
|