MISRA Discussion Forums

Full Version: Dir 4.8 If no pointer is declared but implementation is visible
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
For Dir 4.8 the document is not clear about whether the following case should be considered as non-compliant.

/* def.h */
struct SomeType
{
/* Object implementation */
}

/* no-use.c */
#include def.h
/* Do something. But no use of SomeType at all. */

The example doesn't involve any pointer but indeed goes against the rationale since the implementation details of SomeType is not needed in no-use.c and it should at least be opaque. Also, logically, "no pointer" implies "a pointer is never dereferenced", since there is no such pointer to begin with.

Please kindly help to advise. Thanks!
Directive 4.8 does not apply in this situation as there is no object in the translation unit with a type of pointer to "struct SomeType".