[llvm-commits] CVS: llvm/include/Support/Annotation.h

Chris Lattner lattner at cs.uiuc.edu
Thu Feb 26 01:27:02 PST 2004


Changes in directory llvm/include/Support:

Annotation.h updated: 1.13 -> 1.14

---
Log message:

Make sure that at least one virtual method is defined in a .cpp file to avoid
having the compiler emit RTTI and vtables to EVERY translation unit.


---
Diffs of the changes:  (+2 -9)

Index: llvm/include/Support/Annotation.h
diff -u llvm/include/Support/Annotation.h:1.13 llvm/include/Support/Annotation.h:1.14
--- llvm/include/Support/Annotation.h:1.13	Tue Nov 11 16:41:29 2003
+++ llvm/include/Support/Annotation.h	Thu Feb 26 01:23:53 2004
@@ -68,7 +68,7 @@
   Annotation *Next;        // The next annotation in the linked list
 public:
   inline Annotation(AnnotationID id) : ID(id), Next(0) {}
-  virtual ~Annotation() {}  // Designed to be subclassed
+  virtual ~Annotation();  // Designed to be subclassed
 
   // getID - Return the unique ID# of this annotation
   inline AnnotationID getID() const { return ID; }
@@ -95,14 +95,7 @@
   void operator=(const Annotable &);   // Do not implement
 public:
   Annotable() : AnnotationList(0) {}
-  virtual ~Annotable() {   // Virtual because it's designed to be subclassed...
-    Annotation *A = AnnotationList;
-    while (A) {
-      Annotation *Next = A->getNext();
-      delete A;
-      A = Next;
-    }
-  }
+  virtual ~Annotable();    // Virtual because it's designed to be subclassed...
 
   // getAnnotation - Search the list for annotations of the specified ID.  The
   // pointer returned is either null (if no annotations of the specified ID





More information about the llvm-commits mailing list