[TableGen] Move a couple virtual methods out of line so vtable anchors can be removed...
[oota-llvm.git] / include / llvm / TableGen / Record.h
index 16932a23a03abe4ccd93ae64844919ef797d48de..eada90d1573cc338fae0a1785284d437dced471e 100644 (file)
@@ -139,7 +139,6 @@ class StringRecTy : public RecTy {
   static StringRecTy Shared;
   StringRecTy() : RecTy(StringRecTyKind) {}
 
-  virtual void anchor();
 public:
   static bool classof(const RecTy *RT) {
     return RT->getRecTyKind() == StringRecTyKind;
@@ -147,7 +146,7 @@ public:
 
   static StringRecTy *get() { return &Shared; }
 
-  std::string getAsString() const override { return "string"; }
+  std::string getAsString() const override;
 };
 
 /// ListRecTy - 'list<Ty>' - Represent a list of values, all of which must be of
@@ -177,7 +176,6 @@ class DagRecTy : public RecTy {
   static DagRecTy Shared;
   DagRecTy() : RecTy(DagRecTyKind) {}
 
-  virtual void anchor();
 public:
   static bool classof(const RecTy *RT) {
     return RT->getRecTyKind() == DagRecTyKind;
@@ -185,7 +183,7 @@ public:
 
   static DagRecTy *get() { return &Shared; }
 
-  std::string getAsString() const override { return "dag"; }
+  std::string getAsString() const override;
 };
 
 /// RecordRecTy - '[classname]' - Represent an instance of a class, such as: