よくある質問(FAQ)

全ての引数を入力に指定しているにも関わらず「too few argument(s)」の警告が出力されます。

テストCSVについて

質問

関数の全ての引数を入力変数(INPUT)に指定しているにも関わらず、下記の警告が出ます。引数の個数が少ないと言う意味だと思いますが、どうしてこの警告が出るのでしょうか?

%SYSTEMG-I-XIPC, function "(関数名)" is called by process "WinAMS"
%SYSTEMG-W-CALL, too few argument(s) [0] to function "(関数名)" [1]

回答

この警告は、コンパイラの最適化等により、引数がスタックではなくレジスタを介して直接渡されるコードが生成された際に表示されます。
マイコンシミュレータ(XAIL)は、関数に引数があるにもかかわらずスタックに引数が積まれていないことを検知すると、引数の数とスタック生成数が一致しない旨のメッセージを出力します。
本メッセージは警告レベル(W)であり、動作上の問題はありません。そのままテスト動作可能です。

(※補足事項)引数は全て入力変数に指定する必要があります。