Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision bd098eaec62bec74469554f5b20132dc02a69871)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision c6c6f2aed949d46b70a8cbd7541b2a7ee7cc4124)
@@ -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
