Index: src/GenPoly/Box.cc
===================================================================
--- src/GenPoly/Box.cc	(revision afc1045a9ddab4e6d7c524844fc6895bf4ef52ec)
+++ src/GenPoly/Box.cc	(revision d75038c7edb1fbc46c79bb4e32e79ce22012ddcc)
@@ -754,5 +754,5 @@
 						// zero-length arrays are forbidden by C, so don't pass offset for empty struct
 						if ( ! argBaseStructType->get_baseStruct()->get_members().empty() ) {
-							arg = appExpr->get_args().insert( arg, new OffsetPackExpr( argBaseStructType ) );
+							arg = appExpr->get_args().insert( arg, new OffsetPackExpr( argBaseStructType->clone() ) );
 							arg++;
 						}
@@ -1641,6 +1641,6 @@
 					layoutCall->get_args().push_back( new NameExpr( alignofName( *param ) ) );
 				} else {
-					layoutCall->get_args().push_back( new SizeofExpr( *param ) );
-					layoutCall->get_args().push_back( new AlignofExpr( *param ) );
+					layoutCall->get_args().push_back( new SizeofExpr( (*param)->clone() ) );
+					layoutCall->get_args().push_back( new AlignofExpr( (*param)->clone() ) );
 				}
 			}
