[weak vtables] Remove a bunch of weak vtables
[oota-llvm.git] / utils / TableGen / TGValueTypes.cpp
index 3ac71a49147f41ce1ce7970d4a07b6534ce119ac..81c0d4c544fc99f17f43b870db6e390886f63ff4 100644 (file)
@@ -35,9 +35,11 @@ public:
   }
   Type(TypeKind K) : Kind(K) {}
   virtual unsigned getSizeInBits() const = 0;
-  virtual ~Type() {}
+  virtual ~Type();
 };
 
+Type::~Type() {}
+
 }
 
 class ExtendedIntegerType : public Type {
@@ -45,10 +47,11 @@ class ExtendedIntegerType : public Type {
 public:
   explicit ExtendedIntegerType(unsigned bits)
     : Type(TK_ExtendedIntegerType), BitWidth(bits) {}
+  virtual ~ExtendedIntegerType();
   static bool classof(const Type *T) {
     return T->getKind() == TK_ExtendedIntegerType;
   }
-  unsigned getSizeInBits() const {
+  virtual unsigned getSizeInBits() const {
     return getBitWidth();
   }
   unsigned getBitWidth() const {
@@ -56,16 +59,20 @@ public:
   }
 };
 
+ExtendedIntegerType::~ExtendedIntegerType() {}
+
+
 class ExtendedVectorType : public Type {
   EVT ElementType;
   unsigned NumElements;
 public:
   ExtendedVectorType(EVT elty, unsigned num)
     : Type(TK_ExtendedVectorType), ElementType(elty), NumElements(num) {}
+  virtual ~ExtendedVectorType();
   static bool classof(const Type *T) {
     return T->getKind() == TK_ExtendedVectorType;
   }
-  unsigned getSizeInBits() const {
+  virtual unsigned getSizeInBits() const {
     return getNumElements() * getElementType().getSizeInBits();
   }
   EVT getElementType() const {
@@ -76,6 +83,9 @@ public:
   }
 };
 
+ExtendedVectorType::~ExtendedVectorType() {}
+
+
 static std::map<unsigned, const Type *>
   ExtendedIntegerTypeMap;
 static std::map<std::pair<uintptr_t, uintptr_t>, const Type *>