C and C++


LANG.STRUCT.MNR : Missing noreturn Specifier

要旨

A function can never return, but is not declared as such with one of the following.

プロパティ

クラス名 Missing noreturn Specifier
日本語クラス名 Missing noreturn Specifier
クラス分類 スタイル (style)
ニーモニック LANG.STRUCT.MNR
カテゴリー
MisraC2023 MisraC2023:17.11 A function that never returns should be declared with a _Noreturn function specifier
Misra2012 Misra2012:17.11 A function that never returns should be declared with a _Noreturn function specifier
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Missing noreturn Specifier"

#include <stdnoreturn.h>

void my_exit(void){          /* 'Missing noreturn specifier' warning issued here */
    exit(0);
}

void my_infinite_loop(void){ /* 'Missing noreturn specifier' warning issued here */
  while (1) { 0; }
}

_Noreturn void noret_infinite_loop(void){       /* ok: has _Noreturn specifier */
  while (1) { 0; }
}

解決法

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。