メインコンテンツ

MISRA C:2012 Rule 20.2

The ', " or \ characters and the /* or // character sequences shall not occur in a header file name

説明

ルール定義

The ', " or \ characters and the /* or // character sequences shall not occur in a header file name 1 .

根拠

以下の場合、プログラムの動作は未定義です。

  • ヘッダー名の前処理トークン内の < > 区切り記号の間で '"\/* または // が使用されている。

  • ヘッダー名の前処理トークン内の " 区切り記号の間で '\/* または // が使用されている。

\ により未定義の動作が発生しますが、多くの実装で / が代わりに受け入れられています。

Polyspace 実装

Polyspace®#include <filename> において、<> との間にある文字 '"\/* または // にフラグを立てます。

Polyspace は #include "filename" において、"" との間にある文字 '\/* または // にフラグを立てます。

レポート内の追加のメッセージ

The ', "or \ characters and the /* or // character sequences shall not occur in a header file name.

トラブルシューティング

ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。

チェック情報

グループ: プリプロセッサ命令
カテゴリ: 必要
AGC カテゴリ: 必要

1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.

The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:

  • MISRA C:2004

  • MISRA C:2012

  • MISRA C:2023

  • MISRA C++:2008

  • MISRA C++:2023

MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.