Valid typedef name rule for float/double data type

Moderators: misra-c, david ward

Post Reply
Anitha Rajasekar
Posts: 2
Joined: Wed May 24, 2017 2:27 pm
Company: Visteon

Valid typedef name rule for float/double data type

Post by Anitha Rajasekar » Tue Jun 13, 2017 8:17 am

We are appending some prefix for the typedef name as below
typedef float UI_FLOAT_32.

It shows the warning for the above line of code as
1. misra_violation: [Advisory] MISRA C-2012 Directive 4.6 violation: typedefs that indicate size and signedness should be used in place of the basic float numerical type.

MISRA Violation
Typedefs Of Basic Types With Names That Do Not Indicate Size And Signedness
MISRA advises compliance with this rule.

The same issue is not coming if we use FLOAT32..
Is there any rule for the typedef name used for float and double.

misra-c
Posts: 556
Joined: Thu Jan 05, 2006 1:11 pm

Re: Valid typedef name rule for float/double data type

Post by misra-c » Thu Sep 21, 2017 11:11 am

Guideline 4.6 is a directive rather than a rule. Section 6.1 of the MISRA-C 2012 document says
A directive is a guideline for which it is not possible to provide the full description necessary to perform a check for compliance.
...
Static analysis tools may be able to assist in checking compliance with directives but different
tools may place widely different interpretations on what constitutes a non-compliance.
As a minimum the name should include the size and in the case of integer types it should include the signedness.

Both UI_FLOAT_32 and FLOAT32 meet the requirements for directive 4.6, BUT a tool is permitted to have a different interpretation on what constitutes a non-compliance.
---
Posted by and on behalf of
the MISRA C Working Group

Post Reply

Return to “7.4 Code design”