NoMaYさん、シェルティさん、エビスクラウンです。
NoMaYさんのご指摘通り(もっともなご指摘なので)、別スレッドにしました。
本件はCC-RLへの改善提案です。CC-RLで標準ライブラリのva_startを使うと警告が表示されてしまいます。
具体的には、以下のようなリストです。
#include <stdarg.h>
void sub(int n, ...){va_list ap;
va_start( ap, n );
これをビルドすると、「W0520549:変数 "ap" は値が設定される前に使用されました。」となります。
上記はva_startの基本的な使用例であり、va_startを使う以上、必ず上記のようになります。
それなのに「警告って?」。そもそもva_startは関数呼出しではなく、関数呼出しマクロなので、何故、マクロ展開後のリストで警告を判断してくれないのだろうか?と疑問に思います。
これだとユーザが自ら作成した関数呼出しマクロの中にも、引数を代入式の左辺値としていたら、同じ警告が表示されると思います。
是非、改善をお願いしたいのですが、如何でしょうか?
エビスクラウンさん
シェルティです。こんにちは。
ありがとうございます。コンパイラの人に聞いてみたいと思います。
シェルティも変だと思いました。
以上です