| ||
レベル9(ハードエラー)のメッセージが見直されました
QA C++1.5Jまでは、重大な構文違反だけでなく、ISO
C++違反の構文を記述した場合でも、解析エラーが発生することがありました。重大な構文違反だけをレベル9に含むようにしたことで、過剰に解析エラーが
発生することがなくなりました。なお、QAC++は、レベル9の構文違反が見つかったとしても、可能な限りリカバリを試みて解析を継続します。
QA C++2.0.1Jβで指摘されたユーザ様からのフィードバックなども反映して、レベル9のメッセージだけでなく、レベル9以外のメッセージについて見直しが行われました。
GNU G++はC言語の最新規格であるC99の機能を取り込みつつ、バージョンアップが続けられているため、QA C++1.5JまでのQA
C++では難しい設定が必要になることがありました。C99への対応や、コンパイラ固有の構文を吸収するためのオプションを追加したことにり、GNU
G++を使用して開発しているソースコードを解析しやすくなりました。(解析時にはGNUコンパイラ用設定ファイル生成スクリプトをご利用ください)
Boostとは、C++の新標準ライブラリの一角となることを目指して開発されている最先端の汎用テンプレートライブラリです。QA C++はテンプレート解析エンジンの実装を強化したことで、このライブラリの解析が適切に行えるようになっています。
QA C++1.5Jまでの警告ヘルプには、問題点の内容は説明されていましたが、問題点の解決方法は十分に説明されていませんでした。警告の内容をより適切に理解して頂くために、問題点の解決方法やサンプルコードを大幅に拡充しました。
QA C++1.5Jまでは、ファイル単位で発生する問題だけを取り扱っていましたが、プロジェクト単位(ファイル間)で発生する問題も解析できるようになりました。
メッセージの補足説明をするサブメッセージが追加されました。ソースコードの問題は単一の行だけでなく、複数の行が関わりあって発生する場合があります。このような関連性をサブメッセージが指し示すようになりました。 サブメッセージを利用して、ヘッダファイルのインクルード履歴の追跡、マクロの展開履歴の追跡、テンプレートの展開履歴の追跡、関連する行へのジャンプが できるようになりました。特に、関連する行へのジャンプができるようになったことで、複数の行が関わりあって発生する問題がより簡単に分析できるようにな りました。 | ||
|
|






