Bladeren bron

Added support for struct array slices.

Brucey 5 jaren geleden
bovenliggende
commit
b11bd228d7
2 gewijzigde bestanden met toevoegingen van 8 en 2 verwijderingen
  1. 7 1
      ctranslator.bmx
  2. 1 1
      options.bmx

+ 7 - 1
ctranslator.bmx

@@ -2526,7 +2526,13 @@ t:+"NULLNULLNULL"
 		End If
 
 		If TArrayType(expr.exprType) Then
-			Return "bbArraySlice" + Bra(TransArrayType(TArrayType(expr.exprType).elemType) + "," + t_expr + "," + t_args)
+			Local ty:TType = TArrayType(expr.exprType).elemType
+			If TObjectType(ty) And TObjectType(ty).classDecl.IsStruct() Then
+				Return "bbArraySliceStruct" + Bra(TransArrayType(ty) + "," + t_expr + "," + t_args + ", sizeof" + ..
+						Bra(TransObject(TObjectType(ty).classdecl)) + ", _" + TObjectType(ty).classdecl.munged + "_New")
+			Else
+				Return "bbArraySlice" + Bra(TransArrayType(ty) + "," + t_expr + "," + t_args)
+			End If
 		'Else If TStringVarPtrType(expr.exprType) Then
 		'	Return "bbStringSlice" + Bra("*" + t_expr + "," + t_args)
 		Else

+ 1 - 1
options.bmx

@@ -25,7 +25,7 @@ SuperStrict
 
 Import "base.configmap.bmx"
 
-Const version:String = "0.123"
+Const version:String = "0.124"
 
 Const BUILDTYPE_APP:Int = 0
 Const BUILDTYPE_MODULE:Int = 1