QA C 7.2.1J リリースノート

...

22 downloads 1434 Views 434KB Size

QA C 7.2.1J リリースノート

QA C 7.2.1J リリースノート 2010 年 5 月 第 2 版

本書の内容 QA C 7.2.1Jリリース ................................................................................................... 2 1.

概要 ........................................................................................................................... 2

1.1.

ベースライニングのサポート.................................................................................... 2

1.2.

Windows GUIの改善................................................................................................. 2

1.3.

メッセージ・ブラウザの改善.................................................................................... 2

1.4. 1.5.

ヘルプ・システムの改善 ........................................................................................... 2 MISRA-C:2004 .......................................................................................................... 2

1.6.

解析に関する重要機能............................................................................................... 3

2.

メッセージの変更...................................................................................................... 4

2.1.

新しいメッセージ...................................................................................................... 4

2.2.

動作が変更されたメッセージ.................................................................................... 5

2.3.

異なるメッセージ・グループに移動したメッセージ................................................ 7

2.4.

異なるメッセージ・レベルに移動したメッセージ ................................................... 9

3.

CRの概要................................................................................................................. 10

4.

その他の注意事項.................................................................................................... 19

4.1.

日本語メッセージ.................................................................................................... 19

4.2. 4.3.

既知の問題............................................................................................................... 19 Windows 7.............................................................................................................. 19

5.

株式会社東陽テクニカへのお問い合わせ................................................................ 20

6.

Programming Research Limitedへのお問合せ..................................................... 20

7.

保証の免責............................................................................................................... 21

© Copyright 2010 Programming Research / 東陽テクニカ

1

QA C 7.2.1J リリースノート

QA C 7.2.1Jリリース 1. 概要 QA C7.2.1J の主要な機能は以下のとおりです。

1.1. ベースライニングのサポート GUI インターフェースには現在、解析処理にベースライン処理が組み込まれています。 プロジ ェクトが解析されると、メニュー項目の選択によって当該バージョンのソースからベースライ ンが作成されます。 以降すべてのコード変更または当該プロジェクトの異なるバージョンに 対して、このベースラインを自動的に適用することができ、反復する診断はベースライン抑止 が適用されたものとしてマークされます。 この処理は、コードのバージョンに対して、また はバージョン管理システムと共に動作します。 VCS サポートの詳細については Programming Research に連絡してください。 この機能の使用には特定のライセンスが必要です。

1.2. Windows GUIの改善 このリリースでは大幅な GUI の改善がいくつか行われています。 従属関係ベースの解析がアプリケーション・オプションとなり、解析集合の一部または構 成パーソナリティが変更された場合にのみファイルが再解析されるようになりました。 CMA 解析では、プロジェクト・パス内で一意となる出力名が生成されるように、プロジェ クト固有の追加パラメータを取るようになりました。 アプリケーションおよびプロジェクトベースの環境変数を、カスタム・レポートや 2 次解 析または CMA 解析のイベントで定義し、使用できるようになりました。 アドオン・レポートおよび Structure101 がインストールされている場合、それらが GUI メニ ュー構成に統合されるようになりました。

1.3. メッセージ・ブラウザの改善 ベースライン処理はメッセージ・ブラウザに組み込まれており、生成されたベースラインを再 検討し、内容を変更するための固有の機能が「ベースライン管理モード」として追加されてい ます。

1.4. ヘルプ・システムの改善 メッセージ・ヘルプ・システムが大幅に改善され、いくつかのメッセージのテキストがより明 確になるように改訂されました。

1.5. MISRA-C:2004 以下のルールの適合度評価を改善する、追加のメッセージが実装されました: ルール 12.6 ルール 17.4 ルール 20.1 ルール 20.2

© Copyright 2010 Programming Research / 東陽テクニカ

2

QA C 7.2.1J リリースノート

1.6. 解析に関する重要機能 @address:bitno "@address:bitno"構文を'bit'型のオブジェクトをサポートする実装において使用できるように、構 文解析サポートが追加されました。

匿名の共用体 匿名の構造体および共用体(無名の構造体型または共用体型の無名オブジェクト)が C 言語の一 部の実装において定義されることから、これがサポートされるようになりました。 Microsoftの整数リテラル接尾語 整数定数に追加された接尾語の I64 と UI64 は、LL および ULL と同義であるとみなされるように なりました。

インライン・アセンブラ構文 #asm("…")の形式による単一のプリプロセッサ・ディレクティブの中で指定される、インライ ン・アセンブラ・コードに対するサポートを追加しました。

© Copyright 2010 Programming Research / 東陽テクニカ

3

QA C 7.2.1J リリースノート

2. メッセージの変更 2.1. 新しいメッセージ Msg 0491 0492 0619 0822 1042 1043 1044 3377 3659 4115 4116 4600 4601 4602 4603 4604 4605 4606 4607 4608 4620 4621 4622 4623 4624 4640 4641 4642 4643 4644 4645

メッセージ・テキスト ポインタ型のオブジェクトに配列の添字付けが行われています。 ポインタとして宣言された関数仮引数に配列の添字付けが行われています。 [C] 識別子'%s'は、通常の識別子の名前空間内にあるカレント・スコープの中で 既に定義されています。 [Q] QAC の-fi オプションで設定されたファイル '%s' が見つかりません。 [E] 整数定数の接尾語として I64 または UI64 を使用しています。これは言語拡張 です。 [E] 無名の共用体オブジェクトを定義しています。これは言語拡張です。 [E] 無名の構成体オブジェクトを定義しています。これは言語拡張です。 '&&' または '||'演算子のオペランドに記述されている定数式は、ブール値ではあ りません。 0 ビットの名前無しビットフィールドが符号付き型として宣言されています。 '&&' または '||'演算子のオペランドが実質的なブール式ではありません。 '!'演算子のオペランドが実質的なブール式ではありません。 マクロ '%1s' は '<%2s>' 内でも定義されています。 マクロ '%1s' が '<%2s>' 内で識別子の名前になっています。 識別子 '%1s' が '<%2s>' 内でマクロとして宣言されています。 オブジェクトまたは関数 '%1s' は、 '<%2s>' 内で定義されている通常の識別子と 同じ名前で定義されています。 オブジェクトまたは関数 '%1s' は、 '<%2s>' 内で定義されている通常の識別子と 同じ名前で宣言されています。 typedef '%1s' は '<%2s>' 内でも定義されています。 typedef '%1s' は、'<%2s>' 内の他の通常の識別子と同じ名前を持っています。 列挙定数 '%1s' は、'<%2s>' 内の他の通常の識別子と同じ名前を持っています。 タグ '%1s' は '<%2s>' 内でも定義されています。 マクロ '%1s' は '<%2s>' 内でマクロとしても定義されている可能性があります。 マクロ '%1s' は '<%2s>' 内で typedef としても定義されている可能性があります。 識別子 '%1s' は '<%2s>' 内でマクロとしても定義されている可能性があります。 typedef '%1s' は '<%2s>' 内でも定義されています。 通常の識別子 '%1s' は '<%2s>' の中で typedef としても定義されている可能性があ ります。 マクロ '%1s' は、'<%2s>' 内のマクロ名と今後衝突する可能性があります。 識別子 '%1s' は、'<%2s>' 内のマクロ名と今後衝突する可能性があります。 マクロ '%1s' は、'<%2s>' 内の関数名と今後衝突する可能性があります。 識別子 '%1s' は、'<%2s>' 内の関数名と今後衝突する可能性があります。 マクロ '%1s' は、'<%2s>' 内の typedef 名と今後衝突する可能性があります。 識別子 '%1s' は、'<%2s>' 内の typedef 名と今後衝突する可能性があります。

© Copyright 2010 Programming Research / 東陽テクニカ

CR 11316 11316 11064 12304 12213 11064 11064 12402 12710 12402 12402 13289 13289 13289 13289 13289 13289 13289 13289 13289 13290 13290 13290 13290 13290 13291 13291 13291 13291 13291 13291

4

QA C 7.2.1J リリースノート

2.2. 動作が変更されたメッセージ QA C 7.2.1 で動作が変更されたメッセージの概要を以下の表に示します。 変更には以下の 2 種類があります: C - 既存の動作が大幅に変更されているもの F - バグまたは問題箇所の修正 Msg 0310 0338 0431 0562 0602 0602 0660 0673 0685 0757 0778 0779 0823 0826 0827 0850 0877 0879 0886 0896 0897 0898 0849 1012 1028 1304 2003 2003

メッセージ・テキスト 異なるオブジェクトポインタ型へキャストしています。 [C] 8 進拡張表記または 16 進拡張表記の値が、unsigned char 型または wchar_t 型に収まりません。 [C] 関数実引数の型が、関数仮引数よりも厳密に修飾された型を指して います。 [C] 代入の右オペランドが、左オペランドよりも厳密に修飾された型を 指しています。 [U] 識別子 '%s' はライブラリで使用するために予約されています。 [U] 識別子 '%s' はライブラリで使用するために予約されています。 [E] 構造体/共用体に名前の無いメンバを定義しています。これは言語拡 張です。 [C] 初期化子が、より厳密に修飾された型を指しています。 [C] 静的記憶域期間をもつオブジェクトは、定数式で初期化しなければ いけません。 [C] return 式の型が、より厳密に修飾された型を指しています。 [L] 識別子名が他の識別子名(例: '%s' )と、最初の 31 文字で一致していま す。プログラムは ISO:C90 標準規格に厳密には適合していません。 [U] 識別子名が他の識別子名(例: '%s' )と、指定された文字数の範囲内で 異なっていません。 [S] あるべきでない #else または #elif が #else の後にあります。 [S] #if 式または#elif 式の中で、前に'?'がないのに':'が見つかりました。 [S] #if 式または#elif 式の中の'?'の後に':'がありません。 [C99] マクロに実引数が与えられていません。 [C] #if 式または#elif 式に記述できるのは汎整数定数のみです。 [S] #if 式または#elif 式に不正な演算子が記述されています。 [S] #if または#elif に式がないか、式が無効です。 [S] #if 式または#elif 式の中にオペランドがありません。 [S] #if 式または#elif 式の中に演算子がありません。 [S] #if 式または#elif 式の中に予期しない')'または':'があります。 [S] 行の途中に前処理指令が存在します。 [E] C++言語の参照型('型名 &')を使用すると、言語拡張として処理されま す。. [E] 前処理指令の中で sizeof 演算子を使用しています。これは言語拡張 です。 古い形式の関数定義 '%s()' は C++コードへ移植できません。 直前の空ではない switch 節が、ジャンプ文で終わっていません。処理が フォールスルーします。 直前の空ではない switch 節が、ジャンプ文で終わっていません。処理が

© Copyright 2010 Programming Research / 東陽テクニカ

T F C

12379 12792

CR

F

13144

F

13144

C F F

11241 12781 13129

F F

13144 12435

F F

13144 12759

F

12759

F F F F F F F F F F F F

12282 11973 11973 12354 11973 11973 11973 11973 11973 11973 13249 12850

F

11973

F F

11477 12719

F

12790

5

QA C 7.2.1J リリースノート フォールスルーします。 最後の switch 節が明示的なジャンプ文で終了していません。 ループ制御変数 '%s' はループの最中に変更されません。 この for 文のループ制御変数 '%s' はループ本体の中で変更されていま す。 3001 空の仮引数並びが関数で宣言されています。 3002 関数 '%s()' を定義する際に識別子の並びと仮引数宣言を分離して記述す るのは、旧式の方法です。 3007 仮引数のない関数の定義で'void'が省略されています。 3230 自動オブジェクトのアドレスが、static 付きで宣言されたローカルポイ ンタに代入されています。 3314 この制御式は代入式です。 3314 この制御式は代入式です。 3322 '!'演算子のオペランドに記述されている定数式は、ブール値ではありま せん。 3332 この'#if'式または'#elif'式で使用されているマクロ '%s' は定義されていま せん。 3332 この'#if'式または'#elif'式で使用されているマクロ '%s' は定義されていま せん。 3333 switch 文の case 節/default 節の途中で break 文が使用されています。 3392 括弧'()'を追加することをお勧めします。シフト演算子、関係演算子、 または等価演算子が 2 番目の同じ演算子のオペランドになっていま す。 3394 括弧'()'を追加することをお勧めします。シフト演算、関係演算、また は等価演算が、同じ優先順位を持つ異なる演算子のオペランドになっ ています。 3396 括弧'()'を追加することをお勧めします。2 項演算が条件演算子のオペラ ンドになっています。 3396 括弧'()'を追加することをお勧めします。2 項演算が条件演算子のオペラ ンドになっています。 3397 括弧'()'を追加することをお勧めします。2 項演算が異なる優先順位を持 つ 2 項演算子のオペランドになっています。 3399 括弧'()'を追加することをお勧めします。単項演算が、'&&' または '||'演算 子のオペランドになっています。 3400 括弧'()'を追加することをお勧めします。2 項演算が論理演算子 && また は || のオペランドになっています。 3401 優先順位が混乱しかねません。余分に括弧'()'を付けることをお勧めし ます。 3406 外部結合をもつオブジェクト/関数 '%s' が、ヘッダファイルの中で定義 されています。 3410 マクロの仮引数が括弧'()'で囲まれていません。 3480 内部結合をもつオブジェクト/関数 '%s' が、ヘッダファイルの中で定義 されています。 3700- <暗黙に変換されるというメッセージ> 2020 2467 2469

3881 39004081

<関数の戻り値が暗黙に変換されるというメッセージ>

© Copyright 2010 Programming Research / 東陽テクニカ

F F F

12789 12197 12197

F F

11477 11477

F F

12829 11666

C C C

13252 13254 12402

F

11973

F

12544

F F

12094 12414

F

12414

F

12414

F

12663

F

12414

F

12414

F

11855

F

12414

F

12830

C F

11189 12830

F

11285 12029 11285 12029

F

6

QA C 7.2.1J リリースノート

2.3. 異なるメッセージ・グループに移動したメッセージ 一部の既存メッセージが、異なるメッセージ・グループに移動されました。

0271

旧グルー 新グループ プ ISO_ImplDef ISO_ExpU

0277 0294

ISO_ImplDef Maj_Ops ISO_ImplDef ISO_ExpU

0295

ISO_ImplDef ISO_ExpU

0434 0473 0541 0547 0581

Constraint Constraint ISO_ImpU ISO_ExpU Constraint

Syntax Config Constraint Constraint ISO_ImplDef

0617 0618 0626

Constraint Constraint ISO_ImpU

C99_ext C99_ext ISO_ExpU

0652

ISO_ImpU

Min_Func

0660

Min_Array

Lang_ext

0675

ISO_ExpU

Constraint

0688

Min_Array

Maj_Decl

0689 0706

Maj_Redun ISO_ImpU

ISO_ImpU ISO_ExpU

0747

ISO_ImpU

Constraint

0832

Maj_Prepro

Min_Prepro

0861 0862 0899

Min_Prepro Min_Prepro Constraint

Maj_Redun Maj_Redun Lang_ext

1012

Syntax

Lang_ext

1310

Min_Cpp

Min_Ident

1311

Min_Cpp

Obsolete

Msg

メッセージ・テキスト [U] 定数式を用いた符号付き左シフト演算で、未定義の値が 生成されています。 負の定数値が符号無し型に変換されています。 [U] 符号付き左シフト演算で、明らかに未定義の値が生成さ れています。 [U] 符号付き左シフト演算で、未定義の値が生成されること があります。 [S] 識別子 '%s' は、ここまでに宣言されていません。 [Q] sizeof 演算の結果が、size_t 型の範囲に収まりません。 [C] %s 番目の実引数がオブジェクト型ではありません。 [C] このタグ '%s' の宣言は、以前の宣言と矛盾しています。 [I] 浮動小数点定数の値が小さすぎて表現できない可能性があ ります。 [C99] 余分な const 修飾子が記述されています。 [C99] 余分な volatile 修飾子が記述されています。 [U] '%s' の型が以前の宣言と異なります(以前の宣言はスコー プ外にあります)。 関数プロトタイプ宣言の一部の仮引数にのみ識別子が与え られています。 [E] 構造体/共用体に名前の無いメンバを定義しています。こ れは言語拡張です。 [C] 初期化子の型と、構造体/共用体の型との間に互換性があ りません。 配列のサイズが、結合された文字列を含む初期値の数によ って決定されています。 [u] switch 文は、このローカル変数の初期化を無視します。 [U] このラベル名 '%s' は、同じ関数の中で既に使用されてい ます。 [C] 修飾子付き void 型を戻すように定義された関数 '%s()' の中 で、'return 式;'が見つかりました。 #include の中にマクロ置換え対象の要素が記述されていま す。 この#include <%s>文は冗長です。削除できます。 この#include "%s"文は冗長です。削除できます。 [E] 認識できない前処理指令を無視しました。言語拡張であ ると見なします。 [E] C++言語の参照型('型名 &')を使用すると、言語拡張として 処理されます。 '%s' が同じ構造体/共用体/列挙体に対して、タグと typedef 識 別子の両方で使用されています。 'void *'ポインタと'const T *'ポインタが、等価演算子または条件

© Copyright 2010 Programming Research / 東陽テクニカ

7

QA C 7.2.1J リリースノート

1313

Min_Cpp

Obsolete

1318

Min_Enum

Min_Cpp

1319

Min_Enum

Min_Cpp

1460 1461

Min_Switch Min_Enum

Maj_Enum Maj_Enum

1474

Min_Enum

Maj_Enum

1477

Min_Enum

Obsolete

1479

Min_Enum

Maj_Enum

1481

Min_Enum

Maj_Enum

1482 2005 3104 3105 3107 3313 3371

Min_Enum Min_Ctrl Config Config Config Maj_Decl Maj_Ops

Maj_Enum Obsolete Syntax Syntax Syntax Min_Decl Min_Ops

3381

Maj_Ops

Min_Ops

3419

Min_Ctrl

Maj_Redun

3420

Min_Ctrl

Maj_Redun

3424 3435

Min_Ops Min_Prepro

Maj_Redun Obsolete

3623 3624

Min_Func Min_Func

Min_Array Min_Array

演算子のオペランドとして使用されています。 'goto %s' を実行するとローカルな初期化を飛び越してしまい ます。 列挙型オブジェクトが、複合代入演算子を用いて変更され ています。 列挙型オブジェクトが、増分演算子または減分演算子を用 いて変更されています。 switch 文のラベルの値 '%s' は列挙型に属していません。 定数式の値は、その変換先となる列挙型に属しませんが、 その列挙型に属する列挙定数のビット単位の和で得られる 値になっています。 列挙型オブジェクトの値が、ビット単位の複合代入演算子 を用いて変更されています。 列挙型のオブジェクトが、制御式の中で暗黙的にゼロと比 較されています。 列挙型オブジェクトの値が、算術複合代入演算子を用いて 変更されています。 列挙型オブジェクトが、増分演算子または減分演算子を用 いて変更されています。 非定数式が列挙型にキャストされています。 continue 文が使用されています。 [S] #pragma '%s' は不正な実引数をもつので無視されました。 [S] #pragma ブロックを閉じる #pragma %s がありません。 [S] '#pragma %s' を開始する#pragma ブロックがありません。 構造体/共用体タグ '%s' の定義が見つかりません。 符号無し左シフト演算で、明らかにビットが切り捨てられ ます。 符号無し左シフト演算で、ビットが切り捨てられることが あります。 for 文の初期化式には、プログラムの動作に影響を与える(副 作用をもつ)式が記述されていません。 for 文の増分式には、プログラムの動作に影響を与える(副作 用をもつ)式が記述されていません。 文の中の最上位の '&' または '|' が不要です。 仮引数 '%s' が、このマクロの置換要素並びの中に複数回現れ ています。 関数に構造体/共用体を値で渡しています。 関数が構造体/共用体を値で戻しています。

© Copyright 2010 Programming Research / 東陽テクニカ

8

QA C 7.2.1J リリースノート

2.4. 異なるメッセージ・レベルに移動したメッセージ 一部の既存メッセージが、異なるメッセージ・レベルに移動されました。

0271

旧レ ベル 6

新レ ベル 7

0277 0294

6 6

3 7

0295

6

7

0434 0473 0541 0547 0581 0617 0618 0652

8 8 7 7 8 8 8 7

9 9 8 8 6 6 6 2

0660

2

6

0675 0688

7 2

8 3

0689 0747

3 7

7 8

0832 0861 0862 0899

3 2 2 8

2 3 3 6

1012

9

6

1460 1461

2 2

3 3

1474

2

3

1479

2

3

1481

2

3

1482

2

3

Msg

メッセージ・テキスト [U] 定数式を用いた符号付き左シフト演算で、未定義の値が生成されて います。 負の定数値が符号無し型に変換されています。 [U] 符号付き左シフト演算で、明らかに未定義の値が生成されていま す。 [U] 符号付き左シフト演算で、未定義の値が生成されることがありま す。 [C] 識別子 '%s' は、ここまでに宣言されていません。 [Q] sizeof 演算の結果が、size_t 型の範囲に収まりません。 [u] %s 番目の実引数がオブジェクト型ではありません。 [C] このタグ '%s' の宣言は、以前の宣言と矛盾しています。 [I] 浮動小数点定数の値が小さすぎて表現できない可能性があります。 [C99] 余分な const 修飾子が記述されています。 [C99] 余分な volatile 修飾子が記述されています。 関数プロトタイプ宣言の一部の仮引数にのみ識別子が与えられていま す。 [E] 構造体/共用体に名前の無いメンバを定義しています。これは言語拡 張です。 [C] 初期化子の型と、構造体/共用体の型との間に互換性がありません。 配列のサイズが、結合された文字列を含む初期値の数によって決定さ れています。 [u] switch 文は、このローカル変数の初期化を無視します。 [C] 修飾子付き void 型を戻すように定義された関数 '%s()' の中で、'return 式;'が見つかりました。 #include の中にマクロ置換え対象の要素が記述されています。 この#include <%s>文は冗長です。削除できます。 この#include "%s"文は冗長です。削除できます。 [E] 認識できない前処理指令を無視しました。言語拡張であると見なし ます。 [E] C++言語の参照型('型名 &')を使用すると、言語拡張として処理されま す。 switch 文のラベルの値 '%s' は列挙型に属していません。 定数式の値は、その変換先となる列挙型に属しませんが、その列挙型 に属する列挙定数のビット単位の和で得られる値になっています。 列挙型オブジェクトの値が、ビット単位の複合代入演算子を用いて変 更されています。 列挙型オブジェクトの値が、算術複合代入演算子を用いて変更されて います。 列挙型オブジェクトが、増分演算子または減分演算子を用いて変更さ れています。 非定数式が列挙型にキャストされています。

© Copyright 2010 Programming Research / 東陽テクニカ

9

QA C 7.2.1J リリースノート 3313 3371 3381 3419

3 3 3 2

2 2 2 3

3420

2

3

3424

2

3

構造体/共用体タグ '%s' の定義が見つかりません。 符号無し左シフト演算で、明らかにビットが切り捨てられます。 符号無し左シフト演算で、ビットが切り捨てられることがあります。 for 文の初期化式には、プログラムの動作に影響を与える(副作用をもつ) 式が記述されていません。 for 文の増分式には、プログラムの動作に影響を与える(副作用をもつ)式 が記述されていません。 文の中の最上位の '&' または '|' が不要です。

3. CRの概要 QA C 7.2.1J で実装された変更要求(CR)の概要を、以下の表に記述します。 CR は以下の 3 種類(下表の"T"の列)に分類されています: C - 既存の動作が大幅に変更されているもの F - バグまたは問題箇所の修正 N - 新しい機能が導入されたもの CR の中には複数のカテゴリに関連付けられるものもあり、カテゴリは厳密に区別されている わけではありません。 したがって、この分類は参考として捉えてください。 CR

T

13127

C

13426

F

11064

N

11189

C

11241

C

11285

F

11316

N

解決策 ”-fi” オプションによって指定されたファイルがカレント・ソース・ファイルの ディレクトリ内に存在しない場合、QA C は"-I"オプションによって指定された ディレクトリの中を検索するようになりました。 マクロ定義にセミコロン';'が含まれている場合、STM22 メトリックスに対して 誤った値が取得されていました。 匿名構造体と匿名共用体に対し、構文解析サポートが追加されました。 3410: マクロの仮引数が括弧'()'で囲まれていません。 メッセージ 3410 は、マクロ仮引数が構造体/共用体メンバ演算子の右側のオペ ランドであるインスタンスでは生成されなくなりました。 0602: [U] 識別子 '%s' はライブラリで使用するために予約されています。. メッセージ 0602 は、タグ識別子に対して生成されるようになりました。 関連項目 CR 12781 条件演算子(?:)を使用した後の、暗黙的な変換のメッセージが不適切であるか 不足していました。 ポインタとして宣言されたオペランドに配列添字演算子が使用されていること を指摘するための新しいメッセージが実装されました。 0491: ポインタ型のオブジェクトに配列の添字付けが行われています。 0492: ポインタとして宣言された関数仮引数に配列の添字付けが行われています。

© Copyright 2010 Programming Research / 東陽テクニカ

10

QA C 7.2.1J リリースノート CR

T

11477

F

11666

F

11855

F

11911

F

11973

F

11979

F

12029

F

12094

F

12118

F

12197

F

解決策 1304: 古い形式の関数定義 '%s()' は C++コードへ移植できません。 3001: 仮引数並びが空の関数が宣言されています。 3002: 関数 '%s()' を定義する際に識別子の並びと仮引数宣言を分離して記述するの は、旧式の方法です。 3230: 自動オブジェクトのアドレスが、static 付きで宣言されたローカルポインタに 代入されています。 メッセージ 1304,3001,および 3002 は、関数が K&R スタイルと関数プロトタイ プ・スタイルの両方で宣言され、両者が一貫していないとき、期待どおりに発 行されないことがありました。 3230: 自動オブジェクトのアドレスが、static 付きで宣言されたローカルポインタに 代入されています。 メッセージ 3230 はある文脈において誤って生成されていました。 3400: 括弧'()'を追加することをお勧めします。2 項演算が、'&&' または '||'演算子のオ ペランドになっています。. &&演算子または||演算子が条件演算子( ? : )のオペランドであった場合に、メッ セージ 3400 が誤って生成されていました。 met ファイル内のレコードのシンボリック・タイプ・コードは、 typedef が参照していた構造体タグではなく、typedef 名を誤って参照することが ありました。 #elif ディレクティブの式に対して、いくつかのメッセージが予期されるときに 生成されないか、必要でないときに生成されることがありました。 0826: [S] #if 式または#elif 式の中で、前に'?'がないのに':'が見つかりました。 0827: [S] #if 式または#elif 式の中の'?'の後に':'がありません。 0877: [C] #if 式または#elif 式に記述できるのは汎整数定数のみです。 0879: [S] #if 式または#elif 式に不正な演算子が記述されています。 0886: [S] #if または#elif に式がないか、式が無効です。 0896: [S] #if 式または#elif 式の中にオペランドがありません。 0897: [S] #if 式または#elif 式の中に演算子がありません。 0898: [S] #if 式または#elif 式の中に予期しない')'または':'があります。 1028: [E] 前処理指令の中で sizeof 演算子を使用しています。これは言語拡張です。 3332: この'#if'式または'#elif'式で使用されているマクロ '%s' は定義されていません。 条件演算子(?:)を使用した後の、暗黙的な変換のメッセージが不適切であるか 不足していました。 条件演算子(?:)を使用した後の、暗黙的な変換のメッセージが不適切であるか 不足していました。 3333 switch 文の case 節/default 節の途中で break 文が使用されています。. switch 文の"else"節で、メッセージ 3333 が予期される場合に生成されないことが ありました。 Windows GUI において、パス内に左括弧が見つかったとき、ファイル・ベース のメトリックス・ブラウザで誤ってファイル名が消去されていました。 2467: ループ制御変数 '%s' はループの最中に変更されません。 2469: この for 文のループ制御変数 '%s' はループ本体の中で変更されています。 メッセージ 2467 およびメッセージ 2469 は、ネストされたループでの出力状況 が一貫していませんでした。

