forked from OSchip/llvm-project
Work around a GCC 4.7-specific issue: due to implementing older rules for
implicit declarations of move operations, GCC 4.7 would find that SelectPiece has neither a move constructor nor a copy constructor. The copy constructor was (correctly) deleted because the class has a member of move-only type, and the move constructor was (incorrectly, per current C++ rules) not provided because the class has a copy-only base class (in turn because it explicitly declares a destructor). llvm-svn: 281363
This commit is contained in:
parent
4a8eba3e96
commit
ffa0241a03
|
@ -910,6 +910,11 @@ namespace {
|
|||
/// Diagnostic text, parsed into pieces.
|
||||
struct DiagText {
|
||||
struct Piece {
|
||||
// This type and its derived classes are move-only.
|
||||
Piece() = default;
|
||||
Piece(Piece &&O) = default;
|
||||
Piece &operator=(Piece &&O) = default;
|
||||
|
||||
virtual void print(std::vector<std::string> &RST) = 0;
|
||||
virtual ~Piece() {}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue