[previous] 0301 [next] [u] Cast between a pointer to object and a floating type.
Implicitly undefined REFERENCE - ISO:C90-6.3.4 Cast Operators - Semantics

A cast has been performed from a pointer to object type to a floating type ( or vice versa ). This is meaningless.

For example:


/*PRQA S 2017,3199,3203,3227,3408,3673 ++*/

extern void foo(float fta, int *pia)
{
    float ftb;
    int * pib;

    ftb = (float)pia;                   /* Message 0301 */
    pib = (int *)fta;                   /* Message 0301 */
}


MISRA C:2012 Rules applicable to message 0301:

Rule-1.3  (Required) There shall be no occurrence of undefined or critical unspecified behaviour
Rule-11.7  (Required) A cast shall not be performed between pointer to object and a non-integer arithmetic type


QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents