Class with virtual methods should have virtual destructors too.
diff --git a/libacc/acc.cpp b/libacc/acc.cpp
index e4e5baa..0935be8 100644
--- a/libacc/acc.cpp
+++ b/libacc/acc.cpp
@@ -127,6 +127,7 @@
         va_end(ap);
     }
 
+    virtual ~ErrorSink() {}
     virtual void verror(const char* fmt, va_list ap) = 0;
 };
 
@@ -2003,6 +2004,7 @@
 
     class InputStream {
     public:
+        virtual ~InputStream() {}
         int getChar() {
             if (bumpLine) {
                 line++;