メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MISRA C:2023 Rule 23.8

A default association shall appear as either the first or the last association of a generic selection

R2024a 以降

説明

ルール定義

A default association shall appear as either the first or the last association of a generic selection 1 .

This rule comes from MISRA C™:2012 Amendment 3.

根拠

default 関連が総称選択の最初または最後の関連である場合、読みやすく、わかりやすいコードになります。

Polyspace 実装

_Generic ステートメントの default 関連が最初または最後いずれの関連でもない場合、Polyspace® はこのルールの違反を報告します。

トラブルシューティング

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

すべて展開する

この例では default 関連が get_type_id の最初または最後いずれの関連でもありません。Polyspace はこのルールの違反を報告します。

 #define get_type_id(x) ( _Generic((x) /* Noncompliant */ \
                        , char : 0       \
                        , default : 3    \
	                    , int  : 1      ))


void foo() {
	int x, y;
	y = get_type_id(x);
}

チェック情報

グループ: 総称選択
カテゴリ: 必要
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.