© Copyright 2010 Programming Research / 東陽テクニカ

11

QA C 7.2.1J リリースノート CR

T

12213

N

12282

F

12304

N

12354

F

12364

F

12379

F

12381

F

12402

N

12414

F

解決策 非標準の整数接尾語として"I64"と"UI64"の 2 つが追加でサポートされています。 これらはそれぞれ、"LL"および"ULL"と同等なものとして処理されます。 これらの接尾語が見つかったときは常に、以下の新しいメッセージが生成され ます: 1042: [E] 整数定数の接尾語として I64 または UI64 を使用しています。これは言語拡 張です。 0823: [S] あるべきでない #else または #elif が #else の後にあります。 メッセージ 0823 が、ネストされた#if 構成の中の予期しない#else ディレクティ ブか#elif ディレクティブに対して生成されませんでした。 追加インクルード・ファイルが見つからないことを示すため、新しいメッセー ジが生成されるようになりました。 メッセージ 0822 はレベル 9 の構成エラーであるため、QA C はゼロ以外のステ ータス値を返すようになりました。 0822: [Q] QAC の-fi オプションで設定されたファイル '%s' が見つかりません。 0850: [C99] マクロに実引数が与えられていません。 置換要素並びが空の状態で定義されたマクロを使用してマクロ置換を実行する と、メッセージ 0850 が誤って生成されることがありました。 Unix GUI では、$文字を含むファイル名が正しく処理されるようになりました。 00310: 異なるオブジェクトポインタ型へキャストしています。 ストレージクラス指定子で宣言されたオブジェクト・ポインタをキャストする 際、メッセージ 0310 が誤って生成されることがありました。 Windows GUI のメトリックス・ブラウザでは、同じ名前を持つすべてのファイ ル静的関数を正しく表示するようになりました。 明示的にブールの性質を持たない、論理演算子&&および||へのオペランドを指 摘するために、新しいメッセージを導入しました。 4115: '&&' または '||'演算子のオペランドが実質的なブール式ではありません。 4116: '!'演算子のオペランドが実質的なブール式ではありません。 汎整数型ではない定数式であるか、0 または 1 以外の値を持つ論理演算子&&ま たは||へのオペランドを指摘するために、新しいメッセージを導入しました。 3377: '&&' または '||'演算子のオペランドに記述されている定数式は、ブール値では ありません。 既存のメッセージ 3322 の仕様がわずかに変更されました。 以前は、このメッ セージは定数式であるが値が 0 または 1 の整数定数ではないオペランドに対し て生成されていました。 このメッセージは、値が 0 か 1 である整数定数式がオ ペランドである場合には生成されなくなりました。 3322: '!'演算子のオペランドに記述されている定数式は、ブール値ではありませ ん。 3396: 括弧'()'を追加することをお勧めします。2 項演算が条件演算子のオペランド になっています。 3399: 括弧'()'を追加することをお勧めします。単項演算が、'&&' または '||'演算子の オペランドになっています。 3401: 優先順位が混乱しかねません。余分に括弧'()'を付けることをお勧めします。 式の中に括弧を追加することを推奨するメッセージは、オペランドが汎整数拡 張の対象となる場合、正しく生成されないことがありました。

© Copyright 2010 Programming Research / 東陽テクニカ

12

QA C 7.2.1J リリースノート CR

T

12435

F

12512

F

12538

F

12544

F

12550

F

12585

F

12624

F

12663

F

12668

F

12669

F

12673

C

12674

C

12675

N

12676

F

12677

F

12678

F

解決策 0685: [C] 静的記憶域期間をもつオブジェクトは、定数式で初期化しなければいけ ません。 配列型または関数型の式を整数型にキャストすると、メッセージ 0685 が誤っ て生成されていました。 .met ファイルで DEFINE レコードに使用されるスコープ・フラグに誤りのある 場合がありました: 1. ファイルスコープで定義された列挙定数に、ファイル・スコープではなく ブロック・スコープを持つことを示すフラグが付けられていました 2. 関数プロトタイプ宣言の中で定義された構造体/共用体/列挙体タグに、プロ トタイプ・スコープではなくブロック・スコープを持つことを示すフラグが付 けられていました 3. 関数プロトタイプ宣言の中で定義された構造体/共用体メンバおよび列挙定 数に、プロトタイプ・スコープではなくブロック・スコープを持つことを示す フラグが付けられていました 定数式を浮動小数点型にキャストして得られた値が誤って計算され、結果とし て誤ったメッセージが生成されることがありました。 3332: この'#if'式または'#elif'式で使用されているマクロ '%s' は定義されていません。 前処理式における論理演算子&&または||の右側のオペランドに対して、メッセ ージ 3332 が誤って生成されていました。 これらのオペランドの右側のオペラ ンドは、結果が左側のオペランドから決定できる場合には評価するべきではあ りません。 異なる型の式が制御式の除算または乗算へのオペランドであった場合に、回復 可能なデータフロー解析の問題が発生していました。 ループの制御変数で値が上昇せず下降する場合に、回復可能なデータフロー解 析の問題が発生していました。 Unix GUI ではプロジェクト出力ファイルの削除が可能になりました。 3396: 括弧'()'を追加することをお勧めします。2 項演算が条件演算子のオペランド になっています。 後置増分演算子または後置減分演算子が条件演算子のオペランドに適用されて おり、それが括弧で囲まれなかった場合に、メッセージ 3396 が誤って生成さ れていました。 Unix GUI のメトリックス・ブラウザについて、ソート順メニューの動作および 処理を修正しました。 Unix GUI では非常に大きいファイルにも完全な関数構造図を表示するようにな りました。 Unix GUI では、出力パス構成が削除されている場合には再作成するようになり ました。 Unix GUI では、プロジェクトのロードに際して、各ファイルの解析失敗ステー タス(レベル 9 のエラー)をチェックするようになりました。 Unix GUI において、ソース・ファイルおよびヘッダ・ファイルの従属関係ベー スの解析が可能になりました。 Unix GUI では、新規/既存プロジェクトのファイル選択が整合していないという 問題がありました。 Unix GUI では、ファイルの選択においてメニュー項目の一部が誤ってグレーア ウトされていました。 Unix GUI では、大規模なプロジェクトに対する関係図の表示ルーチンが改善さ れました。

