CC-RLでちょっと改善して欲しい案件

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は関数呼出しではなく、関数呼出しマクロなので、何故、マクロ展開後のリストで警告を判断してくれないのだろうか?と疑問に思います。

これだとユーザが自ら作成した関数呼出しマクロの中にも、引数を代入式の左辺値としていたら、同じ警告が表示されると思います。

是非、改善をお願いしたいのですが、如何でしょうか?

Parents Reply Children
No Data