mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-12 01:18:53 +00:00
49e7ef2c09
When running in MSVC compatibility mode, previously no deprecated copy operation warnings (enabled by -Wdeprecated-copy) were raised. This restriction was already in place when the deprecated copy warning was first introduced. This patch removes said restriction so that deprecated copy warnings, if enabled, are also raised in MSVC compatibility mode. The reasoning here being that these warnings are still useful when running in MSVC compatibility mode and also have to be semi-explicitly enabled in the first place (using -Wdeprecated-copy, -Wdeprecated or -Wextra). Differential Revision: https://reviews.llvm.org/D133354
17 lines
716 B
C++
17 lines
716 B
C++
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify
|
|
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify -fms-compatibility
|
|
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated-copy-dtor -verify
|
|
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated-copy-dtor -verify -fms-compatibility
|
|
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated-copy-with-dtor -verify
|
|
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated-copy-with-dtor -verify -fms-compatibility
|
|
|
|
class A {
|
|
public:
|
|
~A() = default; // expected-warning {{definition of implicit copy constructor for 'A' is deprecated because it has a user-declared destructor}}
|
|
};
|
|
|
|
void test() {
|
|
A a1;
|
|
A a2 = a1; // expected-note {{in implicit copy constructor for 'A' first required here}}
|
|
}
|