[previous] 0361 [next] An expression of pointer type is being cast to type _Bool.
Pointers REFERENCE - ISO:C99-6.3.1.2 Boolean type

This message is issued whenever an expression of pointer type has been cast to Boolean type.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 0361 --*/

void foo (_Bool b);

_Bool f0361 (int * a)
{
  foo ((_Bool) a);              /* 0361 */

  foo ((_Bool) (a + 1));        /* 0361 */

  return ((_Bool) (&(a [1])));  /* 0361 */
}


MISRA-C:2004 Rules applicable to message 0361:

Rule  11.3  (Advisory) A cast should not be performed between a pointer type and an integral type.


See also:

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