[llvm] r237801 - [YAML] Make Node's destructor non-virtual.
Benjamin Kramer
benny.kra at googlemail.com
Wed May 20 08:38:29 PDT 2015
Author: d0k
Date: Wed May 20 10:38:29 2015
New Revision: 237801
URL: http://llvm.org/viewvc/llvm-project?rev=237801&view=rev
Log:
[YAML] Make Node's destructor non-virtual.
Nodes aren't supposed to be destroyed polymorphically. Also make all subclasses
final to avoid non-virtual dtor warnings.
Modified:
llvm/trunk/include/llvm/Support/YAMLParser.h
Modified: llvm/trunk/include/llvm/Support/YAMLParser.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/YAMLParser.h?rev=237801&r1=237800&r2=237801&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/YAMLParser.h (original)
+++ llvm/trunk/include/llvm/Support/YAMLParser.h Wed May 20 10:38:29 2015
@@ -159,7 +159,7 @@ protected:
void operator delete(void *) throw() {}
- virtual ~Node() {}
+ ~Node() = default;
private:
unsigned int TypeID;
@@ -172,7 +172,7 @@ private:
///
/// Example:
/// !!null null
-class NullNode : public Node {
+class NullNode final : public Node {
void anchor() override;
public:
@@ -187,7 +187,7 @@ public:
///
/// Example:
/// Adena
-class ScalarNode : public Node {
+class ScalarNode final : public Node {
void anchor() override;
public:
@@ -230,7 +230,7 @@ private:
/// |
/// Hello
/// World
-class BlockScalarNode : public Node {
+class BlockScalarNode final : public Node {
void anchor() override;
public:
@@ -260,7 +260,7 @@ private:
///
/// Example:
/// Section: .text
-class KeyValueNode : public Node {
+class KeyValueNode final : public Node {
void anchor() override;
public:
@@ -371,7 +371,7 @@ template <class CollectionType> void ski
/// Example:
/// Name: _main
/// Scope: Global
-class MappingNode : public Node {
+class MappingNode final : public Node {
void anchor() override;
public:
@@ -418,7 +418,7 @@ private:
/// Example:
/// - Hello
/// - World
-class SequenceNode : public Node {
+class SequenceNode final : public Node {
void anchor() override;
public:
@@ -471,7 +471,7 @@ private:
///
/// Example:
/// *AnchorName
-class AliasNode : public Node {
+class AliasNode final : public Node {
void anchor() override;
public:
More information about the llvm-commits
mailing list