メインコンテンツ

MISRA C:2023 Rule 8.14

The restrict type qualifier shall not be used

R2024a 以降

説明

ルール定義

The restrict type qualifier shall not be used 1 .

根拠

restrict 修飾子を慎重に使用すれば、コンパイラが生成するコードの効率性が向上します。静的解析も向上します。ただし、restrict 修飾子を使用する場合、2 つ以上のポインターによって操作されるメモリ領域がオーバーラップしないようにすることは困難です。

Polyspace 実装

ルール チェッカーでは、restrict 修飾子のすべての使用にフラグを設定します。

トラブルシューティング

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

すべて展開する

void f(int n, int * restrict p, int * restrict q)/*Noncompliant*/ 
{
}

この例では、restrict 修飾子の両方の使用にフラグが設定されます。

チェック情報

グループ: 宣言と定義
カテゴリ: 必要
AGC カテゴリ: 推奨

バージョン履歴

R2024a で導入


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.