Index: src/GenPoly/Specialize.cc
===================================================================
--- src/GenPoly/Specialize.cc	(revision 490fb92ee824a236b6dd44604bfed5090c7acc95)
+++ src/GenPoly/Specialize.cc	(revision 93068e535c44a1666ca99eec1149cbb6591b517f)
@@ -321,7 +321,21 @@
 	}
 
+	// Fold it into Specialize if we find a good way.
+	struct StaticThunks final : public WithShortCircuiting {
+		void previsit( Declaration * ) {
+			visit_children = false;
+		}
+		void postvisit( FunctionDecl * decl ) {
+			if ( isPrefix( decl->name, "_thunk" ) ) {
+				decl->storageClasses.is_static = true;
+			}
+		}
+	};
+
 	void convertSpecializations( std::list< Declaration* >& translationUnit ) {
 		PassVisitor<Specialize> spec;
 		mutateAll( translationUnit, spec );
+		PassVisitor<StaticThunks> staticThunks;
+		acceptAll( translationUnit, staticThunks );
 	}
 } // namespace GenPoly
