[llvm] r243897 - -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11
David Blaikie
dblaikie at gmail.com
Mon Aug 3 13:12:59 PDT 2015
Author: dblaikie
Date: Mon Aug 3 15:12:58 2015
New Revision: 243897
URL: http://llvm.org/viewvc/llvm-project?rev=243897&view=rev
Log:
-Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11
Some functions return concrete ByteStreamers by value - explicitly
support that in the base class. (dtor can be virtual, no one seems to be
polymorphically owning/destroying them)
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/ByteStreamer.h
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/ByteStreamer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/ByteStreamer.h?rev=243897&r1=243896&r2=243897&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/ByteStreamer.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/ByteStreamer.h Mon Aug 3 15:12:58 2015
@@ -24,16 +24,19 @@
namespace llvm {
class ByteStreamer {
- public:
- virtual ~ByteStreamer() {}
+ protected:
+ ~ByteStreamer() = default;
+ ByteStreamer(const ByteStreamer&) = default;
+ ByteStreamer() = default;
+ public:
// For now we're just handling the calls we need for dwarf emission/hashing.
virtual void EmitInt8(uint8_t Byte, const Twine &Comment = "") = 0;
virtual void EmitSLEB128(uint64_t DWord, const Twine &Comment = "") = 0;
virtual void EmitULEB128(uint64_t DWord, const Twine &Comment = "") = 0;
};
-class APByteStreamer : public ByteStreamer {
+class APByteStreamer final : public ByteStreamer {
private:
AsmPrinter ≈
@@ -53,7 +56,7 @@ public:
}
};
-class HashingByteStreamer : public ByteStreamer {
+class HashingByteStreamer final : public ByteStreamer {
private:
DIEHash &Hash;
public:
@@ -69,7 +72,7 @@ class HashingByteStreamer : public ByteS
}
};
-class BufferByteStreamer : public ByteStreamer {
+class BufferByteStreamer final : public ByteStreamer {
private:
SmallVectorImpl<char> &Buffer;
SmallVectorImpl<std::string> &Comments;
More information about the llvm-commits
mailing list