© Copyright 2010 Programming Research / 東陽テクニカ

13

QA C 7.2.1J リリースノート CR

T

12692

N

12694

N

12710

N

12719

F

12728

F

12732

F

12751

F

12752

F

12759

F

12768

N

12769

C

12774

F

12778

F

解決策 インライン・アセンブラの別の形式として、以下の形式のディレクティブが構 文解析でサポートされるようになりました。 #asm (" … ") (対応する#endasm は予期されません) 構文解析で@address:n という構文がサポートされるようになりました。これ は、ビット型対応環境においてビットフィールドの場所の指定に使用されるこ とがあります。 符号無し型で宣言された、長さゼロで名前のない幅ゼロのビットフィールドを 識別するために、新しいメッセージが実装されました。 (MISRA ルール 6.5 で は、パディングに使用されるビットフィールドは符号無しであることを要求し ています。) 3659: 0 ビットの名前無しビットフィールドが符号付き型として宣言されていま す。 2003: 直前の空ではない switch 節が、ジャンプ文で終わっていません。処理がフォ ールスルーします。 先行する'switch'節が'continue'文または'goto'文で終わっている場合、メッセージ 2003 が誤って生成されていました。 Unix GUI では、カスタム・レポート名にスペースを含めることが可能になりま した。 Unix GUI では、外部で削除された出力に対するファイル解析ステータスが修正 されました。 Windows GUI のパーソナリティ・リストにおいて、デフォルト・パーソナリテ ィを削除する前に警告が発行されるようになりました。 Windows GUI では、2 次解析ウィンドウが正しく更新されていませんでした。 0778: [L] 識別子名が他の識別子名(例: '%s' )と、最初の 31 文字で一致しています。プ ログラムは ISO:C90 標準規格に厳密には適合していません。 0779: [U] 識別子名が他の識別子名(例: '%s' )と、指定された文字数の範囲内で異なっ ていません。 2 つの異なる識別子の初めから 31 文字までが同一であり、一方の識別子の長さ がちょうど 31 文字である場合には、メッセージ 0778 が生成されませんでし た。 N が-namelength オプションによって指定され、2 つの異なる識別子の初めから N 文字までが同一である場合、メッセージ 0779 が生成されるべきです。しか し、識別子のうち一方の長さがちょうど N 文字である場合には、メッセージ が生成されませんでした。 多くのメッセージのテキストを、より明確になるよう改訂しました。 すべてのメッセージに関連する参照ルールおよびヘルプ・テキストを改善し、 拡張しました。 Windows GUI では、ユーザ制御によりマルチコア解析を無効にして、単一シー ケンスのファイル解析に戻すことが可能です。 ユーザーズ・ガイドの修正を行いました。 "defined"演算子を誤って使用しているプリプロセッサ・ディレクティブを解析 する際の、メッセージのノイズを減らしました

© Copyright 2010 Programming Research / 東陽テクニカ

14

QA C 7.2.1J リリースノート CR

T

12781

F

12789

F

12790

F

12792

12819

F

12821

F

12823

F

12829

F

12830

F

12845 12846

C F

12850

F

12852 12853 12855

F C F

解決策 0602: [U] 識別子 '%s' はライブラリで使用するために予約されています。 メッセージ 0602 は、以下に示すような一部の識別子に対して生成されません でした。: a) マクロ b) ファイルスコープで宣言された列挙定数 c) 関数仮引数 関連項目 CR 11241 2020: 最後の switch 節が明示的なジャンプ文で終了していません。 先行する'case'節が'continue'文、'goto'文または'return'文で終わっている場合、メッ セージ 2020 が誤って生成されていました。 2003: 直前の空ではない switch 節が、ジャンプ文で終わっていません。処理がフォ ールスルーします。 フォールスルーがすべてのパスで発生するわけではない場合、メッセージ 2003 が生成されないことがありました。 拡張表記を実行文字集合のメンバに変換する前に、隣接する文字列リテラル字 句が連結され、翻訳フェーズの 5 と 6 が逆転していました。この結果、誤った 拡張表記が生成され、メッセージ 0338 が生成されていました。 0338: [C] 8 進拡張表記または 16 進拡張表記の値が、unsigned char 型または wchar_t 型 に収まりません。 文書化されていない#pragma PRQA_MESSAGES_ON/OFF の機能により、以前はメ ッセージ番号のリストをマクロで指定することが可能でした。 この機能は QA C 7.1 で削除されていましたが、復旧しました。 Windows GUI: パーソナリティ・リストにおける"Add Pers"ボタンと"Apply Pers"ボタ ンの外観上の紛らわしさを修正しました。 Windows GUI において、新しいパーソナリティ・ファイルを繰り返しブラウズ した後に、パーソナリティ・リストに同一のフォルダが誤って追加されていま した。 3007: 仮引数のない関数の定義で'void'が省略されています。 関数定義が typedef の使用に関して以前の宣言と異なっていたとき、メッセー ジ 3007 が誤って生成されることがありました。 3406: 外部結合をもつオブジェクト/関数 '%s' が、ヘッダファイルの中で定義されて います。 3480: 内部結合をもつオブジェクト/関数 '%s' が、ヘッダファイルの中で定義されて います。 オブジェクトがヘッダ・ファイル内の先行する宣言に続いてメインのソース・ ファイル内で仮定義(明示的な初期化子を伴わない)により定義されたとき、メ ッセージ 3406 および 3480 が誤って生成されていました。 Windows GUI では、相対パスの実装が 2 次解析の設定にも拡大されました。 Windows GUI では、[相対パスを適用]ウィンドウに表示の有効/無効切り替え用の 不適切なチェックボックスが表示されていました。 1012: [E] C++言語の参照型('型名 &')を使用すると、言語拡張として処理されます。 メッセージ 1012 はレベル 9(ハードエラー)のメッセージではなくなりました。 このメッセージはレベル 6(言語拡張)のメッセージとして分類し直されまし た。 Unix GUI ではエディタを kterm に指定したときの問題が修正されました。 Unix GUI では単一の値を-spragma で指定できるようになりました。 Unix GUI のパーソナリティ選択ダイアログは、パーソナリティのカレント・パ スから動作するようになりました。

© Copyright 2010 Programming Research / 東陽テクニカ

15

QA C 7.2.1J リリースノート CR 12857

T F

12858

F

12867

F

12895

F

12900

F

12905

F

12907

C

12909

F

12910

F

12915

F

12918

F

13000

F

13034

F

13060

F

13066

F

13107

C

13109

N

13118

N

13119

N

13120

F

13121

C

