Index: src/SynTree/Declaration.cc
===================================================================
--- src/SynTree/Declaration.cc	(revision 1cdfa82ab4efb64ed6273f4e8e3993bc8895a419)
+++ src/SynTree/Declaration.cc	(revision 42107b41a887b7888f179ea48e8f6e41ba1607d8)
@@ -80,9 +80,4 @@
 }
 
-StaticAssertDecl::~StaticAssertDecl() {
-	delete condition;
-	delete message;
-}
-
 void StaticAssertDecl::print( std::ostream &os, Indenter indent ) const {
 	os << "Static Assert with condition: ";
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 1cdfa82ab4efb64ed6273f4e8e3993bc8895a419)
+++ src/SynTree/Declaration.h	(revision 42107b41a887b7888f179ea48e8f6e41ba1607d8)
@@ -364,5 +364,4 @@
 	StaticAssertDecl( Expression * condition, ConstantExpr * message );
 	StaticAssertDecl( const StaticAssertDecl & other );
-	virtual ~StaticAssertDecl();
 
 	virtual StaticAssertDecl * clone() const override { return new StaticAssertDecl( *this ); }
Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision 1cdfa82ab4efb64ed6273f4e8e3993bc8895a419)
+++ src/SynTree/Expression.cc	(revision 42107b41a887b7888f179ea48e8f6e41ba1607d8)
@@ -268,8 +268,4 @@
 }
 
-KeywordCastExpr::~KeywordCastExpr() {
-	delete arg;
-}
-
 const std::string & KeywordCastExpr::targetString() const {
 	static const std::string targetStrs[] = {
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision 1cdfa82ab4efb64ed6273f4e8e3993bc8895a419)
+++ src/SynTree/Expression.h	(revision 42107b41a887b7888f179ea48e8f6e41ba1607d8)
@@ -210,5 +210,4 @@
 	KeywordCastExpr( Expression * arg, Target target );
 	KeywordCastExpr( const KeywordCastExpr & other );
-	virtual ~KeywordCastExpr();
 
 	const std::string & targetString() const;
Index: src/SynTree/GcTracer.h
===================================================================
--- src/SynTree/GcTracer.h	(revision 1cdfa82ab4efb64ed6273f4e8e3993bc8895a419)
+++ src/SynTree/GcTracer.h	(revision 42107b41a887b7888f179ea48e8f6e41ba1607d8)
@@ -78,4 +78,9 @@
 	}
 
+	void postvisit( OffsetofExpr* expr ) {
+		postvisit( static_cast<Expression*>(expr) );
+		maybeAccept( expr->member, *visitor );
+	}
+
 	void postvisit( UniqueExpr* expr ) {
 		postvisit( static_cast<Expression*>(expr) );
