ソースを参照

Removed support for implicitly ignoring return values for certain calling conventions; explictly prefix the procedure call with IGNORE instead. Better yet, don't ignore the return value at all.

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8487 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 年 前
コミット
0afaf3e842
1 ファイル変更2 行追加4 行削除
  1. 2 4
      source/FoxSemanticChecker.Mod

+ 2 - 4
source/FoxSemanticChecker.Mod

@@ -7043,10 +7043,8 @@ TYPE
 				(* inline call in a statement *)
 			ELSIF ~IsCallable(call) THEN
 				Error(procedureCall.position,"called object is not a procedure");
-			ELSIF (call.type # NIL) &  (call.left # NIL) THEN
-				IF call.left.type.resolved(SyntaxTree.ProcedureType).callingConvention = SyntaxTree.WinAPICallingConvention THEN
-					Warning(procedureCall.position,"ignoring return value of procedure call");
-				ELSIF ~procedureCall.ignore THEN
+			ELSIF call.type # NIL THEN
+				IF ~procedureCall.ignore THEN
 					Error(procedureCall.position,"calling procedure with non-void return type");
 					IF VerboseErrorMessage THEN Printout.Info("call ",call) END;
 				END;