解決策 Unix GUI では、メトリックス・ブラウザで統計図の生成段階でファイルを選択 しても、選択内容が無視されていました。 Unix GUI では、xqac へのパラメータとして入力されたプロジェクトが正しく検 出されます。 回復可能なデータフロー解析失敗の後、STAV1 や STST1 などのメトリックス値 が計算されていませんでした。 Windows GUI では、マルチプロセッサ環境で 2 次解析を実行すると、EV/プロセ スの問題が原因で失敗することがありました。 Windows GUI では、ある状況下において相対パスの実装が失敗し、完全なプロ ジェクト・パスが正しく再作成できませんでした。 Windows GUI では、プロジェクト構成ファイルを手動で設定すると、設定内容 が保持されませんでした。 Windows GUI において、[構成] > [パーソナリティ] におけるフォルダ表示および プロジェクト適用のロジックを改善しました。 Windows GUI では、プロジェクト・ファイルを開く際に自動調整で加えられた 変更が告知されていませんでした。 Windows GUI では、プロジェクト・ファイルをダブルクリックして開くと、ル ート・パス(相対パスの実装において使用)が正しく更新されませんでした。 Windows GUI では、プロジェクトの自動作成において同じ名前のフォルダの有 無が誤って検査されていました。 met ファイル内のレコードのシンボリック・タイプ・コードは、 typedef が参照していた構造体タグではなく、typedef 名を誤って参照することが ありました。 省略記号'…'の後にスペースが続いている場合、可変個引数マクロの定義が解 析できませんでした。 Unix GUI の'Save Message Settings by'設定の処理に関して、メッセージ・パーソナ リティを修正しました。 メッセージに関連付けられた参照ルールは、小区分の見出しだけではなく全般 的に ISO 項目の見出しを引用するように改善されました。 Windows GUI において、相対パス実装では RP プロジェクトをバックアップ目的 で異なるファイル名に保存することができませんでした。 Windows GUI では、可能である場合にはパーサ・コマンドラインとライセン ス・サーバとのハンドシェイクを行いません。 Windows GUI では、アプリケーションおよびプロジェクト・レベルの環境変数 をすべての GUI 処理において定義し、使用することができます。 Windows GUI では、ベースライン解析がメニューの操作と解析を通して完全に 自動化されています。 Windows GUI ではソースファイル解析のために、ソース・ファイル、ヘッダ・ ファイル、および構成ファイルに対して従属関係のチェックを実行するように しました。 指定された初期化子を使用する初期化により、構文解析が失敗することがあり ました。 Windows GUI のカスタム・レポートと CMA 解析では、プロジェクトごとの管理 を改善するために置換パラメータの範囲が拡大されました。

© Copyright 2010 Programming Research / 東陽テクニカ

16

QA C 7.2.1J リリースノート CR

T

13129

F

13140

N

13144

F

13170 13172

F F

13203

F

13221

F

13222

F

13252

C

13254

C

13260

F

13282

C

13286

F

解決策 0660: [E] 構造体/共用体に名前の無いメンバを定義しています。これは言語拡張で す。 メッセージがレベル 6(言語拡張)に移動されました。 構造体または共用体の名 前のないメンバは言語拡張です。 Windows GUI では、PDF レポートおよび Structure101 のアドオン用にメニュー項 目が自動作成されます。 0431 [C] 関数実引数の型が、関数仮引数よりも厳密に修飾された型を指していま す。 0562 [C] 代入の右オペランドが、左オペランドよりも厳密に修飾された型を指して います。 0673 [C] 初期化子が、より厳密に修飾された型を指しています。 0757 [C] return 式の型が、より厳密に修飾された型を指しています。 ポインタが配列型の構造体/共用体メンバを指しているとき、メッセージ 0431,0562,0673,および 0757 が生成されないことがありました。 ネストされた複合リテラルにより構文解析エラーが発生していました。 Windows GUI ではビジュアル・コンポーネントの初期化の問題により、場合に よって起動が遅くなることがありました。 特殊な状況下において、ネストされたループ構成の中で回復可能なデータフロ ー解析の問題が発生していました。 Unix GUI のメトリックス・ブラウザでは、名前によるソートとメトリックスに よるソートに紛らわしいロジックが使われていました。 Unix GUI のメトリックス・ブラウザでは、アルファバット順にしたときの順序 が間違っていました。 3314: この制御式は代入式です。 メッセージ 3314 は switch 文の制御式に対して生成されなくなりました。 この メッセージの目的は、代入演算子(=)が等価演算子(==)の代わりに誤って使用さ れている状況を指摘することです。 3314: この制御式は代入式です。 代入演算子を故意に制御式で使用したとき、代入式を余分な(冗長な)括弧の組 で囲み、目的を明確にすることがオープンソース環境での慣例です。 この状 況ではメッセージ 3314 が生成されなくなりました。 初期化されていないループ・カウンタが for ループ構成内にあるとき、回復可 能なデータフロー解析の問題が発生していました。 0434: [C] 識別子 '%s' は、ここまでに宣言されていません。 0473: [Q] sizeof 演算の結果が、size_t 型の範囲に収まりません。 メッセージ 0434 および 0473 はレベル 9(ハードエラー)に分類し直されました。 Unix GUI には、プロジェクト・ファイルが削除された後で表示されるという紛 らわしいロジックがありました。

© Copyright 2010 Programming Research / 東陽テクニカ

17

QA C 7.2.1J リリースノート CR

T

13289

N

13290

N

13291

N

13306

F

13308

F

13326

C

13327

F

13330

F

13333

F

13335

F

解決策 システム・ライブラリに存在する識別子の再利用を指摘するために、新しいメ ッセージを導入しました。 4600: マクロ '%1s' は '<%2s>' 内でも定義されています。 4601: マクロ '%1s' が '<%2s>' 内で識別子の名前になっています。 4602: 識別子 '%1s' が '<%2s>' 内でマクロとして宣言されています。 4603: オブジェクトまたは関数 '%1s' は、 '<%2s>' 内で定義されている通常の識別子 と同じ名前で定義されています。 4604: オブジェクトまたは関数 '%1s' は、 '<%2s>' 内で定義されている通常の識別子 と同じ名前で宣言されています。 4605: typedef '%1s' は '<%2s>' 内でも定義されています。 4606: typedef '%1s' は、'<%2s>' 内の他の通常の識別子と同じ名前を持っています。 4607: 列挙定数 '%1s' は、'<%2s>' 内の他の通常の識別子と同じ名前を持っていま す。 4608: タグ '%1s' は '<%2s>' 内でも定義されています。 実装定義済み型と関連マクロのために予約されている識別子の使用を指摘する ために、新しいメッセージを導入しました。 4620: マクロ '%1s' は '<%2s>' 内でマクロとしても定義されている可能性がありま す。 4621: マクロ '%1s' は '<%2s>' 内で typedef としても定義されている可能性がありま す。 4622: 識別子 '%1s' は '<%2s>' 内でマクロとしても定義されている可能性がありま す。 4623: typedef '%1s' は '<%2s>' 内でも定義されています。 4624: 通常の識別子 '%1s' は '<%2s>' の中で typedef としても定義されている可能性が あります。 今後のライブラリ使用のために予約されている識別子の使用を指摘するため に、新しいメッセージを導入しました。 4640: マクロ '%1s' は、'<%2s>' 内のマクロ名と今後衝突する可能性があります。 4641: 識別子 '%1s' は、'<%2s>' 内のマクロ名と今後衝突する可能性があります。 4642: マクロ '%1s' は、'<%2s>' 内の関数名と今後衝突する可能性があります。 4643: 識別子 '%1s' は、'<%2s>' 内の関数名と今後衝突する可能性があります。 4644: マクロ '%1s' は、'<%2s>' 内の typedef 名と今後衝突する可能性があります。 4645: 識別子 '%1s' は、'<%2s>' 内の typedef 名と今後衝突する可能性があります。 Windows GUI では非常に大きいプロジェクトの解析中に、まれにプロセス失敗 が発生していました。 データフロー解析では、一部の複雑な値のドメインを正しく解析できず、不変 式を指摘できませんでした。 Unix GUI のカスタム・レポートでは、プロジェクトごとの管理を改善するため に置換パラメータの範囲が拡大されました。 Unix GUI では一部のプロジェクト・ファイル・リスト表示において、スクロー ルの量を不適切に計算していました。 0586: 定数のゼロで除算しています。 メッセージ 0586 は、#elif 式で予期されるときに生成されないことがありまし た。 Unix GUI のメトリックス・ブラウザでは、印刷する際に postcript ファイルの一 部が切り捨てられていました。 Windows GUI では、アナライザ・パーソナリティの[行の最大長]フィールドに負 の数値を入力することが可能でした。

