# V3509. AUTOSAR. Unions should not be used.

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:

AUTOSAR-M9.5.1