This diagnostic rule is based on the software development guidelines developed by AUTOSAR (AUTomotive Open System ARchitecture).
The analyzer issues the warning when it detects a union declaration.
Incorrect use of unions may cause various problems, such as reading incorrect values or undefined behavior.
For example, undefined behavior occurs when attempting to read from a member other than the one that the latest write operation was performed on.
Here is an example of code triggering this warning:
union U
{
unsigned char uch;
unsigned int ui;
} uni;
....
uni.uch = 'w';
int ui = uni.ui;
This diagnostic is classified as:
|