© Copyright 2010 Programming Research / 東陽テクニカ

18

QA C 7.2.1J リリースノート CR

T

13344

F

13351

F

13357

F

13368

F

13424

F

解決策 無限ループを含む構造化されていないコードにおいて、特殊な状況下で回復可 能なデータフローの問題が発生しました。 データフロー解析では、一部の複雑な値のドメインを正しく解析できませんで した。 データフロー解析では、一部の複雑な値のドメインを正しく解析できませんで した。 コマンドラインで定義されたマクロを使用して"main"キーワードを再定義しよ うとすると、構文解析が失敗していました。 メッセージ・パーソナリティのサイズを変更していくつかの設定を隠すことが 可能でした。

4. その他の注意事項 4.1. 日本語メッセージ メッセージの用語統一や表現の見直しに伴って文言が変更されたメッセージがあります。 (変更の詳細は、/qac_diff.txt をご確認ください。) メッセージの文言が変更されている場合でも、機能的な変更が加えられているわけではありま せんので注意してください。

機能的な変更が加えられたメッセージは「2 メッセージの変更」を参照してください。

4.2. 既知の問題 日本語版における既知の問題を以下に記します No. 1

2

OS 問題内容 対策 全 プ ラ ッ ディレクトリ名やファイル名に漢字 QA C では、漢字コードをより適切に扱う ト フ ォ ー コードが含まれている場合、異なる ための方法を包括的に見直している最中 文字コードでエンコーディング指定 です。ご不便をお掛けしますが、現時点 ム (EN オプション)をすると、*.c.met フ ではディレクトリ名やファイル名に漢字 ァイルに出力されるファイル名が文 コードを含めないようにしてください。 字化けします。 全 プ ラ ッ ト メッセージブラウザのメッセージヘルプ 不具合として PRL に報告いたしましたが、 フォーム タ ブ 内 で 、 HTML の を選択しても、メー ません。 ラーが起動されることはありません。

4.3. Windows 7 QA C 7.2.1J では、Windows XP 以降に実装された機能や削除された機能に対する対処が十分に行 われておりません。メーカーや弊社での動作検証で、解析処理は正しく行われることが確認で きていますが、いくつかの機能(特に GUI からの表示機能)に影響があることが判明していま す。 現在判明している問題は次の 3 点です。

© Copyright 2010 Programming Research / 東陽テクニカ

19

QA C 7.2.1J リリースノート •

ライセンス・マネージャがサービスとして登録できません。ノードロック・ライセンス を Windows 7 で使用される場合は、ライセンス・マネージャをコントロール・パネルのタ スクから「コンピュータ起動時」のタスクとして、ライセンス・マネージャを追加登録 する必要があります。詳しくは、技術サポートまでお問い合わせください。



従来の 32bit 用 Windows ヘルプ(WinHelp32.exe)がサポートされないため、QA C のオンライン ヘルプが正しく表示されません。Microsoft から提供される WinHelp32.exe をインストールし ても、いくつかの機能が正しく動作いたしません。Windows 7 用のWinHelp32.は、以下の URL からインストーラをダウンロードしてください。 http://www.microsoft.com/downloads/details.aspx?FamilyID=258aa5ec-e3d9-4228-8844008e02b32a2c&DisplayLang=ja



UAC(ユーザアカウント制御)機能により、C:\Program Files フォルダにファイルを書き込も うとした場合、%LocalAppData%\Virtual Store\Program Files フォルダに書き込まれてしまいま す。この影響で、テキスト形式の結果を表示させようとしてもファイルを見つけること ができずエラーになってしまいます。HTML ファイルの場合は、Internet Explorer が UAC に 対応していますので、正しく表示することができます。この問題は、インストール先を、 C:\Program Files ではなく、ユーザが新規に作成したフォルダ(例えば C:\PRQA\QAC-7.2.1J)に することでほぼ解決します。

5. 株式会社東陽テクニカへのお問い合わせ 株式会社東陽テクニカは、Programming Research 社の日本国内における総代理店です。日本国内 でのお問合せについては、株式会社東陽テクニカへお願いします。

株式会社東陽テクニカ ソフトウェア・ソリューション 郵便番号: 〒103-8284 住所:

東京都中央区八重洲 1-1-6

電話:

03-3279-0771 (代表)

FAX:

03-3246-0645

e-mail(営業窓口):

[email protected]

e-mail(サポート窓口):

[email protected]

e-mail(ライセンス窓口):

[email protected]

6. Programming Research Limitedへのお問合せ 以下に示す Programming Research Ltd.の本社に直接お問合せいただくこともできます。 電話:

+44 (0) 1 932 888 080

FAX :

+44 (0) 1 932 888 081

e-mail:

[email protected]

© Copyright 2010 Programming Research / 東陽テクニカ

20

QA C 7.2.1J リリースノート

7. 保証の免責 株式会社東陽テクニカおよび Programming Research Ltd.は、作成時に細心の注意を払って本書を 正確に記述することに努めておりますが、本書内の誤りや欠落に関する責任は負いかねます。 また、本書内の記述通りに製品が動作することを表現かつ意味する保証書として作成された文 書ではないことをお断りしておきます。 英文: The staff of Toyo corporation and Programming Research Ltd. have taken due care in preparing this document which is believed to be accurate at the time of printing. However, no liability can be accepted for errors or omissions nor should this document be considered as an expressed or implied warranty that the products described perform as specified within.

© Copyright 2010 Programming Research / 東陽テクニカ

21

Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2019 USDOC.SITE - All rights reserved.