Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision ae4038d33747502449f6d0525a05d25f3977c082)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision 322b97e2a57358cc53dbed9518af5bd8ae638ada)
@@ -941,6 +941,6 @@
 	void AlternativeFinder::visit( SizeofExpr *sizeofExpr ) {
 		if ( sizeofExpr->get_isType() ) {
-			// xxx - resolveTypeof?
-			alternatives.push_back( Alternative( sizeofExpr->clone(), env, Cost::zero ) );
+			Type * newType = sizeofExpr->get_type()->clone();
+			alternatives.push_back( Alternative( new SizeofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) );
 		} else {
 			// find all alternatives for the argument to sizeof
@@ -961,6 +961,6 @@
 	void AlternativeFinder::visit( AlignofExpr *alignofExpr ) {
 		if ( alignofExpr->get_isType() ) {
-			// xxx - resolveTypeof?
-			alternatives.push_back( Alternative( alignofExpr->clone(), env, Cost::zero ) );
+			Type * newType = alignofExpr->get_type()->clone();
+			alternatives.push_back( Alternative( new AlignofExpr( resolveTypeof( newType, indexer ) ), env, Cost::zero ) );
 		} else {
 			// find all alternatives for the argument to sizeof
