Browse Source

Expression for var parameter must be a variable.

woollybah 10 years ago
parent
commit
0180bd3ef5
1 changed files with 5 additions and 0 deletions
  1. 5 0
      expr.bmx

+ 5 - 0
expr.bmx

@@ -120,6 +120,11 @@ Type TExpr
 						Err "Unable to convert from '" + args[i].exprType.ToString() + "()' to '" + funcDecl.argDecls[i].ty.ToString() + "'"
 						Err "Unable to convert from '" + args[i].exprType.ToString() + "()' to '" + funcDecl.argDecls[i].ty.ToString() + "'"
 					End If
 					End If
 				End If
 				End If
+
+				If (TConstExpr(args[i]) Or TBinaryExpr(args[i])) And (funcDecl.argDecls[i].ty._flags & TType.T_VAR) Then
+					Err "Expression for 'Var' parameter must be a variable"
+				End If
+
 				args[i]=args[i].Cast( funcDecl.argDecls[i].ty )
 				args[i]=args[i].Cast( funcDecl.argDecls[i].ty )
 			Else If funcDecl.argDecls[i].init
 			Else If funcDecl.argDecls[i].init
 				args[i]=funcDecl.argDecls[i].init
 				args[i]=funcDecl.argDecls[i].init