[weak vtables] Remove a bunch of weak vtables

This patch removes most of the trivial cases of weak vtables by pinning them to
a single object file.

Differential Revision: http://llvm-reviews.chandlerc.com/D2068

Reviewed by Andy

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194865 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Juergen Ributzka
2013-11-15 22:34:48 +00:00
parent 17d4ac8c46
commit 5a364c5561
115 changed files with 501 additions and 153 deletions

View File

@@ -105,6 +105,7 @@ private:
/// @brief Abstract base class for all Nodes.
class Node {
virtual void anchor();
public:
enum NodeKind {
NK_Null,
@@ -175,6 +176,7 @@ private:
/// Example:
/// !!null null
class NullNode : public Node {
virtual void anchor();
public:
NullNode(OwningPtr<Document> &D)
: Node(NK_Null, D, StringRef(), StringRef()) {}
@@ -190,6 +192,7 @@ public:
/// Example:
/// Adena
class ScalarNode : public Node {
virtual void anchor();
public:
ScalarNode(OwningPtr<Document> &D, StringRef Anchor, StringRef Tag,
StringRef Val)
@@ -231,6 +234,7 @@ private:
/// Example:
/// Section: .text
class KeyValueNode : public Node {
virtual void anchor();
public:
KeyValueNode(OwningPtr<Document> &D)
: Node(NK_KeyValue, D, StringRef(), StringRef())
@@ -342,6 +346,7 @@ void skip(CollectionType &C) {
/// Name: _main
/// Scope: Global
class MappingNode : public Node {
virtual void anchor();
public:
enum MappingType {
MT_Block,
@@ -391,6 +396,7 @@ private:
/// - Hello
/// - World
class SequenceNode : public Node {
virtual void anchor();
public:
enum SequenceType {
ST_Block,
@@ -446,6 +452,7 @@ private:
/// Example:
/// *AnchorName
class AliasNode : public Node {
virtual void anchor();
public:
AliasNode(OwningPtr<Document> &D, StringRef Val)
: Node(NK_Alias, D, StringRef(), StringRef()), Name(Val) {}