Jelajahi Sumber

Fixed generation of multi-dimensional struct arrays.

woollybah 8 tahun lalu
induk
melakukan
6c79c340b6
1 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 5 1
      ctranslator.bmx

+ 5 - 1
ctranslator.bmx

@@ -1627,7 +1627,11 @@ t:+"NULLNULLNULL"
 				s:+ expr.expr[i].Trans()
 			Next
 
-			Return "bbArrayNew" + Bra(TransArrayType(expr.ty) + ", " + expr.expr.length + ", " + s)
+			If TObjectType(expr.ty) And TObjectType(expr.ty).classdecl.IsStruct() And Not IsPointerType(expr.ty) Then
+				Return "bbArrayNewStruct" + Bra(TransArrayType(expr.ty) + ", sizeof" + Bra(TransObject(TObjectType(expr.ty).classdecl)) + ", " + expr.expr.length + ", " + s)
+			Else
+				Return "bbArrayNew" + Bra(TransArrayType(expr.ty) + ", " + expr.expr.length + ", " + s)
+			End If
 		End If
 
 	End Method