Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V2627. MISRA. Function type should...
menu mobile close menu
Additional information
toggle menu Contents

V2627. MISRA. Function type should not be type qualified.

Feb 07 2025

This diagnostic rule is based on the MISRA (Motor Industry Software Reliability Association) software development guidelines.

This diagnostic rule is relevant only for C.

The analyzer has detected that a function type is declared in the code using const, volatile, restrict or _Atomic qualifiers. When such a type is used, the program behavior is undefined.

Note. The rule checks the declared function type, not the return type.

The code example where the analyzer issues warnings:

typedef int fun_t(void);

typedef const fun_t qual_fun_t;          // <=

typedef const fun_t * ptr_to_qual_fun_t; // <=

void foo()
{
  const fun_t c_fun_t;                   // <=
  const fun_t * ptr_c_fun_t;             // <=
}

To ensure proper functionality, the 'const' qualifier should be removed when declaring the function type. The fixed code:

typedef int fun_t(void);

typedef fun_t qual_fun_t;          // ok

typedef fun_t * ptr_to_qual_fun_t; // ok

void foo()
{
  fun_t c_fun_t;                   // ok
  fun_t * ptr_c_fun_t;             // ok
}

This diagnostic is classified as:

  • MISRA-C-17.13
close form
check circle
Message submitted.

Your message has been sent. We will email you at


If you do not see the email in your inbox, please check if it is filtered to one of the following folders:

  • Promotion
  • Updates
  • Spam